@@ -23,7 +23,8 @@ bool configureUbloxModule()
2323 }
2424
2525 // 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 );
2728 response &= i2cGNSS.addCfgValset16 (UBLOX_CFG_RATE_NAV, 1 );
2829
2930 // Survey mode is only available on ZED-F9P modules
@@ -41,7 +42,7 @@ bool configureUbloxModule()
4142 response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_UART1INPROT_NMEA, 1 );
4243 response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_UART1INPROT_RTCM3X, 1 );
4344
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
4546 response &= i2cGNSS.addCfgValset32 (UBLOX_CFG_UART2_BAUDRATE, settings.radioPortBaud ); // Defaults to 57600 to match SiK telemetry radio firmware default
4647
4748 // Disable SPI port - This is just to remove some overhead by ZED
@@ -79,21 +80,25 @@ bool configureUbloxModule()
7980 response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_USBOUTPROT_RTCM3X, 1 );
8081 response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_USBINPROT_UBX, 1 );
8182 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
8384
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 ();
8686
87+ // Enable the constellations the user has set
88+ response &= setConstellations (true ); // 19 messages. Send newCfg or sendCfg with value set
8789 if (response == false )
8890 Serial.println (" Module failed config block 1" );
91+ response = true ; // Reset
8992
9093 // 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
9295 if (response == false )
9396 Serial.println (" Module failed config block 2" );
97+ response = true ; // Reset
9498
9599 // 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 );
97102 response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_GSA_I2C, 0 );
98103 response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_GSV_I2C, 0 );
99104 response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_RMC_I2C, 0 );
@@ -116,6 +121,7 @@ bool configureUbloxModule()
116121 response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_GST_SPI, 0 );
117122 response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_GLL_SPI, 0 );
118123 response &= i2cGNSS.sendCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_VTG_SPI, 0 );
124+ response &= i2cGNSS.sendCfgValset ();
119125
120126 if (response == false )
121127 Serial.println (" Module failed config block 3" );
@@ -450,32 +456,32 @@ void settingsToDefaults()
450456// Enable all the valid messages for this platform
451457// There are 73 messages so split in two batches, limited to 64 a batch
452458// Uses dummy newCfg and sendCfg values to be sure we open/close a complete set
453- bool enableMessages ()
459+ bool setMessages ()
454460{
455461 bool response = true ;
456462
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++)
459465 {
460466 if (settings.ubxMessages [x].supported & zedModuleType)
461467 response &= i2cGNSS.addCfgValset8 (settings.ubxMessages [x].msgConfigKey , settings.ubxMessages [x].msgRate );
462468 }
463- response &= i2cGNSS.sendCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_VTG_SPI, 0 ); // Dummy closing value - #64
469+ response &= i2cGNSS.sendCfgValset ();
464470
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++)
468474 {
469475 if (settings.ubxMessages [x].supported & zedModuleType)
470476 response &= i2cGNSS.addCfgValset8 (settings.ubxMessages [x].msgConfigKey , settings.ubxMessages [x].msgRate );
471477 }
472- response &= i2cGNSS.sendCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_VTG_SPI, 0 ); // Dummy closing value - #13
478+ response &= i2cGNSS.sendCfgValset ();
473479
474480 return (response);
475481}
476482
477483// Enable all the valid messages for this platform over the USB port
478- bool enableMessagesUSB ()
484+ bool setMessagesUSB ()
479485{
480486 bool response = true ;
481487
@@ -487,12 +493,13 @@ bool enableMessagesUSB()
487493// Enable all the valid constellations and bands for this platform
488494// Band support varies between platforms and firmware versions
489495// We open/close a complete set if sendCompleteBatch = true
496+ // 19 messages
490497bool setConstellations (bool sendCompleteBatch)
491498{
492499 bool response = true ;
493500
494501 if (sendCompleteBatch)
495- response &= i2cGNSS.newCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_GLL_SPI, 0 ); // Dummy opening value
502+ response &= i2cGNSS.newCfgValset ();
496503
497504 response &= i2cGNSS.addCfgValset8 (settings.ubxConstellations [0 ].configKey , settings.ubxConstellations [0 ].enabled ); // GPS
498505 response &= i2cGNSS.addCfgValset8 (UBLOX_CFG_SIGNAL_GPS_L1CA_ENA, settings.ubxConstellations [0 ].enabled );
@@ -531,10 +538,10 @@ bool setConstellations(bool sendCompleteBatch)
531538
532539 response &= i2cGNSS.addCfgValset8 (settings.ubxConstellations [5 ].configKey , settings.ubxConstellations [5 ].enabled ); // GLO
533540 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 );
535542
536543 if (sendCompleteBatch)
537- response &= i2cGNSS.sendCfgValset8 (UBLOX_CFG_MSGOUT_NMEA_ID_VTG_SPI, 0 ); // Dummy closing value
544+ response &= i2cGNSS.sendCfgValset ();
538545
539546 return (response);
540547}
0 commit comments