@@ -23,7 +23,8 @@ bool configureUbloxModule()
23
23
}
24
24
25
25
// The first thing we do is go to 1Hz to lighten any I2C traffic from a previous configuration
26
- response &= i2cGNSS.newCfgValset16 (UBLOX_CFG_RATE_MEAS, 1000 );
26
+ response &= i2cGNSS.newCfgValset ();
27
+ response &= i2cGNSS.addCfgValset16 (UBLOX_CFG_RATE_MEAS, 1000 );
27
28
response &= i2cGNSS.addCfgValset16 (UBLOX_CFG_RATE_NAV, 1 );
28
29
29
30
// Survey mode is only available on ZED-F9P modules
@@ -41,7 +42,7 @@ bool configureUbloxModule()
41
42
response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_UART1INPROT_NMEA, 1 );
42
43
response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_UART1INPROT_RTCM3X, 1 );
43
44
44
- response &= i2cGNSS.addCfgValset32 (UBLOX_CFG_UART1_BAUDRATE, settings.dataPortBaud ); // Defaults to 460800 to maximize message output support
45
+ response &= i2cGNSS.addCfgValset32 (UBLOX_CFG_UART1_BAUDRATE, settings.dataPortBaud ); // Defaults to 230400 to maximize message output support
45
46
response &= i2cGNSS.addCfgValset32 (UBLOX_CFG_UART2_BAUDRATE, settings.radioPortBaud ); // Defaults to 57600 to match SiK telemetry radio firmware default
46
47
47
48
// Disable SPI port - This is just to remove some overhead by ZED
@@ -79,21 +80,25 @@ bool configureUbloxModule()
79
80
response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_USBOUTPROT_RTCM3X, 1 );
80
81
response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_USBINPROT_UBX, 1 );
81
82
response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_USBINPROT_NMEA, 1 );
82
- response &= i2cGNSS.sendCfgValset8 (UBLOX_CFG_USBINPROT_RTCM3X, 1 );
83
+ response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_USBINPROT_RTCM3X, 1 ); // 35
83
84
84
- // Enable the constellations the user has set
85
- response &= setConstellations (false ); // Do not apply newCfg or sendCfg to value set
85
+ response &= i2cGNSS.sendCfgValset ();
86
86
87
+ // Enable the constellations the user has set
88
+ response &= setConstellations (true ); // 19 messages. Send newCfg or sendCfg with value set
87
89
if (response == false )
88
90
Serial.println (" Module failed config block 1" );
91
+ response = true ; // Reset
89
92
90
93
// Make sure the appropriate messages are enabled
91
- response &= enableMessages (); // Does a complete open/closed val set
94
+ response &= setMessages (); // 73 messages. Does a complete open/closed val set
92
95
if (response == false )
93
96
Serial.println (" Module failed config block 2" );
97
+ response = true ; // Reset
94
98
95
99
// Disable NMEA messages on all but UART1
96
- response &= i2cGNSS.newCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_GGA_I2C, 0 );
100
+ response &= i2cGNSS.newCfgValset ();
101
+ response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_GGA_I2C, 0 );
97
102
response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_GSA_I2C, 0 );
98
103
response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_GSV_I2C, 0 );
99
104
response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_RMC_I2C, 0 );
@@ -116,6 +121,7 @@ bool configureUbloxModule()
116
121
response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_GST_SPI, 0 );
117
122
response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_GLL_SPI, 0 );
118
123
response &= i2cGNSS.sendCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_VTG_SPI, 0 );
124
+ response &= i2cGNSS.sendCfgValset ();
119
125
120
126
if (response == false )
121
127
Serial.println (" Module failed config block 3" );
@@ -450,32 +456,32 @@ void settingsToDefaults()
450
456
// Enable all the valid messages for this platform
451
457
// There are 73 messages so split in two batches, limited to 64 a batch
452
458
// Uses dummy newCfg and sendCfg values to be sure we open/close a complete set
453
- bool enableMessages ()
459
+ bool setMessages ()
454
460
{
455
461
bool response = true ;
456
462
457
- response &= i2cGNSS.newCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_GLL_SPI, 0 ); // Dummy opening value - #1
458
- for (int x = 0 ; x < 62 ; x++)
463
+ response &= i2cGNSS.newCfgValset ();
464
+ for (int x = 0 ; x < 36 ; x++)
459
465
{
460
466
if (settings.ubxMessages [x].supported & zedModuleType)
461
467
response &= i2cGNSS.addCfgValset8 (settings.ubxMessages [x].msgConfigKey , settings.ubxMessages [x].msgRate );
462
468
}
463
- response &= i2cGNSS.sendCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_VTG_SPI, 0 ); // Dummy closing value - #64
469
+ response &= i2cGNSS.sendCfgValset ();
464
470
465
- // Final 11 messages
466
- response &= i2cGNSS.newCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_GLL_SPI, 0 ); // Dummy opening value - #1
467
- for (int x = 62 ; x < MAX_UBX_MSG ; x++)
471
+ // Final messages
472
+ response &= i2cGNSS.newCfgValset ();
473
+ for (int x = 36 ; x < MAX_UBX_MSG ; x++)
468
474
{
469
475
if (settings.ubxMessages [x].supported & zedModuleType)
470
476
response &= i2cGNSS.addCfgValset8 (settings.ubxMessages [x].msgConfigKey , settings.ubxMessages [x].msgRate );
471
477
}
472
- response &= i2cGNSS.sendCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_VTG_SPI, 0 ); // Dummy closing value - #13
478
+ response &= i2cGNSS.sendCfgValset ();
473
479
474
480
return (response);
475
481
}
476
482
477
483
// Enable all the valid messages for this platform over the USB port
478
- bool enableMessagesUSB ()
484
+ bool setMessagesUSB ()
479
485
{
480
486
bool response = true ;
481
487
@@ -487,12 +493,13 @@ bool enableMessagesUSB()
487
493
// Enable all the valid constellations and bands for this platform
488
494
// Band support varies between platforms and firmware versions
489
495
// We open/close a complete set if sendCompleteBatch = true
496
+ // 19 messages
490
497
bool setConstellations (bool sendCompleteBatch)
491
498
{
492
499
bool response = true ;
493
500
494
501
if (sendCompleteBatch)
495
- response &= i2cGNSS.newCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_GLL_SPI, 0 ); // Dummy opening value
502
+ response &= i2cGNSS.newCfgValset ();
496
503
497
504
response &= i2cGNSS.addCfgValset8 (settings.ubxConstellations [0 ].configKey , settings.ubxConstellations [0 ].enabled ); // GPS
498
505
response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_SIGNAL_GPS_L1CA_ENA, settings.ubxConstellations [0 ].enabled );
@@ -531,10 +538,10 @@ bool setConstellations(bool sendCompleteBatch)
531
538
532
539
response &= i2cGNSS.addCfgValset8 (settings.ubxConstellations [5 ].configKey , settings.ubxConstellations [5 ].enabled ); // GLO
533
540
response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_SIGNAL_GLO_L1_ENA, settings.ubxConstellations [5 ].enabled );
534
- response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_SIGNAL_GLO_L2_ENA, settings.ubxConstellations [5 ].enabled ); // 53 keys
541
+ response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_SIGNAL_GLO_L2_ENA, settings.ubxConstellations [5 ].enabled );
535
542
536
543
if (sendCompleteBatch)
537
- response &= i2cGNSS.sendCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_VTG_SPI, 0 ); // Dummy closing value
544
+ response &= i2cGNSS.sendCfgValset ();
538
545
539
546
return (response);
540
547
}
0 commit comments