Skip to content

Commit 1934ef4

Browse files
committed
Use new newCfgValset/sendCfgValset
1 parent 0015f25 commit 1934ef4

File tree

6 files changed

+41
-30
lines changed

6 files changed

+41
-30
lines changed

Firmware/RTK_Surveyor/Base.ino

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ bool configureUbloxModuleBase()
2020
bool response = true;
2121

2222
//In Base mode we force 1Hz
23-
response &= i2cGNSS.newCfgValset16(UBLOX_CFG_RATE_MEAS, 1000);
23+
response &= i2cGNSS.newCfgValset();
24+
response &= i2cGNSS.addCfgValset16(UBLOX_CFG_RATE_MEAS, 1000);
2425
response &= i2cGNSS.addCfgValset16(UBLOX_CFG_RATE_NAV, 1);
2526

2627
//Since we are at 1Hz, allow GSV NMEA to be reported at whatever the user has chosen
@@ -67,7 +68,7 @@ bool configureUbloxModuleBase()
6768
response &= i2cGNSS.addCfgValset8(UBLOX_CFG_MSGOUT_RTCM_3X_TYPE1124_UART2, 1);
6869
response &= i2cGNSS.addCfgValset8(UBLOX_CFG_MSGOUT_RTCM_3X_TYPE1230_UART2, 1);
6970

70-
response &= i2cGNSS.sendCfgValset8(UBLOX_CFG_MSGOUT_NMEA_ID_VTG_SPI, 0); //Dummy closing value - #31
71+
response &= i2cGNSS.sendCfgValset(); //Closing value - #31
7172

7273
if (response == false)
7374
Serial.println("Base config fail");

Firmware/RTK_Surveyor/Rover.ino

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ bool configureUbloxModuleRover()
1818
bool response = true;
1919

2020
//Set output rate
21-
response &= i2cGNSS.newCfgValset16(UBLOX_CFG_RATE_MEAS, settings.measurementRate);
21+
response &= i2cGNSS.newCfgValset();
22+
response &= i2cGNSS.addCfgValset16(UBLOX_CFG_RATE_MEAS, settings.measurementRate);
2223
response &= i2cGNSS.addCfgValset16(UBLOX_CFG_RATE_NAV, settings.navigationRate);
2324

2425
//Survey mode is only available on ZED-F9P modules
@@ -64,7 +65,8 @@ bool configureUbloxModuleRover()
6465
response &= i2cGNSS.addCfgValset8(UBLOX_CFG_SFIMU_AUTO_MNTALG_ENA, settings.autoIMUmountAlignment); //Enable/disable Automatic IMU-mount Alignment
6566
}
6667

67-
response &= i2cGNSS.sendCfgValset8(UBLOX_CFG_MSGOUT_NMEA_ID_VTG_SPI, 0); //Dummy closing value - 27 pairs
68+
response &= i2cGNSS.sendCfgValset(); //Closing - 27 keys
69+
6870
if (response == false) Serial.println("Rover config failed");
6971

7072
return (response);

Firmware/RTK_Surveyor/System.ino

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -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
490497
bool 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
}

Firmware/RTK_Surveyor/menuGNSS.ino

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,8 @@ bool setRate(double secondsBetweenSolutions)
321321
//Serial.printf("measurementRate / navRate: %d / %d\r\n", measRate, navRate);
322322

323323
bool response = true;
324-
response &= i2cGNSS.newCfgValset16(UBLOX_CFG_RATE_MEAS, measRate);
324+
response &= i2cGNSS.newCfgValset();
325+
response &= i2cGNSS.addCfgValset16(UBLOX_CFG_RATE_MEAS, measRate);
325326
response &= i2cGNSS.addCfgValset16(UBLOX_CFG_RATE_NAV, navRate);
326327

327328
//If enabled, adjust GSV NMEA to be reported at 1Hz to avoid swamping SPP connection
@@ -335,7 +336,7 @@ bool setRate(double secondsBetweenSolutions)
335336
setMessageRateByName("UBX_NMEA_GSV", measurementFrequency); //Update GSV setting in file
336337
response &= i2cGNSS.addCfgValset8(settings.ubxMessages[8].msgConfigKey, settings.ubxMessages[8].msgRate); //Update rate on module
337338
}
338-
response &= i2cGNSS.sendCfgValset8(UBLOX_CFG_MSGOUT_NMEA_ID_VTG_SPI, 0); //Dummy closing value - max 4 pairs
339+
response &= i2cGNSS.sendCfgValset(); //Closing value - max 4 pairs
339340

340341
//If we successfully set rates, only then record to settings
341342
if (response == true)

Firmware/RTK_Surveyor/menuMessages.ino

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -199,12 +199,12 @@ void menuMessages()
199199
clearBuffer(); //Empty buffer of any newline chars
200200

201201
//Make sure the appropriate messages are enabled
202-
bool response = enableMessages(); //Does a complete open/closed val set
202+
bool response = setMessages(); //Does a complete open/closed val set
203203
if (response == false)
204204
{
205205
Serial.println("menuMessages: Failed to enable UART1 messages - Try 1");
206206

207-
response = enableMessages(); //Does a complete open/closed val set
207+
response = setMessages(); //Does a complete open/closed val set
208208

209209
if (response == false)
210210
Serial.println("menuMessages: Failed to enable UART1 messages - Try 2");
@@ -674,8 +674,8 @@ void setLogTestFrequencyMessages(int rate, int messages)
674674

675675

676676
//Apply these message rates to both UART1 and USB
677-
enableMessages(); //Does a complete open/closed val set
678-
enableMessagesUSB();
677+
setMessages(); //Does a complete open/closed val set
678+
setMessagesUSB();
679679
}
680680

681681
//The log test allows us to record a series of different system configurations into

Firmware/RTK_Surveyor/menuSystem.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -631,7 +631,7 @@ void menuDebug()
631631
}
632632
else if (incoming == 17)
633633
{
634-
bool response = enableMessagesUSB();
634+
bool response = setMessagesUSB();
635635

636636
if (response == false)
637637
Serial.println(F("Failed to enable USB messages"));

0 commit comments

Comments
 (0)