@@ -144,6 +144,62 @@ void printPVTdata(UBX_NAV_PVT_data_t *ubxDataStruct)
144144
145145// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
146146
147+ //  Callback: printRTCMdata1005 will be called when new RTCM 1005 data has been parsed from pushRawData
148+ //  See u-blox_structs.h for the full definition of RTCM_1005_data_t
149+ //          _____  You can use any name you like for the callback. Use the same name when you call setRTCM1005InputcallbackPtr
150+ //         /                 _____  This _must_ be RTCM_1005_data_t
151+ //         |                /                   _____ You can use any name you like for the struct
152+ //         |                |                  /
153+ //         |                |                  |
154+ void  printRTCMdata1005 (RTCM_1005_data_t *rtcmData1005)
155+ {
156+   double  x = rtcmData1005->AntennaReferencePointECEFX ;
157+   x /= 10000.0 ; //  Convert to m
158+   double  y = rtcmData1005->AntennaReferencePointECEFY ;
159+   y /= 10000.0 ; //  Convert to m
160+   double  z = rtcmData1005->AntennaReferencePointECEFZ ;
161+   z /= 10000.0 ; //  Convert to m
162+ 
163+   Serial.print (F (" NTRIP Server RTCM 1005:  ARP ECEF-X: "  ));
164+   Serial.print (x, 4 ); //  4 decimal places
165+   Serial.print (F ("   Y: "  ));
166+   Serial.print (y, 4 ); //  4 decimal places
167+   Serial.print (F ("   Z: "  ));
168+   Serial.println (z, 4 ); //  4 decimal places
169+ }
170+ 
171+ // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
172+ 
173+ //  Callback: printRTCMdata1006 will be called when new RTCM 1006 data has been parsed from pushRawData
174+ //  See u-blox_structs.h for the full definition of RTCM_1006_data_t
175+ //          _____  You can use any name you like for the callback. Use the same name when you call setRTCM1006InputcallbackPtr
176+ //         /                 _____  This _must_ be RTCM_1006_data_t
177+ //         |                /                   _____ You can use any name you like for the struct
178+ //         |                |                  /
179+ //         |                |                  |
180+ void  printRTCMdata1006 (RTCM_1006_data_t *rtcmData1006)
181+ {
182+   double  x = rtcmData1006->AntennaReferencePointECEFX ;
183+   x /= 10000.0 ; //  Convert to m
184+   double  y = rtcmData1006->AntennaReferencePointECEFY ;
185+   y /= 10000.0 ; //  Convert to m
186+   double  z = rtcmData1006->AntennaReferencePointECEFZ ;
187+   z /= 10000.0 ; //  Convert to m
188+   double  h = rtcmData1006->AntennaHeight ;
189+   h /= 10000.0 ; //  Convert to m
190+ 
191+   Serial.print (F (" NTRIP Server RTCM 1006:  ARP ECEF-X: "  ));
192+   Serial.print (x, 4 ); //  4 decimal places
193+   Serial.print (F ("   Y: "  ));
194+   Serial.print (y, 4 ); //  4 decimal places
195+   Serial.print (F ("   Z: "  ));
196+   Serial.print (z, 4 ); //  4 decimal places
197+   Serial.print (F ("   Height: "  ));
198+   Serial.println (h, 4 ); //  4 decimal places
199+ }
200+ 
201+ // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
202+ 
147203void  setup ()
148204{
149205  delay (1000 );
@@ -176,6 +232,9 @@ void setup()
176232
177233  myGNSS.setAutoPVTcallbackPtr (&printPVTdata); //  Enable automatic NAV PVT messages with callback to printPVTdata so we can watch the carrier solution go to fixed
178234
235+   myGNSS.setRTCM1005InputcallbackPtr (&printRTCMdata1005); //  Set up a callback to print the RTCM 1005 Antenna Reference Position from the correction data
236+   myGNSS.setRTCM1006InputcallbackPtr (&printRTCMdata1006); //  Set up a callback to print the RTCM 1006 Antenna Reference Position from the correction data
237+ 
179238  // myGNSS.saveConfiguration(VAL_CFG_SUBSEC_IOPORT | VAL_CFG_SUBSEC_MSGCONF); //Optional: Save the ioPort and message settings to NVM
180239
181240  // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
@@ -230,54 +289,6 @@ void loop()
230289
231290  // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
232291
233-   //  Check if the library has been able to extract the Antenna Reference Position from an RTCM 1005 message
234- 
235-   RTCM_1005_data_t rtcmData1005;
236- 
237-   if  (myGNSS.getLatestRTCM1005Input (&rtcmData1005) == 2 ) //  RTCM 1005 data received? 0 = no data, 1 = stale data, 2 = fresh data
238-   {
239-     double  x = rtcmData1005.AntennaReferencePointECEFX ;
240-     x /= 10000.0 ; //  Convert to m
241-     double  y = rtcmData1005.AntennaReferencePointECEFY ;
242-     y /= 10000.0 ; //  Convert to m
243-     double  z = rtcmData1005.AntennaReferencePointECEFZ ;
244-     z /= 10000.0 ; //  Convert to m
245- 
246-     Serial.print (F (" NTRIP Server RTCM 1005:  ARP ECEF-X: "  ));
247-     Serial.print (x, 4 ); //  4 decimal places
248-     Serial.print (F ("   Y: "  ));
249-     Serial.print (y, 4 ); //  4 decimal places
250-     Serial.print (F ("   Z: "  ));
251-     Serial.println (z, 4 ); //  4 decimal places
252-   }
253- 
254-   //  Check if the library has been able to extract the Antenna Reference Position from an RTCM 1006 message
255- 
256-   RTCM_1006_data_t rtcmData1006;
257- 
258-   if  (myGNSS.getLatestRTCM1006Input (&rtcmData1006) == 2 ) //  RTCM 1006 data received? 0 = no data, 1 = stale data, 2 = fresh data
259-   {
260-     double  x = rtcmData1006.AntennaReferencePointECEFX ;
261-     x /= 10000.0 ; //  Convert to m
262-     double  y = rtcmData1006.AntennaReferencePointECEFY ;
263-     y /= 10000.0 ; //  Convert to m
264-     double  z = rtcmData1006.AntennaReferencePointECEFZ ;
265-     z /= 10000.0 ; //  Convert to m
266-     double  h = rtcmData1006.AntennaHeight ;
267-     h /= 10000.0 ; //  Convert to m
268- 
269-     Serial.print (F (" NTRIP Server RTCM 1006:  ARP ECEF-X: "  ));
270-     Serial.print (x, 4 ); //  4 decimal places
271-     Serial.print (F ("   Y: "  ));
272-     Serial.print (y, 4 ); //  4 decimal places
273-     Serial.print (F ("   Z: "  ));
274-     Serial.print (z, 4 ); //  4 decimal places
275-     Serial.print (F ("   Height: "  ));
276-     Serial.println (h, 4 ); //  4 decimal places
277-   }
278- 
279-   // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
280- 
281292  switch  (state)
282293  {
283294    case  open_connection:
0 commit comments