Experiment Control
 
Spike2 is an excellent tool for general purpose capture and analysis of experiment data. However, it can also control your experiment and respond to changes in the incoming data.
 
Stimulate - Control - Respond
Spike2 can generate stimulus sequencing and complex experiment control in real time during data capture using its built-in output sequencer and a CED 1401 interface. To ensure accuracy, digital and analogue output timing is controlled directly by the 1401 and does not rely on the host PC. Additional control is available when using the Spike2 script language.
 

Stimulus generation and on-line measurement of evoked response
Output sequencer
The sequencer controls up to 8 waveform and 16 digital outputs from a CED 1401 interface. A graphical editor gives a user-friendly display of the selected outputs for fast and easy creation of stimulus protocols. There is also a text editor which gives direct access to the sequencer instruction code for more complex output and control requirements.
 

Graphical sequence editor
Waveform output
In addition to generating voltage pulses, ramps and cosine waves through the DACs, Spike2 can also play arbitrary waveforms.
 

Dual waveform output of cricket song data and tone pip
Stimulus sequencing
Pulse outputs can be defined as separate sections in the output sequencer, allowing the user to define many different pulse protocols. The sequencing of outputs can be controlled manually or automated using the control commands available from the sequencer or script language.
 
Control using the text editor
The text editor gives full access to all capabilities of the output sequencer. As well as the standard instructions for general digital and analogue output control, the text editor can make more efficient use of flow-of-control statements and has a number of additional commands for specialist operations. The text editor allows the user to set variables and expressions for sequencer instructions in place of fixed values.
 

Custom pulse generation from a script and text sequence
Script language and sequencer interaction
The output sequencer can be controlled interactively or automatically using the built-in control commands. However, there are times when it is necessary to read and update output values in real time. For this kind of situation the output sequencer can be controlled by the Spike2 script language.
 
A script interacts with the sequencer by sending and receiving variables which represent waveform amplitudes, digital states and timing values. Larger blocks of data, such as a list of pre-recorded spike intervals for stimulus output or a series of event times calculated to produce a linear frequency ramp, can be transferred using the built-in sequencer table.
 
As an example, in S1-S2 heart pacing protocols where the interval between pulses is progressively reduced until it reaches a defined time or the stimulus induces arrhythmia, a script and sequence combination can provide complete experiment control. The sequencer controls the real-time generation and timing of the pacing pulses while the script acts as a high level 'supervisor', allowing user interaction and updating the sequencer values in response to changes in the incoming data. Once arrhythmia is detected, the script automatically stops the stimulus output.
 

Example of S1 - S2 stimulus protocol generated using a script and text sequence
CED hardware
Use of the output sequencer requires one of the family of 1401 intelligent laboratory interfaces.
 

The Micro1401 and Power1401