Mercurial > public > ostc4
view Small_CPU/Inc/uartProtocol_GNSS.h @ 955:9b29995d6619 Evo_2_23
GNSS backup position:
In the previous implementation a position had to be provided by the module in order to be stored in the log. This may cause a wrong position entry (default) in the log, for example if signal is lost while preparing for the dive in the water. To avoid this the last received position will be used for ~2 hours => Diver may take the dive side position before starting with the dive preparation. The last known position will be display in the GNSS position search window as well.
author | Ideenmodellierer |
---|---|
date | Wed, 01 Jan 2025 20:37:17 +0100 |
parents | f41974734268 |
children |
line wrap: on
line source
/** ****************************************************************************** * @file uartProtocol_GNSS.h * @author heinrichs weikamp gmbh * @version V0.0.1 * @date 30-Sep-2024 * @brief Interface functionality for operation of gnss devices * @verbatim ============================================================================== ##### How to use ##### ============================================================================== @endverbatim ****************************************************************************** * @attention * * <h2><center>© COPYRIGHT(c) 2014 heinrichs weikamp</center></h2> * ****************************************************************************** */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef UART_PROTOCOL_GNSS_H #define UART_PROTOCOL_GNSS_H #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include "configuration.h" #include "stm32f4xx_hal.h" typedef enum { UART_GNSS_INIT = 0, /* Default Status for every sensor type */ UART_GNSS_IDLE, /* sensor detected and no communication pending */ UART_GNSS_ERROR, /* Error message received from sensor */ UART_GNSS_WARMUP = 10, UART_GNSS_INACTIVE, /* no requests to the receiver */ UART_GNSS_LOADCONF_0, UART_GNSS_LOADCONF_1, UART_GNSS_LOADCONF_2, UART_GNSS_SETMODE_MOBILE, UART_GNSS_PWRDOWN, UART_GNSS_PWRUP, UART_GNSS_SETCONF, /* save configuration */ UART_GNSS_GET_PVT, UART_GNSS_GET_SAT } uartGnssStatus_t; typedef enum { GNSSRX_READY = 0, /* Initial state */ GNSSRX_DETECT_HEADER_0, GNSSRX_DETECT_HEADER_1, GNSSRX_DETECT_HEADER_2, GNSSRX_DETECT_HEADER_3, GNSSRX_DETECT_LENGTH_0, GNSSRX_DETECT_LENGTH_1, GNSSRX_DETECT_ACK_0, GNSSRX_DETECT_ACK_1, GNSSRX_DETECT_ACK_2, GNSSRX_DETECT_ACK_3, GNSSRX_READ_DATA, GNSSRX_READ_CK_A, GNSSRX_READ_CK_B, } receiveStateGnss_t; typedef enum { GNSSCMD_LOADCONF_0 = 0, GNSSCMD_LOADCONF_1, GNSSCMD_LOADCONF_2, GNSSCMD_SETMOBILE, GNSSCMD_MODE_PWS, GNSSCMD_MODE_NORMAL, GNSSCMD_SET_CONFIG, GNSSCMD_GET_NAV_DATA, GNSSCMD_GET_PVT_DATA, GNSSCMD_GET_POSLLH_DATA, GNSSCMD_GET_NAVSAT_DATA } gnssSensorCmd_t; typedef struct { uint8_t class; uint8_t id; } gnssRequest_s; void uartGnss_ReqPowerDown(uint8_t request); uint8_t uartGnss_isPowerDownRequested(void); uartGnssStatus_t uartGnss_GetState(void); void uartGnss_SetState(uartGnssStatus_t newState); void uartGnss_Control(void); void uartGnss_ProcessData(uint8_t data); uint8_t uartGnss_isSensorConnected(); void uartGnss_SendCmd(uint8_t GnssCmd); #endif /* UART_PROTOCOL_GNSS_H */