#ifndef LIS2DH12_H #define LIS2DH12_H #include "gSensor/gSensor_manage.h" #include "le_rcsp_adv_module.h" // --- 物理常量定义 --- #define GRAVITY_EARTH 9.80665f // 地球重力加速度 (m/s^2) #define SAMPLING_PERIOD_S 0.2f // 采样周期 (对应于200ms的定时器) // --- 数据结构定义 --- // 三轴数据结构体 (可用于加速度、速度、距离) typedef struct { float x; float y; float z; } axis_info_xtell; // 运动数据结构体,包含速度和距离 typedef struct { axis_info_xtell velocity; // 速度 (m/s) axis_info_xtell distance; // 距离 (m) } motion_data_t; // --- API 函数声明 --- /** * @brief 初始化并配置LIS2DH12传感器 * @return 0 表示成功, -1 表示失败 */ unsigned char LIS2DH12_Config(void); /** * @brief 核心计算任务,应由定时器周期性调用 */ void xtell_i2c_test(void); // --- 数据获取函数声明 --- /** * @brief 获取计算好的运动数据(速度和距离) * @param data 指向 motion_data_t 结构体的指针,用于存放结果 */ void get_motion_data(motion_data_t *data); /** * @brief 获取当前的总加速度(包含重力),单位 m/s^2 * @return axis_info_xtell 包含x,y,z轴总加速度的结构体 */ axis_info_xtell get_current_accel_mss(void); /** * @brief 获取当前移除重力后的线性加速度,单位 m/s^2 * @return axis_info_xtell 包含x,y,z轴线性加速度的结构体 */ axis_info_xtell get_linear_accel_mss(void); #endif