view Small_CPU/Inc/uartProtocol_GNSS.h @ 980:7149f372b0ba
Evo_2_23
Fix a couple of bugs in the scrubber timer:
- double speed scrubber countdown in simulator mode
- unwanted updating of last scrubber use date in simulator mode
- invalid remaining scrubber display in surface mode
(mikeller)
author
heinrichsweikamp
date
Tue, 04 Feb 2025 13:49:43 +0100 (6 weeks ago)
parents
f41974734268
children
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 */+ −