diff --git a/src/drivers/battery/battery_adc.c b/src/drivers/battery/battery_adc.c index 22aaba8..acf36aa 100644 --- a/src/drivers/battery/battery_adc.c +++ b/src/drivers/battery/battery_adc.c @@ -146,7 +146,7 @@ static void battery_work_handler(struct k_work *work) { ARG_UNUSED(work); - if (processing) + if (processing || imu_fifo_is_active()) { return; } diff --git a/src/drivers/imu/imu_i2c.c b/src/drivers/imu/imu_i2c.c index e56d48e..cb3c949 100644 --- a/src/drivers/imu/imu_i2c.c +++ b/src/drivers/imu/imu_i2c.c @@ -689,6 +689,11 @@ int imu_fifo_read_latest(uint8_t *sample_bytes, return 0; } +bool imu_fifo_is_active(void) +{ + return fifo_active; +} + int imu_fifo_stop(void) { int ret = 0; diff --git a/src/drivers/imu/imu_i2c.h b/src/drivers/imu/imu_i2c.h index c1853d1..7fa02e3 100644 --- a/src/drivers/imu/imu_i2c.h +++ b/src/drivers/imu/imu_i2c.h @@ -15,6 +15,7 @@ #define IMU_I2C_H__ #include +#include #define IMU_FIFO_SAMPLE_BYTES 12U #define IMU_FIFO_RIM_TARGET_SAMPLES 15U @@ -82,6 +83,11 @@ int imu_fifo_read_latest(uint8_t *sample_bytes, uint16_t max_samples, uint16_t *out_count); +/** + * @brief Return whether IMU FIFO streaming is active. + */ +bool imu_fifo_is_active(void); + /** * @brief FIFO와 accel/gyro 전원 끄기 *