Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit c701d67

Browse files
committedApr 1, 2021
Adding support for multiple message rates
1 parent de5e739 commit c701d67

File tree

4 files changed

+326
-89
lines changed

4 files changed

+326
-89
lines changed
 

‎examples/Example27_MultipleRates/Example27_MultipleRates.ino

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
basically do whatever you want with this code.
88
99
This example shows how to configure the U-Blox GNSS to output multiple messages at different rates:
10-
PVT is output once per measurement;
11-
POS_ECEF is output every second measurement;
12-
VEL_NED is output every third measurement.
10+
PVT is output every second;
11+
POSECEF is output every five seconds;
12+
VELNED is output every ten seconds.
1313
1414
Feel like supporting open source hardware?
1515
Buy a board from SparkFun!
@@ -46,9 +46,9 @@ void setup()
4646
myGNSS.setMeasurementRate(1000); //Produce a measurement every 1000ms
4747
myGNSS.setNavigationRate(1); //Produce a navigation solution every measurement
4848

49-
myGNSS.setAutoPVTrate(1); //Tell the GNSS to "send" each PVT solution every measurement
50-
//myGNSS.setAutoPOSECEFrate(2); //Tell the GNSS to "send" each POS_ECEF solution every second measurement
51-
myGNSS.setAutoNAVVELNEDrate(3); //Tell the GNSS to "send" each VEL_NED solution every third measurement
49+
myGNSS.setAutoPVTrate(1); //Tell the GNSS to send the PVT solution every measurement
50+
myGNSS.setAutoNAVPOSECEFrate(5); //Tell the GNSS to send each POSECEF solution every 5th measurement
51+
myGNSS.setAutoNAVVELNEDrate(10); //Tell the GNSS to send each VELNED solution every 10th measurement
5252
//myGNSS.saveConfiguration(); //Optional: Save the current settings to flash and BBR
5353
}
5454

@@ -72,7 +72,23 @@ void loop()
7272
Serial.println(F(" (mm)"));
7373
}
7474

75-
// Calling getVELNED returns true if there actually is fresh velocity data available.
75+
// Calling getNAVPOSECEF returns true if there actually is a fresh position solution available.
76+
if (myGNSS.getNAVPOSECEF())
77+
{
78+
Serial.print(F("ecefX: "));
79+
Serial.print((float)myGNSS.packetUBXNAVPOSECEF->data.ecefX / 100.0, 2); // convert ecefX to m
80+
81+
Serial.print(F(" ecefY: "));
82+
Serial.print((float)myGNSS.packetUBXNAVPOSECEF->data.ecefY / 100.0, 2); // convert ecefY to m
83+
84+
Serial.print(F(" ecefZ: "));
85+
Serial.print((float)myGNSS.packetUBXNAVPOSECEF->data.ecefZ / 100.0, 2); // convert ecefY to m
86+
Serial.println(F(" (m)"));
87+
88+
myGNSS.flushNAVPOSECEF(); //Mark all the data as read/stale so we get fresh data next time
89+
}
90+
91+
// Calling getNAVVELNED returns true if there actually is fresh velocity data available.
7692
if (myGNSS.getNAVVELNED())
7793
{
7894
Serial.print(F("velN: "));

‎keywords.txt

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ sendCfgValset32 KEYWORD2
166166

167167
getNAVPOSECEF KEYWORD2
168168
setAutoNAVPOSECEF KEYWORD2
169-
setAutoNAVPOSECEF KEYWORD2
169+
setAutoNAVPOSECEFrate KEYWORD2
170170
setAutoNAVPOSECEFcallback KEYWORD2
171171
assumeAutoNAVPOSECEF KEYWORD2
172172
initPacketUBXNAVPOSECEF KEYWORD2
@@ -175,7 +175,7 @@ logNAVPOSECEF KEYWORD2
175175

176176
getNAVSTATUS KEYWORD2
177177
setAutoNAVSTATUS KEYWORD2
178-
setAutoNAVSTATUS KEYWORD2
178+
setAutoNAVSTATUSrate KEYWORD2
179179
setAutoNAVSTATUScallback KEYWORD2
180180
assumeAutoNAVSTATUS KEYWORD2
181181
initPacketUBXNAVSTATUS KEYWORD2
@@ -184,7 +184,7 @@ logNAVSTATUS KEYWORD2
184184

185185
getDOP KEYWORD2
186186
setAutoDOP KEYWORD2
187-
setAutoDOP KEYWORD2
187+
setAutoDOPrate KEYWORD2
188188
setAutoDOPcallback KEYWORD2
189189
assumeAutoDOP KEYWORD2
190190
initPacketUBXNAVDOP KEYWORD2
@@ -194,7 +194,7 @@ logNAVDOP KEYWORD2
194194
getVehAtt KEYWORD2
195195
getNAVATT KEYWORD2
196196
setAutoNAVATT KEYWORD2
197-
setAutoNAVATT KEYWORD2
197+
setAutoNAVATTrate KEYWORD2
198198
setAutoNAVATTcallback KEYWORD2
199199
assumeAutoNAVATT KEYWORD2
200200
initPacketUBXNAVATT KEYWORD2
@@ -203,7 +203,7 @@ logNAVATT KEYWORD2
203203

204204
getPVT KEYWORD2
205205
setAutoPVT KEYWORD2
206-
setAutoPVT KEYWORD2
206+
setAutoPVTrate KEYWORD2
207207
setAutoPVTcallback KEYWORD2
208208
assumeAutoPVT KEYWORD2
209209
initPacketUBXNAVPVT KEYWORD2
@@ -212,7 +212,7 @@ logNAVPVT KEYWORD2
212212

213213
getNAVODO KEYWORD2
214214
setAutoNAVODO KEYWORD2
215-
setAutoNAVODO KEYWORD2
215+
setAutoNAVODOrate KEYWORD2
216216
setAutoNAVODOcallback KEYWORD2
217217
assumeAutoNAVODO KEYWORD2
218218
initPacketUBXNAVODO KEYWORD2
@@ -221,7 +221,7 @@ logNAVODO KEYWORD2
221221

222222
getNAVVELECEF KEYWORD2
223223
setAutoNAVVELECEF KEYWORD2
224-
setAutoNAVVELECEF KEYWORD2
224+
setAutoNAVVELECEFrate KEYWORD2
225225
setAutoNAVVELECEFcallback KEYWORD2
226226
assumeAutoNAVVELECEF KEYWORD2
227227
initPacketUBXNAVVELECEF KEYWORD2
@@ -230,6 +230,7 @@ logNAVVELECEF KEYWORD2
230230

231231
getNAVVELNED KEYWORD2
232232
setAutoNAVVELNED KEYWORD2
233+
setAutoNAVVELNEDrate KEYWORD2
233234
setAutoNAVVELNEDcallback KEYWORD2
234235
assumeAutoNAVVELNED KEYWORD2
235236
initPacketUBXNAVVELNED KEYWORD2
@@ -238,7 +239,7 @@ logNAVVELNED KEYWORD2
238239

239240
getNAVHPPOSECEF KEYWORD2
240241
setAutoNAVHPPOSECEF KEYWORD2
241-
setAutoNAVHPPOSECEF KEYWORD2
242+
setAutoNAVHPPOSECEFrate KEYWORD2
242243
setAutoNAVHPPOSECEFcallback KEYWORD2
243244
assumeAutoNAVHPPOSECEF KEYWORD2
244245
initPacketUBXNAVHPPOSECEF KEYWORD2
@@ -247,7 +248,7 @@ logNAVHPPOSECEF KEYWORD2
247248

248249
getHPPOSLLH KEYWORD2
249250
setAutoHPPOSLLH KEYWORD2
250-
setAutoHPPOSLLH KEYWORD2
251+
setAutoHPPOSLLHrate KEYWORD2
251252
setAutoHPPOSLLHcallback KEYWORD2
252253
assumeAutoHPPOSLLH KEYWORD2
253254
initPacketUBXNAVHPPOSLLH KEYWORD2
@@ -256,7 +257,7 @@ logNAVHPPOSLLH KEYWORD2
256257

257258
getNAVCLOCK KEYWORD2
258259
setAutoNAVCLOCK KEYWORD2
259-
setAutoNAVCLOCK KEYWORD2
260+
setAutoNAVCLOCKrate KEYWORD2
260261
setAutoNAVCLOCKcallback KEYWORD2
261262
assumeAutoNAVCLOCK KEYWORD2
262263
initPacketUBXNAVCLOCK KEYWORD2
@@ -268,6 +269,7 @@ initPacketUBXNAVSVIN KEYWORD2
268269

269270
getRELPOSNED KEYWORD2
270271
setAutoRELPOSNED KEYWORD2
272+
setAutoRELPOSNEDrate KEYWORD2
271273
setAutoRELPOSNEDcallback KEYWORD2
272274
assumeAutoRELPOSNED KEYWORD2
273275
initPacketUBXNAVRELPOSNED KEYWORD2
@@ -276,6 +278,7 @@ logNAVRELPOSNED KEYWORD2
276278

277279
getRXMSFRBX KEYWORD2
278280
setAutoRXMSFRBX KEYWORD2
281+
setAutoRXMSFRBXrate KEYWORD2
279282
setAutoRXMSFRBXcallback KEYWORD2
280283
assumeAutoRXMSFRBX KEYWORD2
281284
initPacketUBXRXMSFRBX KEYWORD2
@@ -284,7 +287,7 @@ logRXMSFRBX KEYWORD2
284287

285288
getRXMRAWX KEYWORD2
286289
setAutoRXMRAWX KEYWORD2
287-
setAutoRXMRAWX KEYWORD2
290+
setAutoRXMRAWXrate KEYWORD2
288291
setAutoRXMRAWXcallback KEYWORD2
289292
assumeAutoRXMRAWX KEYWORD2
290293
initPacketUBXRXMRAWX KEYWORD2
@@ -293,6 +296,7 @@ logRXMRAWX KEYWORD2
293296

294297
getTIMTM2 KEYWORD2
295298
setAutoTIMTM2 KEYWORD2
299+
setAutoTIMTM2rate KEYWORD2
296300
setAutoTIMTM2callback KEYWORD2
297301
assumeAutoTIMTM2 KEYWORD2
298302
initPacketUBXTIMTM2 KEYWORD2
@@ -302,6 +306,7 @@ logTIMTM2 KEYWORD2
302306
getEsfAlignment KEYWORD2
303307
getESFALG KEYWORD2
304308
setAutoESFALG KEYWORD2
309+
setAutoESFALGrate KEYWORD2
305310
setAutoESFALGcallback KEYWORD2
306311
assumeAutoESFALG KEYWORD2
307312
initPacketUBXESFALG KEYWORD2
@@ -311,6 +316,7 @@ logESFALG KEYWORD2
311316
getEsfInfo KEYWORD2
312317
getESFSTATUS KEYWORD2
313318
setAutoESFSTATUS KEYWORD2
319+
setAutoESFSTATUSrate KEYWORD2
314320
setAutoESFSTATUScallback KEYWORD2
315321
assumeAutoESFSTATUS KEYWORD2
316322
initPacketUBXESFSTATUS KEYWORD2
@@ -320,6 +326,7 @@ logESFSTATUS KEYWORD2
320326
getEsfIns KEYWORD2
321327
getESFINS KEYWORD2
322328
setAutoESFINS KEYWORD2
329+
setAutoESFINSrate KEYWORD2
323330
setAutoESFINScallback KEYWORD2
324331
assumeAutoESFINS KEYWORD2
325332
initPacketUBXESFINS KEYWORD2
@@ -329,6 +336,7 @@ logESFINS KEYWORD2
329336
getEsfDataInfo KEYWORD2
330337
getESFMEAS KEYWORD2
331338
setAutoESFMEAS KEYWORD2
339+
setAutoESFMEASrate KEYWORD2
332340
setAutoESFMEAScallback KEYWORD2
333341
assumeAutoESFMEAS KEYWORD2
334342
initPacketUBXESFMEAS KEYWORD2
@@ -338,6 +346,7 @@ logESFMEAS KEYWORD2
338346
getEsfRawDataInfo KEYWORD2
339347
getESFRAW KEYWORD2
340348
setAutoESFRAW KEYWORD2
349+
setAutoESFRAWrate KEYWORD2
341350
setAutoESFRAWcallback KEYWORD2
342351
assumeAutoESFRAW KEYWORD2
343352
initPacketUBXESFRAW KEYWORD2
@@ -347,6 +356,7 @@ logESFRAW KEYWORD2
347356
getHNRAtt KEYWORD2
348357
getHNRATT KEYWORD2
349358
setAutoHNRATT KEYWORD2
359+
setAutoHNRATTrate KEYWORD2
350360
setAutoHNRATTcallback KEYWORD2
351361
assumeAutoHNRATT KEYWORD2
352362
initPacketUBXHNRATT KEYWORD2
@@ -356,6 +366,7 @@ logHNRATT KEYWORD2
356366
getHNRDyn KEYWORD2
357367
getHNRINS KEYWORD2
358368
setAutoHNRINS KEYWORD2
369+
setAutoHNRINSrate KEYWORD2
359370
setAutoHNRINScallback KEYWORD2
360371
assumeAutoHNRINS KEYWORD2
361372
initPacketUBXHNRINS KEYWORD2
@@ -364,7 +375,7 @@ logHNRINS KEYWORD2
364375

365376
getHNRPVT KEYWORD2
366377
setAutoHNRPVT KEYWORD2
367-
setAutoHNRPVT KEYWORD2
378+
setAutoHNRPVTrate KEYWORD2
368379
setAutoHNRPVTcallback KEYWORD2
369380
assumeAutoHNRPVT KEYWORD2
370381
initPacketUBXHNRPVT KEYWORD2

‎src/SparkFun_u-blox_GNSS_Arduino_Library.cpp

Lines changed: 257 additions & 68 deletions
Large diffs are not rendered by default.

‎src/SparkFun_u-blox_GNSS_Arduino_Library.h

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -700,6 +700,7 @@ class SFE_UBLOX_GNSS
700700
boolean getNAVPOSECEF(uint16_t maxWait = defaultMaxWait); // NAV POSECEF
701701
boolean setAutoNAVPOSECEF(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic POSECEF reports at the navigation frequency
702702
boolean setAutoNAVPOSECEF(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic POSECEF reports at the navigation frequency, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
703+
boolean setAutoNAVPOSECEFrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic POSECEF reports
703704
boolean setAutoNAVPOSECEFcallback(void (*callbackPointer)(UBX_NAV_POSECEF_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic POSECEF reports at the navigation frequency. Data is accessed from the callback.
704705
boolean assumeAutoNAVPOSECEF(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and POSECEF is send cyclically already
705706
void flushNAVPOSECEF(); //Mark all the data as read/stale
@@ -708,6 +709,7 @@ class SFE_UBLOX_GNSS
708709
boolean getNAVSTATUS(uint16_t maxWait = defaultMaxWait); // NAV STATUS
709710
boolean setAutoNAVSTATUS(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic STATUS reports at the navigation frequency
710711
boolean setAutoNAVSTATUS(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic STATUS reports at the navigation frequency, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
712+
boolean setAutoNAVSTATUSrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic STATUS reports
711713
boolean setAutoNAVSTATUScallback(void (*callbackPointer)(UBX_NAV_STATUS_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic STATUS reports at the navigation frequency. Data is accessed from the callback.
712714
boolean assumeAutoNAVSTATUS(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and STATUS is send cyclically already
713715
void flushNAVSTATUS(); //Mark all the data as read/stale
@@ -716,6 +718,7 @@ class SFE_UBLOX_GNSS
716718
boolean getDOP(uint16_t maxWait = defaultMaxWait); //Query module for latest dilution of precision values and load global vars:. If autoDOP is disabled, performs an explicit poll and waits, if enabled does not block. Returns true if new DOP is available.
717719
boolean setAutoDOP(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic DOP reports at the navigation frequency
718720
boolean setAutoDOP(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic DOP reports at the navigation frequency, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
721+
boolean setAutoDOPrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic DOP reports
719722
boolean setAutoDOPcallback(void (*callbackPointer)(UBX_NAV_DOP_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic DOP reports at the navigation frequency. Data is accessed from the callback.
720723
boolean assumeAutoDOP(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and DOP is send cyclically already
721724
void flushDOP(); //Mark all the DOP data as read/stale
@@ -725,6 +728,7 @@ class SFE_UBLOX_GNSS
725728
boolean getNAVATT(uint16_t maxWait = defaultMaxWait); // NAV ATT
726729
boolean setAutoNAVATT(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic vehicle attitude reports at the navigation frequency
727730
boolean setAutoNAVATT(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic vehicle attitude reports at the navigation frequency, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
731+
boolean setAutoNAVATTrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic ATT reports
728732
boolean setAutoNAVATTcallback(void (*callbackPointer)(UBX_NAV_ATT_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic ATT reports at the navigation frequency. Data is accessed from the callback.
729733
boolean assumeAutoNAVATT(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and vehicle attitude is send cyclically already
730734
void flushNAVATT(); //Mark all the data as read/stale
@@ -733,7 +737,7 @@ class SFE_UBLOX_GNSS
733737
boolean getPVT(uint16_t maxWait = defaultMaxWait); //Query module for latest group of datums and load global vars: lat, long, alt, speed, SIV, accuracies, etc. If autoPVT is disabled, performs an explicit poll and waits, if enabled does not block. Returns true if new PVT is available.
734738
boolean setAutoPVT(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic PVT reports at the navigation frequency
735739
boolean setAutoPVT(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic PVT reports at the navigation frequency, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
736-
boolean setAutoPVTrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic PVT reports at the navigation frequency, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
740+
boolean setAutoPVTrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic PVT reports
737741
boolean setAutoPVTcallback(void (*callbackPointer)(UBX_NAV_PVT_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic PVT reports at the navigation frequency. Data is accessed from the callback.
738742
boolean assumeAutoPVT(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and PVT is send cyclically already
739743
void flushPVT(); //Mark all the PVT data as read/stale
@@ -742,6 +746,7 @@ class SFE_UBLOX_GNSS
742746
boolean getNAVODO(uint16_t maxWait = defaultMaxWait); // NAV ODO
743747
boolean setAutoNAVODO(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic ODO reports at the navigation frequency
744748
boolean setAutoNAVODO(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic ODO reports at the navigation frequency, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
749+
boolean setAutoNAVODOrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic ODO reports
745750
boolean setAutoNAVODOcallback(void (*callbackPointer)(UBX_NAV_ODO_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic ODO reports at the navigation frequency. Data is accessed from the callback.
746751
boolean assumeAutoNAVODO(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and ODO is send cyclically already
747752
void flushNAVODO(); //Mark all the data as read/stale
@@ -750,6 +755,7 @@ class SFE_UBLOX_GNSS
750755
boolean getNAVVELECEF(uint16_t maxWait = defaultMaxWait); // NAV VELECEF
751756
boolean setAutoNAVVELECEF(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic VELECEF reports at the navigation frequency
752757
boolean setAutoNAVVELECEF(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic VELECEF reports at the navigation frequency, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
758+
boolean setAutoNAVVELECEFrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic VELECEF reports
753759
boolean setAutoNAVVELECEFcallback(void (*callbackPointer)(UBX_NAV_VELECEF_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic VELECEF reports at the navigation frequency. Data is accessed from the callback.
754760
boolean assumeAutoNAVVELECEF(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and VELECEF is send cyclically already
755761
void flushNAVVELECEF(); //Mark all the data as read/stale
@@ -758,7 +764,7 @@ class SFE_UBLOX_GNSS
758764
boolean getNAVVELNED(uint16_t maxWait = defaultMaxWait); // NAV VELNED
759765
boolean setAutoNAVVELNED(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic VELNED reports at the navigation frequency
760766
boolean setAutoNAVVELNED(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic VELNED reports at the navigation frequency, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
761-
boolean setAutoNAVVELNEDrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic VELNED reports at the navigation frequency, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
767+
boolean setAutoNAVVELNEDrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic VELNED reports
762768
boolean setAutoNAVVELNEDcallback(void (*callbackPointer)(UBX_NAV_VELNED_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic VELNED reports at the navigation frequency. Data is accessed from the callback.
763769
boolean assumeAutoNAVVELNED(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and VELNED is send cyclically already
764770
void flushNAVVELNED(); //Mark all the data as read/stale
@@ -767,6 +773,7 @@ class SFE_UBLOX_GNSS
767773
boolean getNAVHPPOSECEF(uint16_t maxWait = defaultMaxWait); // NAV HPPOSECEF
768774
boolean setAutoNAVHPPOSECEF(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic HPPOSECEF reports at the navigation frequency
769775
boolean setAutoNAVHPPOSECEF(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic HPPOSECEF reports at the navigation frequency, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
776+
boolean setAutoNAVHPPOSECEFrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic HPPOSECEF reports
770777
boolean setAutoNAVHPPOSECEFcallback(void (*callbackPointer)(UBX_NAV_HPPOSECEF_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic HPPOSECEF reports at the navigation frequency. Data is accessed from the callback.
771778
boolean assumeAutoNAVHPPOSECEF(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and HPPOSECEF is send cyclically already
772779
void flushNAVHPPOSECEF(); //Mark all the data as read/stale
@@ -775,6 +782,7 @@ class SFE_UBLOX_GNSS
775782
boolean getHPPOSLLH(uint16_t maxWait = defaultMaxWait); //Query module for latest group of datums and load global vars: lat, long, alt, speed, SIV, accuracies, etc. If autoPVT is disabled, performs an explicit poll and waits, if enabled does not block. Returns true if new HPPOSLLH is available.
776783
boolean setAutoHPPOSLLH(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic HPPOSLLH reports at the navigation frequency
777784
boolean setAutoHPPOSLLH(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic HPPOSLLH reports at the navigation frequency, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
785+
boolean setAutoHPPOSLLHrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic HPPOSLLH reports
778786
boolean setAutoHPPOSLLHcallback(void (*callbackPointer)(UBX_NAV_HPPOSLLH_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic HPPOSLLH reports at the navigation frequency. Data is accessed from the callback.
779787
boolean assumeAutoHPPOSLLH(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and HPPOSLLH is send cyclically already
780788
void flushHPPOSLLH(); //Mark all the HPPPOSLLH data as read/stale. This is handy to get data alignment after CRC failure
@@ -783,6 +791,7 @@ class SFE_UBLOX_GNSS
783791
boolean getNAVCLOCK(uint16_t maxWait = defaultMaxWait); // NAV CLOCK
784792
boolean setAutoNAVCLOCK(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic clock reports at the navigation frequency
785793
boolean setAutoNAVCLOCK(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic clock reports at the navigation frequency, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
794+
boolean setAutoNAVCLOCKrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic CLOCK reports
786795
boolean setAutoNAVCLOCKcallback(void (*callbackPointer)(UBX_NAV_CLOCK_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic CLOCK reports at the navigation frequency. Data is accessed from the callback.
787796
boolean assumeAutoNAVCLOCK(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and clock is send cyclically already
788797
void flushNAVCLOCK(); //Mark all the data as read/stale
@@ -794,6 +803,7 @@ class SFE_UBLOX_GNSS
794803
boolean getRELPOSNED(uint16_t maxWait = defaultMaxWait); //Get Relative Positioning Information of the NED frame
795804
boolean setAutoRELPOSNED(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic RELPOSNED reports
796805
boolean setAutoRELPOSNED(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic RELPOSNED, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
806+
boolean setAutoRELPOSNEDrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic RELPOSNEDreports
797807
boolean setAutoRELPOSNEDcallback(void (*callbackPointer)(UBX_NAV_RELPOSNED_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic RELPOSNED reports at the navigation frequency. Data is accessed from the callback.
798808
boolean assumeAutoRELPOSNED(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and RELPOSNED is send cyclically already
799809
void flushNAVRELPOSNED(); //Mark all the data as read/stale
@@ -804,6 +814,7 @@ class SFE_UBLOX_GNSS
804814
boolean getRXMSFRBX(uint16_t maxWait = defaultMaxWait); // RXM SFRBX
805815
boolean setAutoRXMSFRBX(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic RXM SFRBX reports at the navigation frequency
806816
boolean setAutoRXMSFRBX(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic RXM SFRBX reports at the navigation frequency, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
817+
boolean setAutoRXMSFRBXrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic SFRBX reports
807818
boolean setAutoRXMSFRBXcallback(void (*callbackPointer)(UBX_RXM_SFRBX_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic SFRBX reports at the navigation frequency. Data is accessed from the callback.
808819
boolean assumeAutoRXMSFRBX(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and RXM SFRBX is send cyclically already
809820
void flushRXMSFRBX(); //Mark all the data as read/stale
@@ -812,6 +823,7 @@ class SFE_UBLOX_GNSS
812823
boolean getRXMRAWX(uint16_t maxWait = defaultMaxWait); // RXM RAWX
813824
boolean setAutoRXMRAWX(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic RXM RAWX reports at the navigation frequency
814825
boolean setAutoRXMRAWX(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic RXM RAWX reports at the navigation frequency, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
826+
boolean setAutoRXMRAWXrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic RAWX reports
815827
boolean setAutoRXMRAWXcallback(void (*callbackPointer)(UBX_RXM_RAWX_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic RAWX reports at the navigation frequency. Data is accessed from the callback.
816828
boolean assumeAutoRXMRAWX(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and RXM RAWX is send cyclically already
817829
void flushRXMRAWX(); //Mark all the data as read/stale
@@ -827,6 +839,7 @@ class SFE_UBLOX_GNSS
827839
boolean getTIMTM2(uint16_t maxWait = defaultMaxWait); // TIM TM2
828840
boolean setAutoTIMTM2(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic TIM TM2 reports at the navigation frequency
829841
boolean setAutoTIMTM2(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic TIM TM2 reports at the navigation frequency, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
842+
boolean setAutoTIMTM2rate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic TIM TM2 reports
830843
boolean setAutoTIMTM2callback(void (*callbackPointer)(UBX_TIM_TM2_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic TM2 reports at the navigation frequency. Data is accessed from the callback.
831844
boolean assumeAutoTIMTM2(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and TIM TM2 is send cyclically already
832845
void flushTIMTM2(); //Mark all the data as read/stale
@@ -838,6 +851,7 @@ class SFE_UBLOX_GNSS
838851
boolean getESFALG(uint16_t maxWait = defaultMaxWait); // ESF ALG
839852
boolean setAutoESFALG(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic ESF ALG reports
840853
boolean setAutoESFALG(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic ESF ALG reports, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
854+
boolean setAutoESFALGrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic ALG reports
841855
boolean setAutoESFALGcallback(void (*callbackPointer)(UBX_ESF_ALG_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic ALG reports at the navigation frequency. Data is accessed from the callback.
842856
boolean assumeAutoESFALG(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and ESF ALG is send cyclically already
843857
void flushESFALG(); //Mark all the data as read/stale
@@ -847,6 +861,7 @@ class SFE_UBLOX_GNSS
847861
boolean getESFSTATUS(uint16_t maxWait = defaultMaxWait); // ESF STATUS
848862
boolean setAutoESFSTATUS(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic ESF STATUS reports
849863
boolean setAutoESFSTATUS(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic ESF STATUS reports, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
864+
boolean setAutoESFSTATUSrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic STATUS reports
850865
boolean setAutoESFSTATUScallback(void (*callbackPointer)(UBX_ESF_STATUS_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic STATUS reports at the navigation frequency. Data is accessed from the callback.
851866
boolean assumeAutoESFSTATUS(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and ESF STATUS is send cyclically already
852867
void flushESFSTATUS(); //Mark all the data as read/stale
@@ -856,6 +871,7 @@ class SFE_UBLOX_GNSS
856871
boolean getESFINS(uint16_t maxWait = defaultMaxWait); // ESF INS
857872
boolean setAutoESFINS(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic ESF INS reports
858873
boolean setAutoESFINS(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic ESF INS reports, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
874+
boolean setAutoESFINSrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic INS reports
859875
boolean setAutoESFINScallback(void (*callbackPointer)(UBX_ESF_INS_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic INS reports at the navigation frequency. Data is accessed from the callback.
860876
boolean assumeAutoESFINS(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and ESF INS is send cyclically already
861877
void flushESFINS(); //Mark all the data as read/stale
@@ -865,6 +881,7 @@ class SFE_UBLOX_GNSS
865881
boolean getESFMEAS(uint16_t maxWait = defaultMaxWait); // ESF MEAS
866882
boolean setAutoESFMEAS(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic ESF MEAS reports
867883
boolean setAutoESFMEAS(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic ESF MEAS reports, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
884+
boolean setAutoESFMEASrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic MEAS reports
868885
boolean setAutoESFMEAScallback(void (*callbackPointer)(UBX_ESF_MEAS_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic MEAS reports at the navigation frequency. Data is accessed from the callback.
869886
boolean assumeAutoESFMEAS(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and ESF MEAS is send cyclically already
870887
void flushESFMEAS(); //Mark all the data as read/stale
@@ -874,6 +891,7 @@ class SFE_UBLOX_GNSS
874891
boolean getESFRAW(uint16_t maxWait = defaultMaxWait); // ESF RAW
875892
boolean setAutoESFRAW(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic ESF RAW reports
876893
boolean setAutoESFRAW(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic ESF RAW reports, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
894+
boolean setAutoESFRAWrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic RAW reports
877895
boolean setAutoESFRAWcallback(void (*callbackPointer)(UBX_ESF_RAW_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic RAW reports at the navigation frequency. Data is accessed from the callback.
878896
boolean assumeAutoESFRAW(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and ESF RAW is send cyclically already
879897
void flushESFRAW(); //Mark all the data as read/stale
@@ -885,6 +903,7 @@ class SFE_UBLOX_GNSS
885903
boolean getHNRATT(uint16_t maxWait = defaultMaxWait); // Returns true if the get HNR attitude is successful
886904
boolean setAutoHNRATT(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic HNR Attitude reports at the HNR rate
887905
boolean setAutoHNRATT(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic HNR Attitude reports at the HNR rate, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
906+
boolean setAutoHNRATTrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic ATT reports
888907
boolean setAutoHNRATTcallback(void (*callbackPointer)(UBX_HNR_ATT_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic ATT reports at the navigation frequency. Data is accessed from the callback.
889908
boolean assumeAutoHNRATT(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and HNR Attitude is send cyclically already
890909
void flushHNRATT(); //Mark all the data as read/stale
@@ -894,6 +913,7 @@ class SFE_UBLOX_GNSS
894913
boolean getHNRINS(uint16_t maxWait = defaultMaxWait); // Returns true if the get HNR dynamics is successful
895914
boolean setAutoHNRINS(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic HNR dynamics reports at the HNR rate
896915
boolean setAutoHNRINS(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic HNR dynamics reports at the HNR rate, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
916+
boolean setAutoHNRINSrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic INS reports
897917
boolean setAutoHNRINScallback(void (*callbackPointer)(UBX_HNR_INS_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic INS reports at the navigation frequency. Data is accessed from the callback.
898918
boolean assumeAutoHNRINS(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and HNR dynamics is send cyclically already
899919
void flushHNRINS(); //Mark all the data as read/stale
@@ -902,6 +922,7 @@ class SFE_UBLOX_GNSS
902922
boolean getHNRPVT(uint16_t maxWait = defaultMaxWait); // Returns true if the get HNR PVT is successful
903923
boolean setAutoHNRPVT(boolean enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic HNR PVT reports at the HNR rate
904924
boolean setAutoHNRPVT(boolean enabled, boolean implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic HNR PVT reports at the HNR rate, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
925+
boolean setAutoHNRPVTrate(uint8_t rate, boolean implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic PVT reports
905926
boolean setAutoHNRPVTcallback(void (*callbackPointer)(UBX_HNR_PVT_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic PVT reports at the navigation frequency. Data is accessed from the callback.
906927
boolean assumeAutoHNRPVT(boolean enabled, boolean implicitUpdate = true); //In case no config access to the GPS is possible and HNR PVT is send cyclically already
907928
void flushHNRPVT(); //Mark all the data as read/stale

0 commit comments

Comments
 (0)
Please sign in to comment.