123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- #ifndef __HAL_SER_IMU_MODE_MANAGE_H__
- #define __HAL_SER_IMU_MODE_MANAGE_H__
- #ifdef __cplusplus
- extern "C" {
- #endif
- /*Includes ------------------------------------------------------*/
- #include <stdbool.h>
- #include <stdint.h>
- #include <string.h>
- #include "sdk_common.h"
- #include "SEGGER_RTT.h"
- #include "usr_config.h"
- #include "hal_ser_imu.h"
- /*STRUCTION ----------------------------------------------------*/
- typedef enum
- {
- HAL_SER_IMU_MODE_MANAGE_IMU_MODE_ON = true, //模式开启
-
- HAL_SER_IMU_MODE_MANAGE_IMU_MODE_OFF = false, //模式关闭
-
- } HAL_SER_IMU_MODE_MANAGE_IMU_MODE_SWITCH_e;
- typedef enum
- {
- HAL_SER_IMU_MODE_MANAGE_STANDBY = 0, //待机模式(不穿鞋)
-
- HAL_SER_IMU_MODE_MANAGE_NORMAL, //正常模式(穿鞋)
-
- HAL_SER_IMU_MODE_MANAGE_SELF_CHECK, //自检模式
-
- HAL_SER_IMU_MODE_MANAGE_GAME, //游戏模式
-
- HAL_SER_IMU_MODE_MANAGE_REALSTEP, //实时计步模式
-
- HAL_SER_IMU_MODE_MANAGE_CALIBRATION, //校准模式
-
- HAL_SER_IMU_MODE_MANAGE_NUM, //模式数量
-
- } HAL_SER_IMU_MODE_MANAGE_e;
- /*API -------------------------------------------------------*/
- /**
- @brief 初始化模式管理服务
- @param 无
- @return 错误代码 - [out] -1失败,0成功
- */
- int hal_ser_imu_mode_manage_Init(void);
- /**
- @brief 请求需要的模式
- @param mode - [in] 需要请求的模式
- @param imu_mode_switch - [in] 请求的模式开关
- @return 错误代码 - [out] -1失败,0成功
- */
- int hal_ser_imu_mode_manage_set_required(HAL_SER_IMU_MODE_MANAGE_e mode, HAL_SER_IMU_MODE_MANAGE_IMU_MODE_SWITCH_e imu_mode_switch);
- /**
- @brief 模式是否准备好
- @return 错误代码 - [out] -1失败,0成功
- */
- int hal_ser_imu_mode_manage_get_ready(HAL_SER_IMU_MODE_MANAGE_e mode);
- /**
- @brief 获取当前模式的IMU当前数据数量
- @param mode - [in] 需要的模式
- @param dir - [in] IMU方向 - 前/后脚
- @return 错误代码 - [out] 返回数据数量
- */
- int hal_ser_imu_mode_manage_get_data_num(SER_IMU_DIR_e dir);
- /**
- @brief 获取当前模式的IMU数据
- @param dir - [in] IMU方向 - 前/后脚
- @param index - [in] 第几组数据
- @param pdata - [out] IMU数据
- @return 错误代码 - [out] -1失败,0成功
- */
- int hal_ser_imu_mode_manage_get_data(SER_IMU_DIR_e dir, int index, ser_imu_data_t *pdata);
- /**
- @brief 查询当前是否挂起模式
- @return 错误代码 - [out] -1 非挂起模式,0 挂起模式
- */
- int hal_ser_imu_mode_IsSuspend(void);
- #ifdef __cplusplus
- }
- #endif
- #endif
|