annotate Small_CPU/Inc/GNSS.h @ 1028:3d9552e4997c GasConsumption

Code improvment: line <=> menu id function: In generell the structure of the menus is defined by the tStructure.h using global state defines. In some implementation hardcoded line numbers are used. Risk: In case the order of menu items change the update of other code sections could be forgotten (in the case the update of the top menu) causing unintended behavior. To avoid this the hard coded lines have been replaced by a function connecting the intended function to the menu item defined in the tstructure.h.
author Ideenmodellierer
date Sun, 07 Sep 2025 19:08:43 +0200
parents efb7d18cc564
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
887
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
1 /*
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
2 * GNSS.h
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
3 *
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
4 * Created on: 03.10.2020
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
5 * Author: SimpleMethod
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
6 *
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
7 *Copyright 2020 SimpleMethod
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
8 *
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
9 *Permission is hereby granted, free of charge, to any person obtaining a copy of
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
10 *this software and associated documentation files (the "Software"), to deal in
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
11 *the Software without restriction, including without limitation the rights to
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
12 *use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
13 *of the Software, and to permit persons to whom the Software is furnished to do
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
14 *so, subject to the following conditions:
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
15 *
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
16 *The above copyright notice and this permission notice shall be included in all
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
17 *copies or substantial portions of the Software.
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
18 *
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
19 *THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
20 *IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
21 *FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
22 *AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
23 *LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
24 *OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
25 *THE SOFTWARE.
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
26 ******************************************************************************
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
27 */
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
28
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
29 #ifndef INC_GNSS_H_
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
30 #define INC_GNSS_H_
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
31
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
32 #include "stm32f4xx_hal.h"
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
33
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
34 union u_Short
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
35 {
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
36 uint8_t bytes[2];
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
37 unsigned short uShort;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
38 };
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
39
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
40 union i_Short
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
41 {
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
42 uint8_t bytes[2];
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
43 signed short iShort;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
44 };
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
45
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
46 union u_Long
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
47 {
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
48 uint8_t bytes[4];
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
49 unsigned long uLong;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
50 };
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
51
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
52 union i_Long
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
53 {
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
54 uint8_t bytes[4];
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
55 signed long iLong;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
56 };
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
57
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
58 typedef struct
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
59 {
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
60 UART_HandleTypeDef *huart;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
61
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
62 uint8_t uniqueID[4];
931
5a9bc2e6112d Added Sat Status Overview:
Ideenmodellierer
parents: 899
diff changeset
63 uint8_t uartWorkingBuffer[255];
887
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
64
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
65 unsigned short year;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
66 uint8_t yearBytes[2];
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
67 uint8_t month;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
68 uint8_t day;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
69 uint8_t hour;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
70 uint8_t min;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
71 uint8_t sec;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
72 uint8_t fixType;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
73
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
74 signed long lon;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
75 uint8_t lonBytes[4];
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
76 signed long lat;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
77 uint8_t latBytes[4];
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
78 float fLon;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
79 float fLat;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
80
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
81 signed long height;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
82 signed long hMSL;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
83 uint8_t hMSLBytes[4];
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
84 unsigned long hAcc;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
85 unsigned long vAcc;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
86
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
87 signed long gSpeed;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
88 uint8_t gSpeedBytes[4];
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
89 signed long headMot;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
90
931
5a9bc2e6112d Added Sat Status Overview:
Ideenmodellierer
parents: 899
diff changeset
91 uint8_t numSat;
5a9bc2e6112d Added Sat Status Overview:
Ideenmodellierer
parents: 899
diff changeset
92 uint8_t statSat[4];
5a9bc2e6112d Added Sat Status Overview:
Ideenmodellierer
parents: 899
diff changeset
93
940
4a406e873a95 GNSS improvments:
Ideenmodellierer
parents: 939
diff changeset
94 uint8_t alive;
4a406e873a95 GNSS improvments:
Ideenmodellierer
parents: 939
diff changeset
95
955
9b29995d6619 GNSS backup position:
Ideenmodellierer
parents: 948
diff changeset
96 float last_fLon; /* last known position storage and time stamp */
9b29995d6619 GNSS backup position:
Ideenmodellierer
parents: 948
diff changeset
97 float last_fLat;
9b29995d6619 GNSS backup position:
Ideenmodellierer
parents: 948
diff changeset
98 float last_hour;
9b29995d6619 GNSS backup position:
Ideenmodellierer
parents: 948
diff changeset
99
887
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
100 }GNSS_StateHandle;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
101
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
102 GNSS_StateHandle GNSS_Handle;
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
103
1000
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
104 typedef struct {
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
105 uint8_t header1;
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
106 uint8_t header2;
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
107 uint8_t msgClass;
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
108 uint8_t msgID;
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
109 uint16_t length;
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
110 uint8_t type;
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
111 uint8_t version;
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
112 uint8_t ref;
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
113 uint8_t leapsec;
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
114 uint16_t year;
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
115 uint8_t month;
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
116 uint8_t day;
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
117 uint8_t hour;
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
118 uint8_t minute;
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
119 uint8_t second;
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
120 uint8_t flags;
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
121 uint32_t nanoseconds;
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
122 uint16_t accuracy_seconds;
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
123 uint16_t reserved;
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
124 uint32_t accuracy_nano;
1004
efb7d18cc564 DevelopmentOption: added the possibility to provide a fixed position info to the gnss module. Code is deactivated at the moment.
Ideenmodellierer
parents: 1000
diff changeset
125 } __attribute__((packed)) UBX_MGA_INI_TIME_UTC_t;
1000
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
126
1004
efb7d18cc564 DevelopmentOption: added the possibility to provide a fixed position info to the gnss module. Code is deactivated at the moment.
Ideenmodellierer
parents: 1000
diff changeset
127 typedef struct {
efb7d18cc564 DevelopmentOption: added the possibility to provide a fixed position info to the gnss module. Code is deactivated at the moment.
Ideenmodellierer
parents: 1000
diff changeset
128 uint8_t header1;
efb7d18cc564 DevelopmentOption: added the possibility to provide a fixed position info to the gnss module. Code is deactivated at the moment.
Ideenmodellierer
parents: 1000
diff changeset
129 uint8_t header2;
efb7d18cc564 DevelopmentOption: added the possibility to provide a fixed position info to the gnss module. Code is deactivated at the moment.
Ideenmodellierer
parents: 1000
diff changeset
130 uint8_t class_id;
efb7d18cc564 DevelopmentOption: added the possibility to provide a fixed position info to the gnss module. Code is deactivated at the moment.
Ideenmodellierer
parents: 1000
diff changeset
131 uint8_t msg_id;
efb7d18cc564 DevelopmentOption: added the possibility to provide a fixed position info to the gnss module. Code is deactivated at the moment.
Ideenmodellierer
parents: 1000
diff changeset
132 uint16_t length;
efb7d18cc564 DevelopmentOption: added the possibility to provide a fixed position info to the gnss module. Code is deactivated at the moment.
Ideenmodellierer
parents: 1000
diff changeset
133 uint8_t type;
efb7d18cc564 DevelopmentOption: added the possibility to provide a fixed position info to the gnss module. Code is deactivated at the moment.
Ideenmodellierer
parents: 1000
diff changeset
134 uint8_t version;
efb7d18cc564 DevelopmentOption: added the possibility to provide a fixed position info to the gnss module. Code is deactivated at the moment.
Ideenmodellierer
parents: 1000
diff changeset
135 uint16_t reserved;
efb7d18cc564 DevelopmentOption: added the possibility to provide a fixed position info to the gnss module. Code is deactivated at the moment.
Ideenmodellierer
parents: 1000
diff changeset
136 int32_t latitude;
efb7d18cc564 DevelopmentOption: added the possibility to provide a fixed position info to the gnss module. Code is deactivated at the moment.
Ideenmodellierer
parents: 1000
diff changeset
137 int32_t longitude;
efb7d18cc564 DevelopmentOption: added the possibility to provide a fixed position info to the gnss module. Code is deactivated at the moment.
Ideenmodellierer
parents: 1000
diff changeset
138 int32_t altitude;
efb7d18cc564 DevelopmentOption: added the possibility to provide a fixed position info to the gnss module. Code is deactivated at the moment.
Ideenmodellierer
parents: 1000
diff changeset
139 uint32_t accuracy;
efb7d18cc564 DevelopmentOption: added the possibility to provide a fixed position info to the gnss module. Code is deactivated at the moment.
Ideenmodellierer
parents: 1000
diff changeset
140 } __attribute__((packed)) UBX_MGA_INI_POS_LLH_t;
1000
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
141
887
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
142
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
143 enum GNSSMode{Portable=0, Stationary=1, Pedestrian=2, Automotiv=3, Airbone1G=5, Airbone2G=6,Airbone4G=7,Wirst=8,Bike=9};
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
144
933
43055e069bd1 UART Gnss: Added fletcher calculation:
Ideenmodellierer
parents: 931
diff changeset
145 static const uint8_t configUBX[]={0xB5,0x62,0x06,0x00,0x14,0x00,0x01,0x00,0x00,0x00,0xD0,0x08,0x00,0x00,0x80,0x25,0x00,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00};
887
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
146
933
43055e069bd1 UART Gnss: Added fletcher calculation:
Ideenmodellierer
parents: 931
diff changeset
147 static const uint8_t setNMEA410[]={0xB5,0x62,0x06,0x17,0x14,0x00,0x00,0x41,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
887
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
148
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
149 //Activation of navigation system: Galileo, Glonass, GPS, SBAS, IMES
933
43055e069bd1 UART Gnss: Added fletcher calculation:
Ideenmodellierer
parents: 931
diff changeset
150 static const uint8_t setGNSS[]={0xB5,0x62,0x06,0x3E,0x24,0x00,0x00,0x00,0x20,0x04,0x00,0x08,0x10,0x00,0x01,0x00,0x01,0x01,0x01,0x01,0x03,0x00,0x01,0x00,0x01,0x01,0x02,0x04,0x08,0x00,0x01,0x00,0x01,0x01,0x06,0x08,0x0E,0x00,0x01,0x00,0x01,0x01};
887
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
151
933
43055e069bd1 UART Gnss: Added fletcher calculation:
Ideenmodellierer
parents: 931
diff changeset
152 static const uint8_t getDeviceID[]={0xB5,0x62,0x27,0x03,0x00,0x00};
887
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
153
933
43055e069bd1 UART Gnss: Added fletcher calculation:
Ideenmodellierer
parents: 931
diff changeset
154 static const uint8_t getNavigatorData[]={0xB5,0x62,0x01,0x21,0x00,0x00};
931
5a9bc2e6112d Added Sat Status Overview:
Ideenmodellierer
parents: 899
diff changeset
155
933
43055e069bd1 UART Gnss: Added fletcher calculation:
Ideenmodellierer
parents: 931
diff changeset
156 static const uint8_t getPOSLLHData[]={0xB5,0x62,0x01,0x02,0x00,0x00};
887
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
157
933
43055e069bd1 UART Gnss: Added fletcher calculation:
Ideenmodellierer
parents: 931
diff changeset
158 static const uint8_t getPVTData[]={0xB5,0x62,0x01,0x07,0x00,0x00};
887
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
159
933
43055e069bd1 UART Gnss: Added fletcher calculation:
Ideenmodellierer
parents: 931
diff changeset
160 static const uint8_t getNavSat[]={0xB5,0x62,0x01,0x35,0x00,0x00};
887
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
161
948
abdd72c8b567 GNSS sleep mode:
Ideenmodellierer
parents: 940
diff changeset
162 static const uint8_t setPowerLow[]={0xB5,0x62,0x06,0x86,0x08,0x00,0x00,0x02,0x10,0x0E,0x14,0x00,0x00,0x00};
936
3029f0332f4f GNSS introduced power saving mode:
Ideenmodellierer
parents: 933
diff changeset
163
939
f41974734268 Resume UART com with gnss after sleep:
Ideenmodellierer
parents: 936
diff changeset
164 static const uint8_t setPowerNormal[]={0xB5,0x62,0x06,0x86,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
887
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
165
1000
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
166 /* UBX-CFG-NAV5 */
933
43055e069bd1 UART Gnss: Added fletcher calculation:
Ideenmodellierer
parents: 931
diff changeset
167 static const uint8_t setPortableMode[]={0xB5,0x62,0x06,0x24,0x24,0x00,0xFF,0xFF,0x00,0x03,0x00,0x00,0x00,0x00,0x10,0x27,0x00,0x00,0x05,0x00,0xFA,0x00,0xFA,0x00,0x64,0x00,0x5E,0x01,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
43055e069bd1 UART Gnss: Added fletcher calculation:
Ideenmodellierer
parents: 931
diff changeset
168 static const uint8_t setPedestrianMode[]={0xB5,0x62,0x06,0x24,0x24,0x00,0xFF,0xFF,0x03,0x03,0x00,0x00,0x00,0x00,0x10,0x27,0x00,0x00,0x05,0x00,0xFA,0x00,0xFA,0x00,0x64,0x00,0x5E,0x01,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
43055e069bd1 UART Gnss: Added fletcher calculation:
Ideenmodellierer
parents: 931
diff changeset
169
936
3029f0332f4f GNSS introduced power saving mode:
Ideenmodellierer
parents: 933
diff changeset
170 static const uint8_t setConfig[]={0xB5,0x62,0x06,0x09,0x0D,0x00, 0x00,0x00,0x00,0x00, 0x18,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x01};
1000
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
171 /* UBX-MGA-INI-TIME_UTC */
c386ae6635e4 Improve GNSS operation:
Ideenmodellierer
parents: 955
diff changeset
172 static const uint8_t setDateTime[] = {0xB5,0x62,0x13,0x40,0x18,0x00,0x10,0x00,0x00,0x80,0x07,0xE9,0x01,0x02,0x03,0x04,0x05,0x00,0x01,0x02,0x03,0x04,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00};
887
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
173
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
174 static const uint8_t setPortableType[]={};
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
175 void GNSS_Init(GNSS_StateHandle *GNSS, UART_HandleTypeDef *huart);
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
176 void GNSS_LoadConfig(GNSS_StateHandle *GNSS);
899
2225c467f1e9 Added data path and visualization for position data:
Ideenmodellierer
parents: 887
diff changeset
177 uint8_t GNSS_ParseBuffer(GNSS_StateHandle *GNSS);
887
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
178
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
179 void GNSS_GetUniqID(GNSS_StateHandle *GNSS);
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
180 void GNSS_ParseUniqID(GNSS_StateHandle *GNSS);
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
181
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
182 void GNSS_GetNavigatorData(GNSS_StateHandle *GNSS);
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
183 void GNSS_ParseNavigatorData(GNSS_StateHandle *GNSS);
931
5a9bc2e6112d Added Sat Status Overview:
Ideenmodellierer
parents: 899
diff changeset
184 void GNSS_ParseNavSatData(GNSS_StateHandle *GNSS);
887
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
185
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
186 void GNSS_GetPOSLLHData(GNSS_StateHandle *GNSS);
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
187 void GNSS_ParsePOSLLHData(GNSS_StateHandle *GNSS);
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
188
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
189 void GNSS_GetPVTData(GNSS_StateHandle *GNSS);
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
190 void GNSS_ParsePVTData(GNSS_StateHandle *GNSS);
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
191
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
192 void GNSS_SetMode(GNSS_StateHandle *GNSS, short gnssMode);
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
193 #endif /* INC_GNSS_H_ */
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
194
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
195
17f02ac9da67 adding GNSS code
heinrichsweikamp
parents:
diff changeset
196