Skip to content

Commit 9df0b57

Browse files
committed
Add firmware version warning for SPARTN support
1 parent 122a934 commit 9df0b57

File tree

6 files changed

+126
-2
lines changed

6 files changed

+126
-2
lines changed

examples/AssistNow/AssistNow_Online/Example5_AssistNowOnline_MQTT/Example5_AssistNowOnline_MQTT.ino

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ void setup()
5050

5151
Wire.begin(); //Start I2C
5252

53+
//myGNSS.enableDebugging(); //Uncomment this line to enable helpful debug messages on Serial
54+
5355
if (myGNSS.begin() == false) //Connect to the Ublox module using Wire port
5456
{
5557
Serial.println(F("u-blox GPS not detected at default I2C address. Please check wiring. Freezing."));
@@ -58,7 +60,7 @@ void setup()
5860

5961
Serial.println(F("u-blox module connected"));
6062
myGNSS.setI2COutput(COM_TYPE_UBX); //Turn off NMEA noise
61-
myGNSS.setI2CInput(COM_TYPE_UBX | COM_TYPE_NMEA | COM_TYPE_SPARTN);
63+
myGNSS.setI2CInput(COM_TYPE_UBX | COM_TYPE_NMEA);
6264

6365
myGNSS.setNavigationFrequency(1); //Set output in Hz.
6466

@@ -106,6 +108,8 @@ void mqttMessageHandler(int messageSize)
106108
Serial.print(mqttClient.messageTopic());
107109
Serial.println(F(" topic to ZED"));
108110

111+
uint16_t mqttTotal = 0;
112+
109113
while (mqttClient.available())
110114
{
111115
uint16_t mqttCount = 0;
@@ -122,12 +126,17 @@ void mqttMessageHandler(int messageSize)
122126

123127
if (mqttCount > 0)
124128
{
125-
//Push KEYS or SPARTN data to GNSS module over I2C
129+
//Push AssistNow data to GNSS module over I2C
126130
myGNSS.pushRawData(mqttData, mqttCount, false);
127131
lastReceived_ms = millis();
132+
mqttTotal += mqttCount;
128133
}
129134
}
130135

136+
Serial.print(F("Pushed "));
137+
Serial.print(mqttTotal);
138+
Serial.println(F(" bytes to ZED"));
139+
131140
delete[] mqttData;
132141
}
133142

examples/NEO-D9S_and_NEO-D9C/Example2_LBand_Corrections_with_NEO-D9S/Example2_LBand_Corrections_with_NEO-D9S.ino

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,29 @@ void setup()
217217
}
218218
Serial.println(F("u-blox GNSS module connected"));
219219

220+
//Check the ZED firmware version - SPARTN is only supported on ZED-F9P from HPG 1.30 and ZED-F9R from HPS 1.21 onwards
221+
if (myGNSS.getModuleInfo())
222+
{
223+
Serial.print(F("FWVER: "));
224+
Serial.print(myGNSS.getFirmwareVersionHigh()); // Returns uint8_t
225+
Serial.print(F("."));
226+
Serial.println(myGNSS.getFirmwareVersionLow()); // Returns uint8_t
227+
228+
Serial.print(F("Firmware: "));
229+
Serial.println(myGNSS.getFirmwareType()); // Returns HPG, SPG etc. as (const char *)
230+
231+
if (strcmp(myGNSS.getFirmwareType(), "HPG") == 0)
232+
if ((myGNSS.getFirmwareVersionHigh() == 1) && (myGNSS.getFirmwareVersionLow() < 30))
233+
Serial.println("Your module is running old firmware which may not support SPARTN. Please upgrade.");
234+
235+
if (strcmp(myGNSS.getFirmwareType(), "HPS") == 0)
236+
if ((myGNSS.getFirmwareVersionHigh() == 1) && (myGNSS.getFirmwareVersionLow() < 21))
237+
Serial.println("Your module is running old firmware which may not support SPARTN. Please upgrade.");
238+
}
239+
else
240+
Serial.println(F("Error: could not read module info!"));
241+
242+
//Now configure the module
220243
uint8_t ok = myGNSS.setI2COutput(COM_TYPE_UBX); //Turn off NMEA noise
221244
if (ok) ok = myGNSS.setI2CInput(COM_TYPE_UBX | COM_TYPE_NMEA | COM_TYPE_SPARTN); //Be sure SPARTN input is enabled
222245
if (ok) ok = myGNSS.setUART2Input(COM_TYPE_UBX | COM_TYPE_NMEA | COM_TYPE_SPARTN); //Be sure SPARTN input is enabled

examples/NEO-D9S_and_NEO-D9C/Example3_LBand_Corrections_with_NEO-D9S_using_SPI/Example3_LBand_Corrections_with_NEO-D9S_using_SPI.ino

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,29 @@ void setup()
216216
}
217217
Serial.println(F("u-blox GNSS module connected"));
218218

219+
//Check the ZED firmware version - SPARTN is only supported on ZED-F9P from HPG 1.30 and ZED-F9R from HPS 1.21 onwards
220+
if (myGNSS.getModuleInfo())
221+
{
222+
Serial.print(F("FWVER: "));
223+
Serial.print(myGNSS.getFirmwareVersionHigh()); // Returns uint8_t
224+
Serial.print(F("."));
225+
Serial.println(myGNSS.getFirmwareVersionLow()); // Returns uint8_t
226+
227+
Serial.print(F("Firmware: "));
228+
Serial.println(myGNSS.getFirmwareType()); // Returns HPG, SPG etc. as (const char *)
229+
230+
if (strcmp(myGNSS.getFirmwareType(), "HPG") == 0)
231+
if ((myGNSS.getFirmwareVersionHigh() == 1) && (myGNSS.getFirmwareVersionLow() < 30))
232+
Serial.println("Your module is running old firmware which may not support SPARTN. Please upgrade.");
233+
234+
if (strcmp(myGNSS.getFirmwareType(), "HPS") == 0)
235+
if ((myGNSS.getFirmwareVersionHigh() == 1) && (myGNSS.getFirmwareVersionLow() < 21))
236+
Serial.println("Your module is running old firmware which may not support SPARTN. Please upgrade.");
237+
}
238+
else
239+
Serial.println(F("Error: could not read module info!"));
240+
241+
//Now configure the module
219242
bool ok = myGNSS.setSPIOutput(COM_TYPE_UBX); //Turn off NMEA noise
220243
if (ok) ok = myGNSS.setSPIInput(COM_TYPE_UBX | COM_TYPE_NMEA | COM_TYPE_SPARTN); //Be sure SPARTN input is enabled
221244
if (ok) ok = myGNSS.setDGNSSConfiguration(SFE_UBLOX_DGNSS_MODE_FIXED); // Set the differential mode - ambiguities are fixed whenever possible

examples/NEO-D9S_and_NEO-D9C/Example5_QZSSL6_Corrections_with_NEO-D9C/Example5_QZSSL6_Corrections_with_NEO-D9C.ino

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,29 @@ void setup()
237237
}
238238
Serial.println(F("u-blox GNSS module connected"));
239239

240+
//Check the ZED firmware version - SPARTN is only supported on ZED-F9P from HPG 1.30 and ZED-F9R from HPS 1.21 onwards
241+
if (myGNSS.getModuleInfo())
242+
{
243+
Serial.print(F("FWVER: "));
244+
Serial.print(myGNSS.getFirmwareVersionHigh()); // Returns uint8_t
245+
Serial.print(F("."));
246+
Serial.println(myGNSS.getFirmwareVersionLow()); // Returns uint8_t
247+
248+
Serial.print(F("Firmware: "));
249+
Serial.println(myGNSS.getFirmwareType()); // Returns HPG, SPG etc. as (const char *)
250+
251+
if (strcmp(myGNSS.getFirmwareType(), "HPG") == 0)
252+
if ((myGNSS.getFirmwareVersionHigh() == 1) && (myGNSS.getFirmwareVersionLow() < 30))
253+
Serial.println("Your module is running old firmware which may not support SPARTN. Please upgrade.");
254+
255+
if (strcmp(myGNSS.getFirmwareType(), "HPS") == 0)
256+
if ((myGNSS.getFirmwareVersionHigh() == 1) && (myGNSS.getFirmwareVersionLow() < 21))
257+
Serial.println("Your module is running old firmware which may not support SPARTN. Please upgrade.");
258+
}
259+
else
260+
Serial.println(F("Error: could not read module info!"));
261+
262+
//Now configure the module
240263
uint8_t ok = myGNSS.setUART1Output(COM_TYPE_UBX); //Turn off NMEA noise
241264
if (ok) ok = myGNSS.setUART2Input(COM_TYPE_UBX | COM_TYPE_RTCM3 | COM_TYPE_SPARTN); //Be sure SPARTN input is enabled on UART2
242265
if (ok) ok = myGNSS.setDGNSSConfiguration(SFE_UBLOX_DGNSS_MODE_FIXED); // Set the differential mode - ambiguities are fixed whenever possible

examples/NEO-D9S_and_NEO-D9C/Example6_PMP_with_L-Band_Keys_via_MQTT/Example6_PMP_with_L-Band_Keys_via_MQTT.ino

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,29 @@ void setup()
243243
}
244244
Serial.println(F("u-blox GNSS module connected"));
245245

246+
//Check the ZED firmware version - SPARTN is only supported on ZED-F9P from HPG 1.30 and ZED-F9R from HPS 1.21 onwards
247+
if (myGNSS.getModuleInfo())
248+
{
249+
Serial.print(F("FWVER: "));
250+
Serial.print(myGNSS.getFirmwareVersionHigh()); // Returns uint8_t
251+
Serial.print(F("."));
252+
Serial.println(myGNSS.getFirmwareVersionLow()); // Returns uint8_t
253+
254+
Serial.print(F("Firmware: "));
255+
Serial.println(myGNSS.getFirmwareType()); // Returns HPG, SPG etc. as (const char *)
256+
257+
if (strcmp(myGNSS.getFirmwareType(), "HPG") == 0)
258+
if ((myGNSS.getFirmwareVersionHigh() == 1) && (myGNSS.getFirmwareVersionLow() < 30))
259+
Serial.println("Your module is running old firmware which may not support SPARTN. Please upgrade.");
260+
261+
if (strcmp(myGNSS.getFirmwareType(), "HPS") == 0)
262+
if ((myGNSS.getFirmwareVersionHigh() == 1) && (myGNSS.getFirmwareVersionLow() < 21))
263+
Serial.println("Your module is running old firmware which may not support SPARTN. Please upgrade.");
264+
}
265+
else
266+
Serial.println(F("Error: could not read module info!"));
267+
268+
//Now configure the module
246269
uint8_t ok = myGNSS.setI2COutput(COM_TYPE_UBX); //Turn off NMEA noise
247270
if (ok) ok = myGNSS.setI2CInput(COM_TYPE_UBX | COM_TYPE_NMEA | COM_TYPE_SPARTN); //Be sure SPARTN input is enabled
248271
if (ok) ok = myGNSS.setDGNSSConfiguration(SFE_UBLOX_DGNSS_MODE_FIXED); // Set the differential mode - ambiguities are fixed whenever possible

examples/ZED-F9P/Example18_PointPerfectClient/Example18_PointPerfectClient.ino

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,29 @@ void setup()
195195
}
196196
Serial.println(F("u-blox GNSS module connected"));
197197

198+
//Check the ZED firmware version - SPARTN is only supported on ZED-F9P from HPG 1.30 and ZED-F9R from HPS 1.21 onwards
199+
if (myGNSS.getModuleInfo())
200+
{
201+
Serial.print(F("FWVER: "));
202+
Serial.print(myGNSS.getFirmwareVersionHigh()); // Returns uint8_t
203+
Serial.print(F("."));
204+
Serial.println(myGNSS.getFirmwareVersionLow()); // Returns uint8_t
205+
206+
Serial.print(F("Firmware: "));
207+
Serial.println(myGNSS.getFirmwareType()); // Returns HPG, SPG etc. as (const char *)
208+
209+
if (strcmp(myGNSS.getFirmwareType(), "HPG") == 0)
210+
if ((myGNSS.getFirmwareVersionHigh() == 1) && (myGNSS.getFirmwareVersionLow() < 30))
211+
Serial.println("Your module is running old firmware which may not support SPARTN. Please upgrade.");
212+
213+
if (strcmp(myGNSS.getFirmwareType(), "HPS") == 0)
214+
if ((myGNSS.getFirmwareVersionHigh() == 1) && (myGNSS.getFirmwareVersionLow() < 21))
215+
Serial.println("Your module is running old firmware which may not support SPARTN. Please upgrade.");
216+
}
217+
else
218+
Serial.println(F("Error: could not read module info!"));
219+
220+
//Now configure the module
198221
uint8_t ok = myGNSS.setI2COutput(COM_TYPE_UBX); //Turn off NMEA noise
199222
if (ok) ok = myGNSS.setI2CInput(COM_TYPE_UBX | COM_TYPE_NMEA | COM_TYPE_SPARTN); // Be sure SPARTN input is enabled.
200223

0 commit comments

Comments
 (0)