onix.h

ONIX hardware-specific definitions that extend the liboni and are outside the scope of the ONI API specification. This file is not needed to use the API (oni.h, onidriver.h, etc.).

Maximum Device ID

MAXDEVID

(99999) Maximum reserved onix_device_id_t the ONIX project for compile time compatibility detection. This value is equivalent to onix_device_id_t.ONIX_MAXDEVICEID.

Tip

We have defined the maximum device ID for the ONIX project to be 99,999. Third-party device implementations can use any ID larger than this number and withough clashing with current and future ONIX device defintions. If you wish to have your ID incorporated in the “official” ONIX device enumeration (onix_device_id_t), please get in touch using the Contact page.

ONIX Devices

Device definitions for ONIX hardware. These definitions are allowances of the ONI specification and are not required to use the API.

Attention

Many of the devices in this enumeration have no ready-made route to use in high-level software. This is true for a variety of reasons. For instance, they may be prototype hardware or test fixture that we wish to maintain for backward compatibility (e.g. ONIX_TESTREG0). Or, they may be a low level device (e.g. ONIX_AD7617) that is used in the background by other, higher order devices in the list (e.g. ONIX_FMCANALOG1R3).

enum onix_device_id_t
ONIX_NULL

(0) Placeholder device

ONIX_INFO

(1) Virtual device that provides status and error information

ONIX_RHD2132

(2) Intan RHD2132 bioamplifier

ONIX_RHD2164

(3) Intan RHD2162 bioamplifier

ONIX_ESTIM

(4) Electrical stimulation subcircuit

ONIX_OSTIM

(5) Optical stimulation subcircuit

ONIX_TS4231

(6) Triad semiconductor TS421 optical to digital converter

ONIX_DINPUT32

(7) 32-bit digital input port

ONIX_DOUTPUT32

(8) 32-bit digital output port

ONIX_BNO055

(9) BNO055 9-DOF IMU

ONIX_TEST0

(10) A test device used for debugging

ONIX_NEUROPIX1R0

(11) Neuropixels 1.0

ONIX_HEARTBEAT

(12) Host heartbeat

ONIX_AD51X2

(13) AD51X2 digital potentiometer

ONIX_FMCVCTRL

(14) Open Ephys FMC Host Board rev. 1.3 link voltage control subcircuit

ONIX_AD7617

(15) AD7617 ADC/DAS

ONIX_AD576X

(16) AD576X DAC

ONIX_TESTREG0

(17) A test device used for testing remote register programming

ONIX_BREAKDIG1R3

(18) Open Ephys Breakout Board rev. 1.3 digital and user IO

ONIX_FMCCLKIN1R3

(19) Open Ephys FMC Host Board rev. 1.3 clock input subcircuit

ONIX_FMCCLKOUT1R3

(20) Open Ephys FMC Host Board rev. 1.3 clock output subcircuit

ONIX_TS4231V2ARR

(21) Triad semiconductor TS421 optical to digital converter array targeting V2 base-stations

ONIX_FMCANALOG1R3

(22) Open Ephys FMC Host Board rev. 1.3 analog IO subcircuit

ONIX_FMCLINKCTRL

(23) Open Ephys FMC Host Board coaxial headstage link control circuit

ONIX_DS90UB9RAW

(24) Raw DS90UB9x deserializer

ONIX_MAXDEVICEID

(MAXDEVID) Final reserved device ID. Always on bottom

Functions

const char *onix_device_str(int dev_id)

Returns a human-readable description from a given onix_device_id_t.

Parameters
Returns

A C string containing the device description, which could simply be “Unknown device” if the device is not a member of onix_device_id_t.