yincheng.zhong
9 天以前 d10f581eb749a8338e697a418d630db2cb01843f
STM32H743/FML/GPS.h
@@ -1,7 +1,7 @@
/*******************************************************************************
 * File Name         : GPS.h
 * Description       :
 * Created on        : 2019年3月11日
 * Created on        : 2019��3��11��
 * Author            : www.hido-studio.com
 *******************************************************************************/
#ifndef _GPS_H_
@@ -61,54 +61,120 @@
    HIDO_UINT8 m_u8Sec; //second
}ST_GPS;
/* GPRMI数据包结构 */
typedef struct
{
    HIDO_UINT32 m_u32UTCTime;           // <1> UTC时间, hhmmss.ss格式
    HIDO_UINT16 m_u16WeekNumber;        // <2> Week number, 周数
    HIDO_UINT32 m_u32TimeOfWeek;        // <3> Time of week, 周内秒, 格式为(ss.mmm)
    HIDO_DOUBLE m_dLatitude;             // <4> 纬度(°), 正数为北纬
    HIDO_DOUBLE m_dLongitude;            // <5> 经度(°), 正数为西经
    HIDO_FLOAT m_fAltitude;              // <6> 高程(m)
    HIDO_FLOAT m_fEastStdDev;            // <7> 纬度标准差(m)
    HIDO_FLOAT m_fNorthStdDev;           // <8> 经度标准差(m)
    HIDO_FLOAT m_fAltStdDev;             // <9> 高程标准差(m)
    HIDO_FLOAT m_fEastVelocity;          // <10> 东方向上的速度(m/s)
    HIDO_FLOAT m_fNorthVelocity;         // <11> 北方向上的速度(m/s)
    HIDO_FLOAT m_fUpVelocity;            // <12> 天顶方向的速度(m/s)
    HIDO_FLOAT m_fEastVelStdDev;         // <13> 水平速度标准差(m/s)
    HIDO_FLOAT m_fNorthVelStdDev;        // <14> 俯仰角(°)
    HIDO_FLOAT m_fUpVelStdDev;           // <15> 侧倾角(°)
    HIDO_FLOAT m_fRollAngle;             // <16> 翻滚角(°)
    HIDO_FLOAT m_fPitchAngleStdDev;      // <17> 俯仰角标准差(°)
    HIDO_FLOAT m_fRollAngleStdDev;       // <18> 侧倾角标准差(°)
    HIDO_FLOAT m_fHeadingAngleStdDev;    // <19> 翻滚角标准差(°)
    HIDO_FLOAT m_fBaselineDistance;      // <20> 基线距离(m)
    HIDO_UINT8 m_u8SatelliteCount;       // <21> 天线可见卫星数量
    HIDO_UINT8 m_u8ReservedFlags;        // <22> 载波整周固定模糊值个数,仅对固定定整意义
    HIDO_UINT8 m_u8PositionQuality;      // <23> 定位质量指示,0=无效,1=单点,2=差分,4=固定,5=浮点
    HIDO_BOOL m_bValid;                  // 数据有效标志
}ST_GPRMI;
/* GPIMU数据包结构 */
typedef struct
{
    HIDO_UINT32 m_u32UTCTime;           // <1> UTC时间, hhmmss.sss格式
    HIDO_FLOAT m_fAccelX;                // <2> x轴加速度(g)
    HIDO_FLOAT m_fAccelY;                // <3> y轴加速度(g)
    HIDO_FLOAT m_fAccelZ;                // <4> z轴加速度(g)
    HIDO_FLOAT m_fGyroX;                 // <5> 陀螺x轴角速度(°/s)
    HIDO_FLOAT m_fGyroY;                 // <6> 陀螺y轴角速度(°/s)
    HIDO_FLOAT m_fGyroZ;                 // <7> 陀螺z轴角速度(°/s)
    HIDO_FLOAT m_fTemperature;           // <8> 传感器温度(℃)
    HIDO_UINT8 m_u8Checksum;             // <9> 异或校验和
    HIDO_BOOL m_bValid;                  // 数据有效标志
}ST_GPIMU;
/*******************************************************************************
 *                             Global Function                                 *
 *******************************************************************************/
/*******************************************************************************
 * Function Name     : GPS_GetState
 * Description       : 获取GPS定位状态
 * Description       : ��ȡGPS��λ״̬
 * Input             : None
 * Output            : None
 * Return            : 定位状态 0 1 2 3
 * Return            : ��λ״̬ 0 1 2 3
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021年1月8日
 * Modified Date:    : 2021��1��8��
 *******************************************************************************/
HIDO_UINT8 GPS_GetState(HIDO_VOID);
/*******************************************************************************
 * Function Name     : GPS_PinRegister
 * Description       : GPS模块管脚注册
 * Input             : _ePin 管脚定义
 * Description       : GPSģ��ܽ�ע��
 * Input             : _ePin �ܽŶ���
 *                   : _pstGPIOx GPIOx
 *                   : _u16GPIOPin GPIO_PIN_x
 * Output            : None
 * Return            : None
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021年1月8日
 * Modified Date:    : 2021��1��8��
 *******************************************************************************/
HIDO_VOID GPS_PinRegister(E_GPSPin _ePin, GPIO_TypeDef *_pstGPIOx, HIDO_UINT16 _u16GPIOPin);
/*******************************************************************************
 * Function Name     : GPS_Poll
 * Description       : GPS轮询处理
 * Description       : GPS��ѯ����
 * Input             : None
 * Output            : None
 * Return            : None
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021年1月8日
 * Modified Date:    : 2021��1��8��
 *******************************************************************************/
HIDO_VOID GPS_Poll(void);
/*******************************************************************************
 * Function Name     : GPS_Init
 * Description       : GPS模块初始化
 * Description       : GPSģ���ʼ��
 * Input             : None
 * Output            : None
 * Return            : None
 * Author            : www.hido-studio.com
 * Modified Date:    : 2021年1月8日
 * Modified Date:    : 2021��1��8��
 *******************************************************************************/
HIDO_VOID GPS_Init(void);
/*******************************************************************************
 * Function Name     : GPS_GetGPRMI
 * Description       : 获取最新的GPRMI数据
 * Input             : _pstGPRMI - 存储GPRMI数据的结构体指针
 * Output            : None
 * Return            : HIDO_OK - 成功, HIDO_ERR - 失败
 * Author            : www.hido-studio.com
 * Modified Date:    : 2025年11月11日
 *******************************************************************************/
HIDO_INT32 GPS_GetGPRMI(ST_GPRMI *_pstGPRMI);
/*******************************************************************************
 * Function Name     : GPS_GetGPIMU
 * Description       : 获取最新的GPIMU数据
 * Input             : _pstGPIMU - 存储GPIMU数据的结构体指针
 * Output            : None
 * Return            : HIDO_OK - 成功, HIDO_ERR - 失败
 * Author            : www.hido-studio.com
 * Modified Date:    : 2025年11月11日
 *******************************************************************************/
HIDO_INT32 GPS_GetGPIMU(ST_GPIMU *_pstGPIMU);
#endif /* _GPS_H_ */