annotate Small_CPU/Inc/uartProtocol_GNSS.h @ 927:908d9a8e8c84 Evo_2_23

Cleanup Internal Uart: The internal UART was using the wrong UART RX channel. In addition the compile switches have been updated to allow GNSS data flow if new GPIO config is available or if GNSS is enabled for the external UART.
author Ideenmodellierer
date Tue, 26 Nov 2024 21:01:13 +0100
parents c0553dd70608
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
899
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
1 /**
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
2 ******************************************************************************
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
3 * @file uartProtocol_GNSS.h
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
4 * @author heinrichs weikamp gmbh
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
5 * @version V0.0.1
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
6 * @date 30-Sep-2024
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
7 * @brief Interface functionality for operation of gnss devices
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
8 *
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
9 @verbatim
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
10 ==============================================================================
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
11 ##### How to use #####
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
12 ==============================================================================
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
13 @endverbatim
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
14 ******************************************************************************
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
15 * @attention
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
16 *
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
17 * <h2><center>&copy; COPYRIGHT(c) 2014 heinrichs weikamp</center></h2>
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
18 *
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
19 ******************************************************************************
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
20 */
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
21
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
22 /* Define to prevent recursive inclusion -------------------------------------*/
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
23 #ifndef UART_PROTOCOL_GNSS_H
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
24 #define UART_PROTOCOL_GNSS_H
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
25
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
26 #ifdef __cplusplus
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
27 extern "C" {
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
28 #endif
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
29
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
30 /* Includes ------------------------------------------------------------------*/
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
31 #include "configuration.h"
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
32 #include "stm32f4xx_hal.h"
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
33
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
34 typedef enum
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
35 {
919
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
36 UART_GNSS_INIT = 0, /* Default Status for every sensor type */
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
37 UART_GNSS_IDLE, /* sensor detected and no communication pending */
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
38 UART_GNSS_ERROR, /* Error message received from sensor */
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
39 UART_GNSS_WARMUP = 10,
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
40 UART_GNSS_LOADCONF_0,
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
41 UART_GNSS_LOADCONF_1,
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
42 UART_GNSS_LOADCONF_2,
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
43 UART_GNSS_GET_PVT,
899
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
44 } uartGnssStatus_t;
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
45
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
46 typedef enum
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
47 {
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
48 GNSSRX_READY = 0, /* Initial state */
919
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
49 GNSSRX_DETECT_HEADER_0,
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
50 GNSSRX_DETECT_HEADER_1,
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
51 GNSSRX_DETECT_HEADER_2,
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
52 GNSSRX_DETECT_HEADER_3,
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
53 GNSSRX_DETECT_ACK_0,
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
54 GNSSRX_DETECT_ACK_1,
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
55 GNSSRX_DETECT_ACK_2,
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
56 GNSSRX_DETECT_ACK_3,
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
57 GNSSRX_READ_NAV_DATA,
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
58 GNSSRX_READ_PVT_DATA,
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
59 GNSSRX_READ_POSLLH_DATA
899
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
60 } receiveStateGnss_t;
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
61
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
62
919
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
63 typedef enum
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
64 {
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
65 GNSSCMD_LOADCONF_0 = 0,
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
66 GNSSCMD_LOADCONF_1,
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
67 GNSSCMD_LOADCONF_2,
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
68 GNSSCMD_GET_NAV_DATA,
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
69 GNSSCMD_GET_PVT_DATA,
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
70 GNSSCMD_GET_POSLLH_DATA
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
71 } gnssSensorCmd_t;
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
72
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
73
899
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
74 void uartGnss_Control(void);
919
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
75 void uartGnss_ProcessData(uint8_t data);
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
76 uint8_t uartGnss_isSensorConnected();
c0553dd70608 GNSS support for external UART interface:
Ideenmodellierer
parents: 899
diff changeset
77 void uartGnss_SendCmd(uint8_t GnssCmd);
899
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
78
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
79 #endif /* UART_PROTOCOL_GNSS_H */