annotate Small_CPU/Inc/uartProtocol_GNSS.h @ 918:f72613a152dd Evo_2_23

Switch external interface tx communication to DMA: In the previous version the transmitting of data was done in polling mode. With the introduction of new sensors the length of commands send to the sensor may increase and have a impact to the runtim behavior of the SW. To avoid this the DMA transfers for TX has been activated.
author Ideenmodellierer
date Sun, 03 Nov 2024 15:40:55 +0100
parents 2225c467f1e9
children c0553dd70608
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 {
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
36 UART_GNSS_INIT = 0, /* Default Status for every sensor type */
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
37 UART_GNSS_LOAD, /* Load modul configuration */
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
38 UART_GNSS_GET_ID, /* get unique module ID */
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
39 UART_GNSS_IDLE, /* sensor detected and no communication pending */
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
40 UART_GNSS_ERROR,
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
41 UART_GNSS_OPERATING, /* normal operation => cyclic request of PVT data */
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
42 } uartGnssStatus_t;
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
43
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
44 typedef enum
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 GNSSRX_READY = 0, /* Initial state */
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
47 GNSSRX_RECEIVING, /* Pending data receiption */
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
48 } receiveStateGnss_t;
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
49
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
50
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
51 void uartGnss_Control(void);
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
52 void uartGnss_ProcessData(void);
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
53 uint8_t uartSentinel_isSensorConnected();
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
54
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents:
diff changeset
55 #endif /* UART_PROTOCOL_GNSS_H */