From 757f1a1de758524bedf3a6447c9015134d60149c Mon Sep 17 00:00:00 2001 From: David Volovskiy Date: Wed, 8 Oct 2025 17:48:34 -0400 Subject: [PATCH] defined LIS2DW_FIFO_TIMEOUT_SECOND --- .../watch_faces/sensor/accelerometer_data_acquisition_face.c | 4 ++-- watch-faces/sensor/lis2dw_monitor_face.c | 2 +- watch-library/shared/driver/lis2dw.h | 2 ++ 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/legacy/watch_faces/sensor/accelerometer_data_acquisition_face.c b/legacy/watch_faces/sensor/accelerometer_data_acquisition_face.c index 64a25a87..968a7b81 100644 --- a/legacy/watch_faces/sensor/accelerometer_data_acquisition_face.c +++ b/legacy/watch_faces/sensor/accelerometer_data_acquisition_face.c @@ -448,13 +448,13 @@ static void start_reading(accelerometer_data_acquisition_state_t *state) { state->records[state->pos++] = record; lis2dw_fifo_t fifo; - lis2dw_read_fifo(&fifo, 100); // dump the fifo, this starts a fresh round of data in continue_reading + lis2dw_read_fifo(&fifo, LIS2DW_FIFO_TIMEOUT_SECOND); // dump the fifo, this starts a fresh round of data in continue_reading } static void continue_reading(accelerometer_data_acquisition_state_t *state) { printf("Continue reading\n"); lis2dw_fifo_t fifo; - lis2dw_read_fifo(&fifo, 100); + lis2dw_read_fifo(&fifo, LIS2DW_FIFO_TIMEOUT_SECOND); fifo.count = min(fifo.count, 25); // hacky, but we need a consistent data rate; if we got a 26th data point, chuck it. uint8_t offset = 4 * (25 - fifo.count); // also hacky: we're sometimes short at the start. align to beginning of next second. diff --git a/watch-faces/sensor/lis2dw_monitor_face.c b/watch-faces/sensor/lis2dw_monitor_face.c index 46cc15f3..ade0df55 100644 --- a/watch-faces/sensor/lis2dw_monitor_face.c +++ b/watch-faces/sensor/lis2dw_monitor_face.c @@ -420,7 +420,7 @@ static void _monitor_update(lis2dw_monitor_state_t *state) lis2dw_fifo_t fifo; float x = 0, y = 0, z = 0; - lis2dw_read_fifo(&fifo, 100 / DISPLAY_FREQUENCY); + lis2dw_read_fifo(&fifo, LIS2DW_FIFO_TIMEOUT_SECOND / DISPLAY_FREQUENCY); if (fifo.count == 0) { return; } diff --git a/watch-library/shared/driver/lis2dw.h b/watch-library/shared/driver/lis2dw.h index d3a09dc4..f81c7750 100644 --- a/watch-library/shared/driver/lis2dw.h +++ b/watch-library/shared/driver/lis2dw.h @@ -301,6 +301,8 @@ typedef enum { #define LIS2DW_CTRL7_VAL_HP_REF_MODE 0b00000010 #define LIS2DW_CTRL7_VAL_LPASS_ON6D 0b00000001 +#define LIS2DW_FIFO_TIMEOUT_SECOND 100 + bool lis2dw_begin(void); uint8_t lis2dw_get_device_id(void);