OHB BLE Protocol Version 1.1.0
In order to facilitate compatibility beween software, the BLE protocols used to write tests and firmwares should be indicated in their respective READMEs using a badge as follow:
Note: If not otherwise specified, each datatype is presented in Little Endian format.
Error Service
UUID: 0x1200
Characteristic | UUID | Buffer size | Permissions |
---|---|---|---|
Error | 0x1201 | 4 | READ | NOTIFY |
Error characteristic
Characteristic containing the current state of each sensor. The values are updated only once during initialization and should not change during runtime. Zero signify that the sensor initialization was successfull, while a non-zero value is the sign of a problem during startup.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
IMU | PPG | Temp | Tens |
IMU Service
UUID: 0x1200
Characteristic | UUID | Buffer size | Permissions |
---|---|---|---|
Acceleromter | 0x1102 | 11 | READ | NOTIFY |
Gyroscope | 0x1103 | 11 | READ | NOTIFY |
Magnetometer | 0x1104 | 10 | READ | NOTIFY |
Accelerometer Characteristic
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
timestamp (uint32) | X value (float) | Y value (float) | Z value (float) |
Gyroscope Characteristic
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
timestamp (uint32) | X value (float) | Y value (float) | Z value (float) |
Magnetometer Characteristic
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
timestamp (uint32) | X value (float) | Y value (float) | Z value (float) |
PPG Service
UUID: 0x1300
Characteristic | UUID | Buffer size | Permissions |
---|---|---|---|
PPG1 | 0x1305 | 12 | READ | NOTIFY |
PPG2 | 0x1307 | 12 | READ | NOTIFY |
SNR1 | 0x1313 | 4 | READ | NOTIFY |
SNR2 | 0x1314 | 4 | READ | NOTIFY |
PPG1 Characteristic
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
timestamp (uint32) | val1 (uint32) | val2 (uint32) |
PPG2 Characteristic
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
timestamp (uint32) | val1 (uint32) | val2 (uint32) |
SNR1 Characteristic
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
val (uint32) |
SNR2 Characteristic
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
val (uint32) |
Utils Service
UUID: 0x1400
Characteristic | UUID | Buffer size | Permissions |
---|---|---|---|
Start/Stop | 0x1401 | 1 | READ | WRITE | Led intensity | 0x1402 | 1 | READ | WRITE | NOTIFY | </tr>
Sample rate | 0x1403 | 1 | READ | WRITE |
Calibration trigger | 0x1404 | 1 | READ | WRITE |
Start/Stop Characteristic
Writing to the first byte of this chracteristic toggles the acquisition state of the OHB. Zero will stop the acquisition while a non-zero value will start it.
Led Intensity Characteristic
Writing to the first byte of this chracteristic sets the led instensity of the PPG leds.
min value | max value |
---|---|
1 | 255 |
This charcteristic can be monitored to track the change in intensity induced by the auto callibration process.
Sample Average Characteristic
TODO
Sample Rate Characteristic
TODO
Calibration CHaracteristic
Writing to the first byte of this characteristic triggers the auto callibration of the PPG leds. The intensity change can be monitored by subscribing to notifications of the led intensity characteristic.
Change Log
[1.1.0] - 2022-27-03
Added
- Created Protocol