sendCustomPulseTrain()

Description

Sends a sequence of onset times and voltages describing a train of pulses.

  • The train can be mapped to any output channel by specifying a custom train ID in the output channel's parameters.

  • Two custom trains can be created, with 1,000 pulses each (PulsePal r0.4).

  • While this function allows custom onset times, the duration of each pulse in the custom train is set by adjusting each output channel's parameters.

  • Pulses that are continuous or overlapping will merge (see the Parameter guide).

  • If set to biphasic pulses, the voltage specified for each pulse is sign-inverted for the second phase (i.e. if +5V for phase 1, -5V is used automatically for phase 2).

Syntax

sendCustomPulseTrain(customTrainID, pulseTimes, pulseVoltages)

Parameters

  • customTrainID: The custom pulse train to program (1 or 2)

  • pulseTimes: An array of pulse onset times in seconds (datatype = list)

  • pulseVoltages: An array containing one voltage for each pulse (datatype = list)

Returns

None

Example

pulseTimes = [0, 0.2, 0.5, 1] # Create an array of pulse times in seconds

voltages = [8,4,-3.5,-10] # Create an array of pulse voltages in volts

myPulsePal.programOutputChannelParam('customTrainID', 1, 2) # Set output ch1 to use custom train 2

myPulsePal.sendCustomPulseTrain(2, pulseTimes, voltages) # Send arrays to PulsePal, defined as custom train 2

myPulsePal.triggerOutputChannels(1, 0, 0, 0) # Soft-trigger output channel 1 to play its pulse train