123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- #ifndef __DRV_QMA7981_H__
- #define __DRV_QMA7981_H__
- #ifdef __cplusplus
- extern "C" {
- #endif
- /*Includes ------------------------------------------------------*/
- #include <stdint.h>
- #include <stdio.h>
- #include <stdbool.h>
- /*STRUCTION -----------------------------------------------------*/
- typedef enum{
- QMA_ACC_ODR_OFF = 0x00, //关闭加速度
-
- QMA_ACC_ODR_12HZ5 = 0x01, //采样频率 - 12.5赫兹
-
- QMA_ACC_ODR_104HZ = 0x02, //采样频率 - 104赫兹
- } QMA_ACC_ODR_e;
- typedef enum{
- QMA_ACC_FS_2G = 0x01, //量程 - 2倍重力加速度
-
- QMA_ACC_FS_16G = 0x02, //量程 - 16倍重力加速度
-
- } QMA_ACC_FS_e;
- typedef struct
- {
- QMA_ACC_ODR_e acc_odr; //加速度采样频率
-
- QMA_ACC_FS_e acc_fs; //加速度量程
-
- } drv_qma_config_param_t;
- typedef struct
- {
- int16_t acc[3]; //加速度三轴
-
- } qma_data_t;
- /*API -------------------------------------------------------*/
- /**
- @brief 初始化QMA驱动
- @param 无
- @return 错误代码 - [out] -1失败,0成功
- */
- int drv_qma_Init(void);
- /**
- @brief QMA断电
- @param 无
- @return 错误代码 - [out] -1失败,0成功
- */
- int drv_qma_power_off(void);
- /**
- @brief QMA上电(默认配置挂起)
- @param 无
- @return 错误代码 - [out] -1失败,0成功
- */
- int drv_qma_power_on(void);
- /**
- @brief 设置ACC量程
- @param acc_fs - [in] ACC量程
- @return 错误代码 - [out] -1失败,0成功
- */
- int drv_qma_set_acc_fs(QMA_ACC_FS_e acc_fs);
- /**
- @brief 设置ACC采样频率
- @param acc_odr - [in] ACC采样频率
- @return 错误代码 - [out] -1失败,0成功
- */
- int drv_qma_set_acc_odr(QMA_ACC_ODR_e acc_odr);
- /**
- @brief 获取QMA配置参数
- @param param - [in] QMA配置参数
- @return 错误代码 - [out] -1失败,0成功
- */
- int drv_qma_get_config_param(drv_qma_config_param_t *p_param);
- /**
- @brief 获取QMA的ACC数据
- @param p_data - [out] 返回的ACC三轴数据
- @return 错误代码 - [out] -1失败,0成功
- */
- int drv_qma_get_acc_data(qma_data_t *p_data);
- #ifdef __cplusplus
- }
- #endif
- #endif
|