This documentation supports the latest PCIe host firmware, the latest OpenEphys.Onix1 package, and Bonsai 2.9+.

Table of Contents

ConfigureHeadstage64

sink Operator

Configures an ONIX multifunction 64-channel headstage on the specified port.

Headstage-64 is a 1.5g serialized, multifunction headstage designed to function with passive probes such as tetrode microdrives, silicon arrays, EEG/ECOG arrays, etc. It provides the following features:

  • 64 electrophysiology channels and 3 auxiliary channels sampled at 30 kHz per channel.
  • A BNO055 9-axis IMU for real-time, 3D orientation tracking.
  • Three TS4231 light to digital converters for real-time, 3D position tracking with HTC Vive base stations.
  • A single electrical stimulator (current controlled, +/-15V compliance, automatic electrode discharge).
  • Two optical stimulators (800 mA peak current per channel).

ConfigureHeadstage64 Workflow

Inputs & Outputs

Configure all devices in the device group.

This will schedule configuration actions to be applied by a StartAcquisition instance prior to data acquisition.

A sequence of ContextTask instances that hold configuration actions.

right-arrow
representation of a sink operator
right-arrow

The original sequence modified by adding additional configuration actions required to configure all the devices in the device group.

Properties

Headstage64

These are properties of the ConfigureHeadstage64 Device Group configuration operator:

Property Type Description
Port PortName

Gets or sets the port.

The port is the physical connection to the ONIX breakout board and must be specified prior to operation.

PortA = 1
PortB = 2
Name string

Gets or sets a unique device group name.

A human-readable identifier that is used as a prefix for the DeviceName of each device in the the group.

Bno055

Bno055 is a ConfigureBno055 device operator contained by the ConfigureHeadstage64 operator with the following properties:

Property Type Description
Enable bool

Gets or sets the device enable state.

If set to true, a Bno055Data instance that is linked to this configuration will produce data. If set to false, it will not produce data.

ElectricalStimulator

ElectricalStimulator is a ConfigureHeadstage64ElectricalStimulator device operator contained by the ConfigureHeadstage64 operator with the following properties:

Property Type Description
Arm bool

Gets or sets the device arm state.

If set to true, then the electrical stimulator's ±15V power supplies will be turned on and the electrical stimulator circuit will respect triggers. If set to false, the power supplies will be shut down and triggers will be ignored. It takes ~10 milliseconds for the power supplies to to stabilize.

BurstPulseCount uint

Gets or sets the number of pulses per burst.

InterBurstInterval uint

Gets or sets the duration of the inter-burst interval within a stimulus train in μsec.

InterPhaseCurrent double

Gets or sets the amplitude of the interphase current of each pulse in μA.

InterPhaseInterval uint

Gets or sets the duration of the interphase interval of each pulse in μsec.

InterPulseInterval uint

Gets or sets the duration of the inter-pulse interval within a single burst in μsec.

PhaseOneCurrent double

Gets or sets the amplitude of the first phase of each pulse in μA.

PhaseOneDuration uint

Gets or sets the duration of the first phase of each pulse in μsec.

PhaseTwoCurrent double

Gets or sets the amplitude of the second phase of each pulse in μA.

PhaseTwoDuration uint

Gets or sets the duration of the second phase of each pulse in μsec.

TrainBurstCount uint

Gets or sets the number of bursts in a stimulus train.

TriggerDelay uint

Gets or sets a delay from receiving a trigger to the start of stimulus sequence application in μsec.

OpticalStimulator

OpticalStimulator is a ConfigureHeadstage64OpticalStimulator device operator contained by the ConfigureHeadstage64 operator with the following properties:

Property Type Description
Arm bool

Gets or sets the device arm state.

If set to true, then the optical stimulator circuit will respect triggers. If set to false, triggers will be ignored.

BurstCurrent double

Gets total direct current required during the application of a burst.

This value should be kept below 50 mA to prevent excess head accumulation on the headstage.

BurstsPerTrain uint

Gets or sets the number of bursts in a stimulus train.

ChannelOneCurrent double

Gets or sets the percent of MaxCurrent that will delivered to channel 1 in each pulse.

ChannelTwoCurrent double

Gets or sets the percent of MaxCurrent that will delivered to channel 2 in each pulse.

Delay double

Gets or sets a delay from receiving a trigger to the start of stimulus sequence application in msec.

InterBurstInterval double

Gets or sets the duration of the inter-burst interval within a stimulus train in msec.

MaxCurrent double

Gets or sets the Maximum current per channel per pulse in mA.

This value defines the maximal possible current that can be delivered to each channel. To get different amplitudes for each channel use the ChannelOneCurrent and ChannelTwoCurrent properties.

PulseDuration double

Gets or sets the duration of each pulse in msec.

PulsesPerBurst uint

Gets or sets the number of pulses per burst.

PulsesPerSecond double

Gets or sets the pulse frequency within a burst in Hz.

PortVoltage

PortVoltage is a AutoPortVoltage device operator contained by the ConfigureHeadstage64 operator with the following properties:

Property Type Description
Applied double?

Gets or sets the last applied port voltage

Requested double?

Gets or sets a value the requested port voltage. If null, the voltage will be set automatically.

Rhd2164

Rhd2164 is a ConfigureRhd2164 device operator contained by the ConfigureHeadstage64 operator with the following properties:

Property Type Description
AnalogHighCutoff Rhd2164AnalogHighCutoff

Gets or sets the high cutoff frequency of the analog (pre-ADC) bandpass filter.

High20000Hz = 0
High15000Hz = 1
High10000Hz = 2
High7500Hz = 3
High5000Hz = 4
High3000Hz = 5
High2500Hz = 6
High2000Hz = 7
High1500Hz = 8
High1000Hz = 9
High750Hz = 10
High500Hz = 11
High300Hz = 12
High250Hz = 13
High200Hz = 14
High150Hz = 15
High100Hz = 16
AnalogLowCutoff Rhd2164AnalogLowCutoff

Gets or sets the low cutoff frequency of the analog (pre-ADC) bandpass filter.

Low500Hz = 0
Low300Hz = 1
Low250Hz = 2
Low200Hz = 3
Low150Hz = 4
Low100Hz = 5
Low75Hz = 6
Low50Hz = 7
Low30Hz = 8
Low25Hz = 9
Low20Hz = 10
Low15Hz = 11
Low10Hz = 12
Low7500mHz = 13
Low5000mHz = 14
Low3000mHz = 15
Low2500mHz = 16
Low2000mHz = 17
Low1500mHz = 18
Low1000mHz = 19
Low750mHz = 20
Low500mHz = 21
Low300mHz = 22
Low250mHz = 23
Low100mHz = 24
DspCutoff Rhd2164DspCutoff

Gets or sets the cutoff frequency for the digital (post-ADC) high-pass filter used for amplifier offset removal.

The amplifiers on the RHD2164 chip, past the analog filter, introduce a DC offset that varies with each channel. The Rhd2164DspCutoff exists to remove this DC offset and ensure that all signals are centered at zero. With it disabled, all the signals will appear centered at different values.

Differential = 0
Dsp3309Hz = 1
Dsp1374Hz = 2
Dsp638Hz = 3
Dsp308Hz = 4
Dsp152Hz = 5
Dsp75Hz = 6
Dsp37Hz = 7
Dsp19Hz = 8
Dsp9336mHz = 9
Dsp4665mHz = 10
Dsp2332mHz = 11
Dsp1166mHz = 12
Dsp583mHz = 13
Dsp291mHz = 14
Dsp146mHz = 15
Off = 16
Enable bool

Gets or sets the device enable state.

If set to true, a Rhd2164Data instance that is linked to this configuration will produce data. If set to false, it will not produce data.

TS4231

TS4231 is a ConfigureTS4231V1 device operator contained by the ConfigureHeadstage64 operator with the following properties:

Property Type Description
Enable bool

Gets or sets the device enable state.

If set to true, a TS4231V1Data instance that is linked to this configuration will produce data. If set to false, it will not produce data.