Trigger
Module ID: 8 (MODULE_TRIGGER)
Sensor: 2× TMAG5273 (A1 + B1, Texas Instruments)
Moduł spustu (trigger). Wykrywa naciśnięcie i zwolnienie spustu za pomocą dwóch czujników Hall-effect.
Dostępny tylko w wariancie ETU.
Data Frame
| Header (12B) |
| Module ID |
Flags |
Frame Nr |
Sample Count |
Timestamp First |
Timestamp Last Δ |
| 1B |
1B |
1B |
1B |
5B LE |
3B LE |
| byte 0 |
byte 1 |
byte 2 |
byte 3 |
byte 4–8 |
byte 9–11 |
| Pole |
Wartość |
| Module ID |
8 |
| Flags |
0x00 |
| Sample Count |
1 |
| Timestamp Last Δ |
0 (zdarzenie — single sample) |
Payload
Każda próbka składa się z 1 bajtu:
| Trigger sample (1B) |
| State Changed |
| 1B |
| byte 0 |
| Offset |
Rozmiar |
Pole |
Format |
| 0 |
1B |
state_changed |
trigger_state_changed_t |
Wartości state_changed
typedef enum {
TRIGGER_STATE_CHANGED_PRESSED = 1,
TRIGGER_STATE_CHANGED_RELEASED = 2,
} trigger_state_changed_t;
Parsowanie (TypeScript)
enum TriggerState {
PRESSED = 1,
RELEASED = 2,
}
function parseTriggerSample(view: DataView, offset: number): TriggerState {
return view.getUint8(offset) as TriggerState;
}
Control
Module-specific keys
| Key |
Wartość |
Typ |
Opis |
KEY_TRIGGER_SENSITIVITY |
0x80 |
SET/GET |
Poziom czułości uint8_t (1–8) |
KEY_TRIGGER_MODE |
0x81 |
SET/GET |
Tryb triggera (trigger_mode_t) |
KEY_TRIGGER_BASES |
0x82 |
GET |
Bazowe wartości Z (2× int16_t LE = 4B) |
Trigger modes
typedef enum {
TRIGGER_MODE_SEMI = 0,
TRIGGER_MODE_THRESHOLD = 1,
TRIGGER_MODE_TWO_STAGE_THRESHOLD = 2,
TRIGGER_MODE_TWO_STAGE_SEMI = 3,
TRIGGER_MODE_UI = 4,
} trigger_mode_t;
Calibration keys
Trigger obsługuje kalibrację — pozwala ustawić bazowe wartości pola magnetycznego.
Universal keys
KEY_CTRL_INFO (0x01) — informacje o module
KEY_CTRL_ENABLE (0x02) — włącz/wyłącz moduł