DeviceHardware
Hardware generation of a headset, as the device itself reports it in the Device Information Service Model Number string (0x2A24): a decimal code shared with the BrainAccess C core (ba_device_model in device_model.h) and written by the firmware (device_information_api.h, device_number_list).
The advertised name ("BA HALO 108") only says which montage the headset has (DeviceModel). The code says which sensors sit in the stream-packet footer and how they scale: a HALO V3 has an IMU that the earlier HALOs lack, and the V3 IMU (ICM-42670-P) counts 64× finer than the ADXL343 on the V2 boards. Every byte after the EEG payload depends on this, so the decoder and the unit conversion both key on it — exactly as the C core does (DeviceFeatures.h, eeg_manager.cpp PutAccelerometerData / PutGyroData).
Code 3 (EMG) is a montage this SDK does not model and resolves to null; legacyDefault is what a device is assumed to be when the string is missing or unparseable — the V2 board of its model, which is every unit shipped before the code carried a generation.
Code 6 is the C core's MINI_V3. That board ships as its own product, the EXG8 (advertised "BA EXG8
Entries
Properties
Raw accelerometer counts per 1 g — the sensitivity of the part; 0 when there is no accelerometer.
Returns a representation of an immutable list of all enum entries, in the order they're declared.
Bytes the IMU adds to the stream-packet footer: 3 × int16 per present sensor.
Montage this generation carries.
Functions
Raw accelerometer counts → m/s² (the C core's counts * GRAVITY / accelCountsPerG).
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
Returns an array containing the constants of this enum type, in the order they're declared.