Skip to main content

Acquisition Blocks

The HMCLS device acquires neural signals from up to 32 channels simultaneously (16 or 32, depending on the connected headstage).

Block Reference​

BlockSectionDescription
Headstage setupSetupConfigures the acquisition hardware. Must run first.
SPEED (sample rate)SetupSets sample rate (1–65535; lower = faster).
RMS onSetupStarts the RMS computation window.
ACQ startSetupStarts the acquisition pipeline.
ACQ stopLoopStops acquisition.
RMS offLoopStops RMS computation.
RMS ready → varLoopWrites 1 into var when the RMS window is full.
RMS get → varLoopReads channel RMS amplitude into a variable.
TIME get → variableLoopReads elapsed ms since ACQ start. Returns 0 if not running.
CHANNELS get → variableLoopReads the number of channels being acquired.
SPIKE get → variablesLoopReads last spike on a channel: amplitude + timestamp.

Typical Setup Sequence​

SETUP
Acquisition
headstage setup
Acquisition
SPEEDrate1000
Acquisition
RMS on
Acquisition
ACQ start
LOOP ~1 kHz
Acquisition
RMS getch0→rms_val
Acquisition
SPIKE getch0→ ampamplitudetstimestamp

SPIKE get​

Reads the most recent spike event recorded on a specific channel.

ParameterRangeDescription
channel0 to channels − 1Which channel to read
amplitude variableany declared variableReceives the spike amplitude
timestamp variableany declared variableReceives time (ms since ACQ start)

This block is loop only. It returns the last detected spike regardless of when it fired. Use an if flag block (flag 33+channel) to check if a new spike occurred before calling SPIKE get.

CHANNELS get​

Writes the number of channels currently acquired (16 or 32 depending on the headstage, or the limit set by the application) into a variable. Use it to size loops that go through every channel instead of hard-coding 32.

This block is loop only.