Kody błędów
Ramka Data z flagą FLAG_ERROR (bit 7) zawiera serializowany error_t zamiast danych sensorowych.
Struktura error_t (9 bajtów, LE)
| Offset |
Rozmiar |
Pole |
Typ |
| 0 |
1B |
level |
error_level_t |
| 1 |
1B |
source |
error_source_t |
| 2 |
1B |
reason |
error_reason_t |
| 3 |
1B |
instance |
uint8_t — indeks magistrali / sensora / kanału |
| 4 |
1B |
sensor_model |
error_sensor_model_t |
| 5 |
1B |
detail_type |
error_detail_type_t |
| 6–8 |
3B |
detail_value |
uint24_t LE — wartość szczegółowa |
Poziomy błędów
| Poziom |
Wartość |
Opis |
ERROR_LEVEL_NONE |
0 |
|
ERROR_LEVEL_WARNING |
1 |
|
ERROR_LEVEL_CRITICAL |
2 |
|
Źródła błędów
| Źródło |
Wartość |
Opis |
ERROR_SOURCE_NONE |
0 |
|
ERROR_SOURCE_PERIPHERAL_ADC |
1 |
|
ERROR_SOURCE_PERIPHERAL_BLE |
2 |
|
ERROR_SOURCE_PERIPHERAL_GPIO |
3 |
|
ERROR_SOURCE_PERIPHERAL_GPIOTE |
4 |
|
ERROR_SOURCE_PERIPHERAL_PWM |
5 |
|
ERROR_SOURCE_PERIPHERAL_UART |
6 |
|
ERROR_SOURCE_PERIPHERAL_I2C |
7 |
|
ERROR_SOURCE_PERIPHERAL_SPI |
8 |
|
ERROR_SOURCE_PERIPHERAL_STORAGE |
9 |
|
ERROR_SOURCE_MODULE_ACC_GYRO |
102 |
|
ERROR_SOURCE_MODULE_BAROMETER |
103 |
|
ERROR_SOURCE_MODULE_BATTERY |
104 |
|
ERROR_SOURCE_MODULE_GNSS |
105 |
|
ERROR_SOURCE_MODULE_MAGNETOMETER |
106 |
|
ERROR_SOURCE_MODULE_SELECTOR |
107 |
|
ERROR_SOURCE_MODULE_TRIGGER |
108 |
|
ERROR_SOURCE_MODULE_QUATERNION |
109 |
|
ERROR_SOURCE_MODULE_PLAYER_STATE |
110 |
|
ERROR_SOURCE_MODULE_LED |
111 |
|
ERROR_SOURCE_MODULE_BUZZER |
112 |
|
ERROR_SOURCE_MODULE_KICKBACK |
113 |
|
Przyczyny błędów
| Przyczyna |
Wartość |
Opis |
ERROR_REASON_NONE |
0 |
|
ERROR_REASON_COMMUNICATION_FAILED |
1 |
|
ERROR_REASON_EXTERNAL_MAGNETIC_FIELD |
2 |
|
ERROR_REASON_INITIALIZATION_FAILED |
3 |
|
ERROR_REASON_INVALID_CONFIGURATION |
4 |
|
ERROR_REASON_LOW_LEVEL |
5 |
|
ERROR_REASON_OUT_OF_RANGE |
6 |
|
ERROR_REASON_SENSOR_FAILURE |
7 |
|
ERROR_REASON_TIMEOUT |
8 |
|
ERROR_REASON_VOLTAGE_TOO_HIGH |
9 |
|
ERROR_REASON_VOLTAGE_TOO_LOW |
10 |
|
ERROR_REASON_CONFIGURATION_ERROR |
11 |
|
Modele sensorów
| Model sensora |
Wartość |
Opis |
ERROR_SENSOR_MODEL_NONE |
0 |
|
ERROR_SENSOR_MODEL_BMP581 |
1 |
|
ERROR_SENSOR_MODEL_IN_S66TBTRGB |
2 |
|
ERROR_SENSOR_MODEL_LSM6DSV32X |
3 |
|
ERROR_SENSOR_MODEL_MMC5983MA |
4 |
|
ERROR_SENSOR_MODEL_TMAG5273A1 |
5 |
|
ERROR_SENSOR_MODEL_TMAG5273B1 |
6 |
|
ERROR_SENSOR_MODEL_TMAG5273C1 |
7 |
|
ERROR_SENSOR_MODEL_TMAG5273D1 |
8 |
|
ERROR_SENSOR_MODEL_ZED_F9P_05B |
9 |
|
Typy szczegółów
| Typ szczegółu |
Wartość |
Opis |
ERROR_DETAIL_NONE |
0 |
|
ERROR_DETAIL_ERRNO |
1 |
value = errno (e.g., EIO, ETIMEDOUT) |
ERROR_DETAIL_I2C_ADDRESS |
2 |
value = 7-bit addr (0..127) |
ERROR_DETAIL_MILLIVOLTS |
3 |
value = mV |
ERROR_DETAIL_NRFX_ERROR_CODE |
4 |
value = nrfx_err_t (as a number) |
ERROR_DETAIL_PERCENT |
5 |
value = 0..100 |
ERROR_DETAIL_RAW_VALUE |
6 |
value = raw |
ERROR_DETAIL_REGISTER |
7 |
value = register address (0..65535) |
Interpretacja detail_value
Znaczenie detail_value zależy od detail_type:
ERRNO → standardowy kod errno (np. EIO=5, ETIMEDOUT=110)
I2C_ADDRESS → adres 7-bitowy (0–127)
MILLIVOLTS → napięcie w mV
REGISTER → adres rejestru sensora (0–65535)
PERCENT → wartość 0–100
RAW_VALUE → wartość surowa