/*******************************************************************************
 * @file    imu_stub.c
 * @brief   Stub implementations for IMU and meas_config functions
 * @note    TODO: Replace with real implementations
 ******************************************************************************/

#include <stdint.h>
#include <stdbool.h>

/*==============================================================================
 * IMU STUBS
 *============================================================================*/

volatile bool g_imu_active = false;

int imu_read_direct(void)
{
    /* TODO: Implement direct I2C register read + BLE send */
    return -1;
}

int imu_read_cached(void)
{
    /* TODO: Implement cached memory read + BLE send */
    return -1;
}

void imu_active_timer_start(void)
{
    /* TODO: Start 1-sec IMU active streaming timer */
}

void imu_active_timer_stop(void)
{
    /* TODO: Stop 1-sec IMU active streaming timer */
}

/*==============================================================================
 * MEASUREMENT CONFIG STUBS
 *============================================================================*/

static uint8_t s_freq_idx = 0;
static uint8_t s_cycles = 5;
static uint8_t s_avg_count = 1;

uint8_t meas_config_get_freq_idx(void)  { return s_freq_idx; }
uint8_t meas_config_get_cycles(void)    { return s_cycles; }
uint8_t meas_config_get_avg_count(void) { return s_avg_count; }

void meas_config_set_freq_idx(uint8_t v)  { s_freq_idx = v; }
void meas_config_set_cycles(uint8_t v)    { s_cycles = v; }
void meas_config_set_avg_count(uint8_t v) { s_avg_count = v; }

void meas_config_save(void)
{
    /* TODO: Save measurement config to FDS */
}
