Merge branch 'main' of github.com:joeycastillo/Sensor-Watch into motion-express

This commit is contained in:
Joey Castillo
2022-05-02 18:39:45 -05:00
87 changed files with 6606 additions and 1346 deletions

View File

@@ -207,3 +207,32 @@ void lis2dw_clear_fifo(void) {
watch_i2c_write8(LIS2DW_ADDRESS, LIS2DW_REG_FIFO_CTRL, LIS2DW_FIFO_CTRL_MODE_OFF);
watch_i2c_write8(LIS2DW_ADDRESS, LIS2DW_REG_FIFO_CTRL, LIS2DW_FIFO_CTRL_MODE_COLLECT_AND_STOP | LIS2DW_FIFO_CTRL_FTH);
}
void lis2dw_configure_wakeup_int1(uint8_t threshold, bool latch, bool active_state) {
uint8_t configuration;
// enable wakeup interrupt on INT1 pin
configuration = watch_i2c_read8(LIS2DW_ADDRESS, LIS2DW_REG_CTRL4_INT1);
watch_i2c_write8(LIS2DW_ADDRESS, LIS2DW_REG_CTRL4_INT1, configuration | LIS2DW_CTRL4_INT1_WU);
// set threshold
watch_i2c_write8(LIS2DW_ADDRESS, LIS2DW_REG_WAKE_UP_THS, threshold | LIS2DW_WAKE_UP_THS_VAL_SLEEP_ON);
watch_i2c_write8(LIS2DW_ADDRESS, LIS2DW_REG_INT1_DUR, 0b01111111);
configuration = watch_i2c_read8(LIS2DW_ADDRESS, LIS2DW_REG_CTRL3) & ~(LIS2DW_CTRL3_VAL_LIR);
if (!active_state) configuration |= LIS2DW_CTRL3_VAL_H_L_ACTIVE;
if (latch) configuration |= LIS2DW_CTRL3_VAL_LIR;
watch_i2c_write8(LIS2DW_ADDRESS, LIS2DW_REG_CTRL3, configuration);
// enable interrupts
configuration = watch_i2c_read8(LIS2DW_ADDRESS, LIS2DW_REG_CTRL7);
watch_i2c_write8(LIS2DW_ADDRESS, LIS2DW_REG_CTRL7, configuration | LIS2DW_CTRL7_VAL_INTERRUPTS_ENABLE);
}
lis2dw_wakeup_source lis2dw_get_wakeup_source() {
return (lis2dw_wakeup_source) watch_i2c_read8(LIS2DW_ADDRESS, LIS2DW_REG_WAKE_UP_SRC);
}
lis2dw_interrupt_source lis2dw_get_interrupt_source(void) {
return (lis2dw_interrupt_source) watch_i2c_read8(LIS2DW_ADDRESS, LIS2DW_REG_ALL_INT_SRC);
}