Skip to main content

INFO

Syntax​

INFO

Description​

Returns the complete state of the board in a single line: firmware and protocol versions, state, acquisition, headstage, channels, sampling rate, owner and network address. It is the first command to send when you connect, and the one to send again whenever an event tells you that something changed.

Response​

OK INFO fw=<version> proto=<n> stream=<n> state=<state> mode=<mode> acq=<run|stop> setup=<0|1> config_id=<n> hs=<hs-state> chip=<model> hs_channels=<n> channels=<n> fs=<Hz> max_channels=<n> script=<script-state> dest=<ip|none> ip=<ip>
FieldDescription
fwFirmware version.
protoVersion of the text protocol (currently 1).
streamVersion of the data stream format (currently 1).
stateBoard state: wait_net, wait_headstage, headstage_fault, needs_setup, ready, running, busy. See Session and Ownership.
modeAcquisition mode — see SET_CHIP_MODE.
acqrun while acquisition is running, otherwise stop.
setup1 once SETUP has been done for the current configuration.
config_idIdentifier of the current settings. Changes whenever a setting really changes.
hsHeadstage state: ABSENT, DETECTED, READY or FAULT.
chipOpaque model identifier of the connected headstage (do not rely on its value).
hs_channelsNumber of channels of the headstage (0 until it is READY).
channelsNumber of channels actually streamed (can be lower than hs_channels, see SET_CHANNELS).
fsSampling rate in Hz, per channel.
max_channelsLargest channel count the device can stream.
scriptStudio program state: idle, uploading, loaded, running or error.
destIP address of the board's owner (stream and events), or none.
ipIP address of the board.

Replies may carry additional key=value fields. Ignore the ones you do not know.

Example​

info.py
from hmcls_udp import Board

board = Board("192.168.1.11")
info = board.request("INFO")

print("state:", info["state"], "- channels:", info["channels"], "- fs:", info["fs"], "Hz")
if info["state"] == "needs_setup":
board.request("SETUP", timeout=5.0)