|
PebbleOS
|
ST LSM6DSO accelerometer driver board configuration. More...
Data Structures | |
| struct | LSM6DSOState |
| LSM6DSO driver state, owned by the driver. More... | |
| struct | LSM6DSOConfig |
| LSM6DSO board configuration. More... | |
Macros | |
| #define | LSM6DSO_SAMPLE_SIZE_BYTES 6 |
| Accelerometer sample size in bytes (X, Y, Z, 16 bits each). | |
| #define | LSM6DSO_FIFO_WORD_SIZE_BYTES 7 |
| FIFO word size in bytes as read from FIFO_DATA_OUT (tag byte plus sample). | |
| #define | LSM6DSO_FIFO_THRESHOLD 128 |
| FIFO watermark in samples (the FIFO holds up to 512). | |
| #define | LSM6DSO_FIFO_SIZE LSM6DSO_FIFO_THRESHOLD |
| Read buffer capacity in samples, sized to the watermark. | |
ST LSM6DSO accelerometer driver board configuration.
| struct LSM6DSOState |
LSM6DSO driver state, owned by the driver.
| Data Fields | ||
|---|---|---|
| bool | double_tap_detection_enabled | Double tap detection requested. |
| bool | initialized | Driver initialized. |
| uint32_t | int1_period_ms | Expected INT1 period in milliseconds. |
| bool | int1_requeued | The INT1 servicing pass was requeued while the pad stayed high. |
| RegularTimerInfo | int1_wdt_timer | Watchdog timer detecting a stalled INT1 stream. |
| RtcTicks | last_fifo_read_tick | Time of the last FIFO read. |
| uint32_t | num_recoveries | Number of stream recoveries performed. |
| uint16_t | num_samples | Samples per FIFO batch requested by the subscribers, 0 when not streaming. |
| uint8_t | raw_sample_buf[DCACHE_ROUND_UP(LSM6DSO_FIFO_SIZE *LSM6DSO_FIFO_WORD_SIZE_BYTES)] | Raw FIFO read buffer, filled with i2c_read_register_block_dma(). |
| bool | recovery_pending | A stream recovery is queued. |
| bool | rotated | Watch mounted rotated 180 degrees: X and Y are inverted. |
| uint32_t | sampling_interval_us | Sampling interval in microseconds, 0 when not sampling. |
| bool | shake_detection_enabled | Shake detection requested. |
| uint8_t | shake_stuck_passes | Consecutive watchdog passes with INT1 stuck high in shake-only mode. |
| uint8_t | wk_ths_curr | Current wake-up (shake) threshold register value. |
| bool | wu_active | Wake-up condition currently asserted, to report a shake once per assertion. |
| struct LSM6DSOConfig |
LSM6DSO board configuration.
| Data Fields | ||
|---|---|---|
| int8_t | axis_dir[3] | Direction of each watch axis: 1 or -1. |
| uint8_t | axis_map[3] | Sensor axis feeding each watch axis (0: X, 1: Y, 2: Z). |
| I2CSlavePort | i2c | I2C device. |
| ExtiConfig | int1 | INT1 interrupt line. |
| InputConfig | int1_in | INT1 input, to read back the pad level. |
| LSM6DSOState * | state | Driver state. |
| #define LSM6DSO_FIFO_SIZE LSM6DSO_FIFO_THRESHOLD |
Read buffer capacity in samples, sized to the watermark.
| #define LSM6DSO_FIFO_THRESHOLD 128 |
FIFO watermark in samples (the FIFO holds up to 512).
| #define LSM6DSO_FIFO_WORD_SIZE_BYTES 7 |
FIFO word size in bytes as read from FIFO_DATA_OUT (tag byte plus sample).
| #define LSM6DSO_SAMPLE_SIZE_BYTES 6 |
Accelerometer sample size in bytes (X, Y, Z, 16 bits each).