¶Ô±ÈÐÂÎļþ |
| | |
| | | /******************************************************************************* |
| | | * File Name : GPS.h |
| | | * Description : |
| | | * Created on : 2019å¹´3æ11æ¥ |
| | | * Author : www.hido-studio.com |
| | | *******************************************************************************/ |
| | | #ifndef _GPS_H_ |
| | | #define _GPS_H_ |
| | | |
| | | /******************************************************************************* |
| | | * Include Files * |
| | | *******************************************************************************/ |
| | | #include "HIDO_TypeDef.h" |
| | | //#include "GPIO.h" |
| | | |
| | | /******************************************************************************* |
| | | * Macro * |
| | | *******************************************************************************/ |
| | | |
| | | /******************************************************************************* |
| | | * Type Definition * |
| | | *******************************************************************************/ |
| | | typedef enum |
| | | { |
| | | GPS_STATE_INVALID = 0, |
| | | GPS_STATE_VALID, |
| | | } E_GPSState; |
| | | |
| | | typedef enum |
| | | { |
| | | GPS_LAT_SIGN_NORTH = 0, |
| | | GPS_LAT_SIGN_SOUTH, |
| | | } E_GPSLatSign; |
| | | |
| | | typedef enum |
| | | { |
| | | GPS_LON_SIGN_EAST = 0, |
| | | GPS_LON_SIGN_WEST, |
| | | } E_GPSLonSign; |
| | | |
| | | typedef enum |
| | | { |
| | | GPS_PIN_REST, |
| | | GPS_PIN_EN, |
| | | |
| | | GPS_PIN_LAST, |
| | | } E_GPSPin; |
| | | |
| | | typedef struct |
| | | { |
| | | GPIO_TypeDef* m_pstGPIOx; |
| | | HIDO_UINT16 m_u16GPIOPin; |
| | | }ST_GPIO; |
| | | typedef struct |
| | | { |
| | | HIDO_UINT16 m_u16Speed; |
| | | HIDO_UINT16 m_u16Dir; //direction |
| | | HIDO_DOUBLE m_dLat; //latitude |
| | | HIDO_DOUBLE m_dLon; //longitude |
| | | E_GPSState m_eState; |
| | | HIDO_UINT16 m_u16Year; |
| | | HIDO_UINT8 m_u8Mon; //month |
| | | HIDO_UINT8 m_u8Day; |
| | | HIDO_UINT8 m_u8Hour; |
| | | HIDO_UINT8 m_u8Min; //minute |
| | | HIDO_UINT8 m_u8Sec; //second |
| | | HIDO_FLOAT m_fAlt; |
| | | HIDO_FLOAT m_fMsl; |
| | | }ST_GPS; |
| | | |
| | | typedef enum |
| | | { |
| | | GPS_TYPE_GGA, |
| | | |
| | | GPS_TYPE_MAX, |
| | | } E_GPSType; |
| | | |
| | | typedef void (*FN_GPSEventCallback)(E_GPSType _eType, HIDO_CHAR *_pcData, HIDO_UINT32 _u32Len); |
| | | |
| | | /******************************************************************************* |
| | | * Global Function * |
| | | *******************************************************************************/ |
| | | |
| | | /******************************************************************************* |
| | | * Function Name : GPS_GetState |
| | | * Description : è·åGPSå®ä½ç¶æ |
| | | * Input : None |
| | | * Output : None |
| | | * Return : å®ä½ç¶æ 0 1 2 3 |
| | | * Author : www.hido-studio.com |
| | | * Modified Date: : 2021å¹´1æ8æ¥ |
| | | *******************************************************************************/ |
| | | HIDO_UINT8 GPS_GetState(HIDO_VOID); |
| | | |
| | | /******************************************************************************* |
| | | * Function Name : GPS_PinRegister |
| | | * Description : GPS模åç®¡èæ³¨å |
| | | * Input : _ePin 管èå®ä¹ |
| | | * : _pstGPIOx GPIOx |
| | | * : _u16GPIOPin GPIO_PIN_x |
| | | * Output : None |
| | | * Return : None |
| | | * Author : www.hido-studio.com |
| | | * Modified Date: : 2021å¹´1æ8æ¥ |
| | | *******************************************************************************/ |
| | | HIDO_VOID GPS_PinRegister(E_GPSPin _ePin, GPIO_TypeDef *_pstGPIOx, HIDO_UINT16 _u16GPIOPin); |
| | | |
| | | /******************************************************************************* |
| | | * Function Name : GPS_Poll |
| | | * Description : GPS轮询å¤ç |
| | | * Input : None |
| | | * Output : None |
| | | * Return : None |
| | | * Author : www.hido-studio.com |
| | | * Modified Date: : 2021å¹´1æ8æ¥ |
| | | *******************************************************************************/ |
| | | HIDO_VOID GPS_Poll(void); |
| | | HIDO_VOID GPS_Recv_Poll(uint8_t u8RecvChar); |
| | | /******************************************************************************* |
| | | * Function Name : GPS_SetEventCallback |
| | | * Description : GPS设置GPSäºä»¶åè° |
| | | * Input : None |
| | | * Output : None |
| | | * Return : None |
| | | * Author : hido.ltd |
| | | *******************************************************************************/ |
| | | HIDO_VOID GPS_SetEventCallback(FN_GPSEventCallback _fnEventCallback); |
| | | |
| | | /******************************************************************************* |
| | | * Function Name : GPS_IsIdle |
| | | * Description : GPSæ¯å¦å¿ |
| | | * Input : None |
| | | * Output : None |
| | | * Return : None |
| | | * Author : hido.ltd |
| | | *******************************************************************************/ |
| | | HIDO_BOOL GPS_IsIdle(void); |
| | | |
| | | /******************************************************************************* |
| | | * Function Name : GPS_Init |
| | | * Description : GPS模ååå§å |
| | | * Input : None |
| | | * Output : None |
| | | * Return : None |
| | | * Author : www.hido-studio.com |
| | | * Modified Date: : 2021å¹´1æ8æ¥ |
| | | *******************************************************************************/ |
| | | HIDO_VOID GPS_Init(void); |
| | | HIDO_VOID GPS_PowerOn(void); |
| | | #endif /* _GPS_H_ */ |