2026-01-20 16:55:17 +08:00

99 lines
2.4 KiB
C

#ifndef QMI8658A_H
#define QMI8658A_H
#include <stdio.h>
#include <string.h>
enum Qmi8658AReg
{
Register_WhoAmI = 0,
Register_Revision,
Register_Ctrl1,
Register_Ctrl2,
Register_Ctrl3,
Register_Reserved,
Register_Ctrl5,
Register_Reserved1,
Register_Ctrl7,
Register_Ctrl8,
Register_Ctrl9,
Register_Cal1_L = 11,
Register_Cal1_H,
Register_Cal2_L,
Register_Cal2_H,
Register_Cal3_L,
Register_Cal3_H,
Register_Cal4_L,
Register_Cal4_H,
Register_FifoWmkTh = 19,
Register_FifoCtrl = 20,
Register_FifoCount = 21,
Register_FifoStatus = 22,
Register_FifoData = 23,
Register_StatusInt = 45,
Register_Status0,
Register_Status1,
Register_Timestamp_L = 48,
Register_Timestamp_M,
Register_Timestamp_H,
Register_Tempearture_L = 51,
Register_Tempearture_H,
Register_Ax_L = 53,
Register_Ax_H,
Register_Ay_L,
Register_Ay_H,
Register_Az_L,
Register_Az_H,
Register_Gx_L = 59,
Register_Gx_H,
Register_Gy_L,
Register_Gy_H,
Register_Gz_L,
Register_Gz_H,
Register_COD_Status = 70,
Register_dQW_L = 73,
Register_dQW_H,
Register_dQX_L,
Register_dQX_H,
Register_dQY_L,
Register_dQY_H,
Register_dQZ_L,
Register_dQZ_H,
Register_dVX_L,
Register_dVX_H,
Register_dVY_L,
Register_dVY_H,
Register_dVZ_L,
Register_dVZ_H,
Register_TAP_Status = 89,
Register_Step_Cnt_L = 90,
Register_Step_Cnt_M = 91,
Register_Step_Cnt_H = 92,
Register_Reset = 96
};
//详细说明参照note.md Ctrl9详细命令说明
enum Ctrl9Command
{
Ctrl9_Cmd_Ack = 0X00,
Ctrl9_Cmd_RstFifo = 0X04,
Ctrl9_Cmd_ReqFifo = 0X05,//Get FIFO data from Device
Ctrl9_Cmd_WoM_Setting = 0x08,// 设置并启用运动唤醒
Ctrl9_Cmd_AccelHostDeltaOffset = 0x09,//更改加速度计偏移
Ctrl9_Cmd_GyroHostDeltaOffset = 0x0A,//更改陀螺仪偏移
Ctrl9_Cmd_CfgTap = 0x0C, //配置TAP检测
Ctrl9_Cmd_CfgPedometer = 0x0D,//配置计步器
Ctrl9_Cmd_Motion = 0x0E,//配置任何运动/无运动/显着运动检测
Ctrl9_Cmd_RstPedometer = 0x0F,//重置计步器计数(步数)
Ctrl9_Cmd_CopyUsid = 0x10,//将 USID 和 FW 版本复制到 UI 寄存器
Ctrl9_Cmd_SetRpu = 0x11,//配置 IO 上拉
Ctrl9_Cmd_AHBClockGating = 0x12,//内部 AHB 时钟门控开关
Ctrl9_Cmd_OnDemandCalivration = 0xA2,//陀螺仪按需校准
Ctrl9_Cmd_ApplyGyroGains = 0xAA//恢复保存的陀螺仪增益
};
#endif