diff --git a/examples/Callbacks/CallbackExample1_NAV_PVT/CallbackExample1_NAV_PVT.ino b/examples/Callbacks/CallbackExample1_NAV_PVT/CallbackExample1_NAV_PVT.ino index 4b1afba..ff2b740 100644 --- a/examples/Callbacks/CallbackExample1_NAV_PVT/CallbackExample1_NAV_PVT.ino +++ b/examples/Callbacks/CallbackExample1_NAV_PVT/CallbackExample1_NAV_PVT.ino @@ -33,38 +33,38 @@ SFE_UBLOX_GNSS myGNSS; // | / _____ You can use any name you like for the struct // | | / // | | | -void printPVTdata(UBX_NAV_PVT_data_t ubxDataStruct) +void printPVTdata(UBX_NAV_PVT_data_t *ubxDataStruct) { Serial.println(); Serial.print(F("Time: ")); // Print the time - uint8_t hms = ubxDataStruct.hour; // Print the hours + uint8_t hms = ubxDataStruct->hour; // Print the hours if (hms < 10) Serial.print(F("0")); // Print a leading zero if required Serial.print(hms); Serial.print(F(":")); - hms = ubxDataStruct.min; // Print the minutes + hms = ubxDataStruct->min; // Print the minutes if (hms < 10) Serial.print(F("0")); // Print a leading zero if required Serial.print(hms); Serial.print(F(":")); - hms = ubxDataStruct.sec; // Print the seconds + hms = ubxDataStruct->sec; // Print the seconds if (hms < 10) Serial.print(F("0")); // Print a leading zero if required Serial.print(hms); Serial.print(F(".")); - unsigned long millisecs = ubxDataStruct.iTOW % 1000; // Print the milliseconds + unsigned long millisecs = ubxDataStruct->iTOW % 1000; // Print the milliseconds if (millisecs < 100) Serial.print(F("0")); // Print the trailing zeros correctly if (millisecs < 10) Serial.print(F("0")); Serial.print(millisecs); - long latitude = ubxDataStruct.lat; // Print the latitude + long latitude = ubxDataStruct->lat; // Print the latitude Serial.print(F(" Lat: ")); Serial.print(latitude); - long longitude = ubxDataStruct.lon; // Print the longitude + long longitude = ubxDataStruct->lon; // Print the longitude Serial.print(F(" Long: ")); Serial.print(longitude); Serial.print(F(" (degrees * 10^-7)")); - long altitude = ubxDataStruct.hMSL; // Print the height above mean sea level + long altitude = ubxDataStruct->hMSL; // Print the height above mean sea level Serial.print(F(" Height above MSL: ")); Serial.print(altitude); Serial.println(F(" (mm)")); @@ -91,7 +91,7 @@ void setup() myGNSS.setNavigationFrequency(2); //Produce two solutions per second - myGNSS.setAutoPVTcallback(&printPVTdata); // Enable automatic NAV PVT messages with callback to printPVTdata + myGNSS.setAutoPVTcallbackPtr(&printPVTdata); // Enable automatic NAV PVT messages with callback to printPVTdata } void loop() diff --git a/examples/Callbacks/CallbackExample2_NAV_ODO/CallbackExample2_NAV_ODO.ino b/examples/Callbacks/CallbackExample2_NAV_ODO/CallbackExample2_NAV_ODO.ino index 3e1008c..181824b 100644 --- a/examples/Callbacks/CallbackExample2_NAV_ODO/CallbackExample2_NAV_ODO.ino +++ b/examples/Callbacks/CallbackExample2_NAV_ODO/CallbackExample2_NAV_ODO.ino @@ -33,22 +33,22 @@ SFE_UBLOX_GNSS myGNSS; // | / _____ You can use any name you like for the struct // | | / // | | | -void printODOdata(UBX_NAV_ODO_data_t ubxDataStruct) +void printODOdata(UBX_NAV_ODO_data_t *ubxDataStruct) { Serial.println(); Serial.print(F("TOW: ")); // Print the Time Of Week - unsigned long iTOW = ubxDataStruct.iTOW; // iTOW is in milliseconds + unsigned long iTOW = ubxDataStruct->iTOW; // iTOW is in milliseconds Serial.print(iTOW); Serial.print(F(" (ms)")); Serial.print(F(" Distance: ")); - unsigned long distance = ubxDataStruct.distance; // Print the distance + unsigned long distance = ubxDataStruct->distance; // Print the distance Serial.print(distance); Serial.print(F(" (m)")); Serial.print(F(" Total Distance: ")); - unsigned long totalDistance = ubxDataStruct.totalDistance; // Print the total distance + unsigned long totalDistance = ubxDataStruct->totalDistance; // Print the total distance Serial.print(totalDistance); Serial.println(F(" (m)")); } @@ -76,7 +76,7 @@ void setup() //myGNSS.resetOdometer(); //Uncomment this line to reset the odometer - myGNSS.setAutoNAVODOcallback(&printODOdata); // Enable automatic NAV ODO messages with callback to printODOdata + myGNSS.setAutoNAVODOcallbackPtr(&printODOdata); // Enable automatic NAV ODO messages with callback to printODOdata } void loop() diff --git a/examples/Callbacks/CallbackExample3_TIM_TM2/CallbackExample3_TIM_TM2.ino b/examples/Callbacks/CallbackExample3_TIM_TM2/CallbackExample3_TIM_TM2.ino index 3737bec..4f3a686 100644 --- a/examples/Callbacks/CallbackExample3_TIM_TM2/CallbackExample3_TIM_TM2.ino +++ b/examples/Callbacks/CallbackExample3_TIM_TM2/CallbackExample3_TIM_TM2.ino @@ -48,30 +48,30 @@ int dotsPrinted = 0; // Print dots in rows of 50 while waiting for a TIM TM2 mes // | / _____ You can use any name you like for the struct // | | / // | | | -void printTIMTM2data(UBX_TIM_TM2_data_t ubxDataStruct) +void printTIMTM2data(UBX_TIM_TM2_data_t *ubxDataStruct) { Serial.println(); Serial.print(F("newFallingEdge: ")); // 1 if a new falling edge was detected - Serial.print(ubxDataStruct.flags.bits.newFallingEdge); + Serial.print(ubxDataStruct->flags.bits.newFallingEdge); Serial.print(F(" newRisingEdge: ")); // 1 if a new rising edge was detected - Serial.print(ubxDataStruct.flags.bits.newRisingEdge); + Serial.print(ubxDataStruct->flags.bits.newRisingEdge); Serial.print(F(" Rising Edge Counter: ")); // Rising edge counter - Serial.print(ubxDataStruct.count); + Serial.print(ubxDataStruct->count); Serial.print(F(" towMsR: ")); // Time Of Week of rising edge (ms) - Serial.print(ubxDataStruct.towMsR); + Serial.print(ubxDataStruct->towMsR); Serial.print(F(" towSubMsR: ")); // Millisecond fraction of Time Of Week of rising edge in nanoseconds - Serial.print(ubxDataStruct.towSubMsR); + Serial.print(ubxDataStruct->towSubMsR); Serial.print(F(" towMsF: ")); // Time Of Week of falling edge (ms) - Serial.print(ubxDataStruct.towMsF); + Serial.print(ubxDataStruct->towMsF); Serial.print(F(" towSubMsF: ")); // Millisecond fraction of Time Of Week of falling edge in nanoseconds - Serial.println(ubxDataStruct.towSubMsF); + Serial.println(ubxDataStruct->towSubMsF); dotsPrinted = 0; // Reset dotsPrinted } @@ -97,7 +97,7 @@ void setup() myGNSS.setNavigationFrequency(1); //Produce one solution per second - myGNSS.setAutoTIMTM2callback(&printTIMTM2data); // Enable automatic TIM TM2 messages with callback to printTIMTM2data + myGNSS.setAutoTIMTM2callbackPtr(&printTIMTM2data); // Enable automatic TIM TM2 messages with callback to printTIMTM2data } void loop() diff --git a/examples/Callbacks/CallbackExample4_HNR/CallbackExample4_HNR.ino b/examples/Callbacks/CallbackExample4_HNR/CallbackExample4_HNR.ino index 7c86fa8..9fd1611 100644 --- a/examples/Callbacks/CallbackExample4_HNR/CallbackExample4_HNR.ino +++ b/examples/Callbacks/CallbackExample4_HNR/CallbackExample4_HNR.ino @@ -38,39 +38,39 @@ SFE_UBLOX_GNSS myGNSS; // | / _____ You can use any name you like for the struct // | | / // | | | -void printHNRATTdata(UBX_HNR_ATT_data_t ubxDataStruct) +void printHNRATTdata(UBX_HNR_ATT_data_t *ubxDataStruct) { Serial.println(); Serial.print(F("Roll: ")); // Print selected data - Serial.print((float)ubxDataStruct.roll / 100000.0, 2); // Convert roll to degrees + Serial.print((float)ubxDataStruct->roll / 100000.0, 2); // Convert roll to degrees Serial.print(F(" Pitch: ")); - Serial.print((float)ubxDataStruct.pitch / 100000.0, 2); // Convert pitch to degrees + Serial.print((float)ubxDataStruct->pitch / 100000.0, 2); // Convert pitch to degrees Serial.print(F(" Heading: ")); - Serial.println((float)ubxDataStruct.heading / 100000.0, 2); // Convert heading to degrees + Serial.println((float)ubxDataStruct->heading / 100000.0, 2); // Convert heading to degrees } // Callback: printHNRINSdata will be called when new HNR INS data arrives // See u-blox_structs.h for the full definition of UBX_HNR_INS_data_t -void printHNRINSdata(UBX_HNR_INS_data_t ubxDataStruct) +void printHNRINSdata(UBX_HNR_INS_data_t *ubxDataStruct) { Serial.print(F("xAccel: ")); // Print selected data - Serial.print(ubxDataStruct.xAccel); + Serial.print(ubxDataStruct->xAccel); Serial.print(F(" yAccel: ")); - Serial.print(ubxDataStruct.yAccel); + Serial.print(ubxDataStruct->yAccel); Serial.print(F(" zAccel: ")); - Serial.println(ubxDataStruct.zAccel); + Serial.println(ubxDataStruct->zAccel); } // Callback: printHNRPVTdata will be called when new HNR PVT data arrives // See u-blox_structs.h for the full definition of UBX_HNR_PVT_data_t -void printHNRPVTdata(UBX_HNR_PVT_data_t ubxDataStruct) +void printHNRPVTdata(UBX_HNR_PVT_data_t *ubxDataStruct) { Serial.print(F("ns: ")); // Print selected data - Serial.print(ubxDataStruct.nano); + Serial.print(ubxDataStruct->nano); Serial.print(F(" Lat: ")); - Serial.print(ubxDataStruct.lat); + Serial.print(ubxDataStruct->lat); Serial.print(F(" Lon: ")); - Serial.println(ubxDataStruct.lon); + Serial.println(ubxDataStruct->lon); } void setup() @@ -97,13 +97,13 @@ void setup() else Serial.println(F("setHNRNavigationRate was NOT successful")); - if (myGNSS.setAutoHNRATTcallback(&printHNRATTdata) == true) // Enable automatic HNR ATT messages with callback to printHNRATTdata + if (myGNSS.setAutoHNRATTcallbackPtr(&printHNRATTdata) == true) // Enable automatic HNR ATT messages with callback to printHNRATTdata Serial.println(F("setAutoHNRATTcallback successful")); - if (myGNSS.setAutoHNRINScallback(&printHNRINSdata) == true) // Enable automatic HNR INS messages with callback to printHNRINSdata + if (myGNSS.setAutoHNRINScallbackPtr(&printHNRINSdata) == true) // Enable automatic HNR INS messages with callback to printHNRINSdata Serial.println(F("setAutoHNRINScallback successful")); - if (myGNSS.setAutoHNRPVTcallback(&printHNRPVTdata) == true) // Enable automatic HNR PVT messages with callback to printHNRPVTdata + if (myGNSS.setAutoHNRPVTcallbackPtr(&printHNRPVTdata) == true) // Enable automatic HNR PVT messages with callback to printHNRPVTdata Serial.println(F("setAutoHNRPVTcallback successful")); } diff --git a/examples/Callbacks/CallbackExample5_ESF/CallbackExample5_ESF.ino b/examples/Callbacks/CallbackExample5_ESF/CallbackExample5_ESF.ino index bd5a7d6..6b1ebe6 100644 --- a/examples/Callbacks/CallbackExample5_ESF/CallbackExample5_ESF.ino +++ b/examples/Callbacks/CallbackExample5_ESF/CallbackExample5_ESF.ino @@ -35,39 +35,39 @@ SFE_UBLOX_GNSS myGNSS; // | / _____ You can use any name you like for the struct // | | / // | | | -void printESFALGdata(UBX_ESF_ALG_data_t ubxDataStruct) +void printESFALGdata(UBX_ESF_ALG_data_t *ubxDataStruct) { Serial.println(); Serial.print(F("TOW: ")); // Print the Time Of Week - unsigned long iTOW = ubxDataStruct.iTOW; // iTOW is in milliseconds + unsigned long iTOW = ubxDataStruct->iTOW; // iTOW is in milliseconds Serial.print(iTOW); Serial.print(F(" (ms)")); Serial.print(F(" Roll: ")); // Print selected data - Serial.print((float)ubxDataStruct.roll / 100.0, 2); // Convert roll to degrees + Serial.print((float)ubxDataStruct->roll / 100.0, 2); // Convert roll to degrees Serial.print(F(" Pitch: ")); - Serial.print((float)ubxDataStruct.pitch / 100.0, 2); // Convert pitch to degrees + Serial.print((float)ubxDataStruct->pitch / 100.0, 2); // Convert pitch to degrees Serial.print(F(" Yaw: ")); - Serial.print((float)ubxDataStruct.yaw / 100.0, 2); // Convert yaw to degrees + Serial.print((float)ubxDataStruct->yaw / 100.0, 2); // Convert yaw to degrees Serial.println(F(" (Degrees)")); } // Callback: printESFINSdata will be called when new ESF INS data arrives // See u-blox_structs.h for the full definition of UBX_ESF_INS_data_t -void printESFINSdata(UBX_ESF_INS_data_t ubxDataStruct) +void printESFINSdata(UBX_ESF_INS_data_t *ubxDataStruct) { Serial.print(F("xAccel: ")); // Print selected data - Serial.print(ubxDataStruct.xAccel); + Serial.print(ubxDataStruct->xAccel); Serial.print(F(" yAccel: ")); - Serial.print(ubxDataStruct.yAccel); + Serial.print(ubxDataStruct->yAccel); Serial.print(F(" zAccel: ")); - Serial.print(ubxDataStruct.zAccel); + Serial.print(ubxDataStruct->zAccel); Serial.println(F(" (m/s^2)")); } @@ -75,23 +75,23 @@ void printESFINSdata(UBX_ESF_INS_data_t ubxDataStruct) // Callback: printESFMEASdata will be called when new ESF MEAS data arrives // See u-blox_structs.h for the full definition of UBX_ESF_MEAS_data_t // and UBX_ESF_MEAS_sensorData_t -void printESFMEASdata(UBX_ESF_MEAS_data_t ubxDataStruct) +void printESFMEASdata(UBX_ESF_MEAS_data_t *ubxDataStruct) { Serial.println(); Serial.print(F("id: ")); // Print selected data - Serial.print(ubxDataStruct.id); + Serial.print(ubxDataStruct->id); Serial.print(F(" numMeas: ")); - Serial.println(ubxDataStruct.flags.bits.numMeas); + Serial.println(ubxDataStruct->flags.bits.numMeas); - for (uint8_t num = 0; num < ubxDataStruct.flags.bits.numMeas; num++) // For each sensor + for (uint8_t num = 0; num < ubxDataStruct->flags.bits.numMeas; num++) // For each sensor { Serial.print(F("Sensor ")); Serial.print(num); UBX_ESF_MEAS_sensorData_t sensorData; - myGNSS.getSensorFusionMeasurement(&sensorData, ubxDataStruct, num); // Extract the data for one sensor + myGNSS.getSensorFusionMeasurement(&sensorData, *ubxDataStruct, num); // Extract the data for one sensor Serial.print(F(": Type: ")); Serial.print(sensorData.data.bits.dataType); @@ -103,21 +103,21 @@ void printESFMEASdata(UBX_ESF_MEAS_data_t ubxDataStruct) // Callback: printESFSTATUSdata will be called when new ESF STATUS data arrives // See u-blox_structs.h for the full definition of UBX_ESF_STATUS_data_t // and UBX_ESF_STATUS_sensorStatus_t -void printESFSTATUSdata(UBX_ESF_STATUS_data_t ubxDataStruct) +void printESFSTATUSdata(UBX_ESF_STATUS_data_t *ubxDataStruct) { Serial.print(F("fusionMode: ")); // Print selected data - Serial.print(ubxDataStruct.fusionMode); + Serial.print(ubxDataStruct->fusionMode); Serial.print(F(" numSens: ")); - Serial.println(ubxDataStruct.numSens); + Serial.println(ubxDataStruct->numSens); - for (uint8_t num = 0; num < ubxDataStruct.numSens; num++) // For each sensor + for (uint8_t num = 0; num < ubxDataStruct->numSens; num++) // For each sensor { Serial.print(F("Sensor ")); Serial.print(num); UBX_ESF_STATUS_sensorStatus_t sensorStatus; - myGNSS.getSensorFusionStatus(&sensorStatus, ubxDataStruct, num); // Extract the data for one sensor + myGNSS.getSensorFusionStatus(&sensorStatus, *ubxDataStruct, num); // Extract the data for one sensor Serial.print(F(": Type: ")); Serial.print(sensorStatus.sensStatus1.bits.type); @@ -156,16 +156,16 @@ void setup() myGNSS.setI2CpollingWait(50); //Allow checkUblox to poll I2C data every 50ms to keep up with the ESF MEAS messages - if (myGNSS.setAutoESFALGcallback(&printESFALGdata) == true) // Enable automatic ESF ALG messages with callback to printESFALGdata + if (myGNSS.setAutoESFALGcallbackPtr(&printESFALGdata) == true) // Enable automatic ESF ALG messages with callback to printESFALGdata Serial.println(F("setAutoESFALGcallback successful")); - if (myGNSS.setAutoESFINScallback(&printESFINSdata) == true) // Enable automatic ESF INS messages with callback to printESFINSdata + if (myGNSS.setAutoESFINScallbackPtr(&printESFINSdata) == true) // Enable automatic ESF INS messages with callback to printESFINSdata Serial.println(F("setAutoESFINScallback successful")); - if (myGNSS.setAutoESFMEAScallback(&printESFMEASdata) == true) // Enable automatic ESF MEAS messages with callback to printESFMEASdata + if (myGNSS.setAutoESFMEAScallbackPtr(&printESFMEASdata) == true) // Enable automatic ESF MEAS messages with callback to printESFMEASdata Serial.println(F("setAutoESFMEAScallback successful")); - if (myGNSS.setAutoESFSTATUScallback(&printESFSTATUSdata) == true) // Enable automatic ESF STATUS messages with callback to printESFSTATUSdata + if (myGNSS.setAutoESFSTATUScallbackPtr(&printESFSTATUSdata) == true) // Enable automatic ESF STATUS messages with callback to printESFSTATUSdata Serial.println(F("setAutoESFSTATUScallback successful")); } diff --git a/examples/Callbacks/CallbackExample6_RAWX/CallbackExample6_RAWX.ino b/examples/Callbacks/CallbackExample6_RAWX/CallbackExample6_RAWX.ino index 2461ccc..7d5180e 100644 --- a/examples/Callbacks/CallbackExample6_RAWX/CallbackExample6_RAWX.ino +++ b/examples/Callbacks/CallbackExample6_RAWX/CallbackExample6_RAWX.ino @@ -31,38 +31,38 @@ SFE_UBLOX_GNSS myGNSS; // | / _____ You can use any name you like for the struct // | | / // | | | -void newRAWX(UBX_RXM_RAWX_data_t ubxDataStruct) +void newRAWX(UBX_RXM_RAWX_data_t *ubxDataStruct) { Serial.println(); Serial.print(F("New RAWX data received. It contains ")); - Serial.print(ubxDataStruct.header.numMeas); // Print numMeas (Number of measurements / blocks) + Serial.print(ubxDataStruct->header.numMeas); // Print numMeas (Number of measurements / blocks) Serial.println(F(" data blocks:")); - for (uint8_t block = 0; block < ubxDataStruct.header.numMeas; block++) // For each block + for (uint8_t block = 0; block < ubxDataStruct->header.numMeas; block++) // For each block { Serial.print(F("GNSS ID: ")); - if (ubxDataStruct.blocks[block].gnssId < 100) Serial.print(F(" ")); // Align the gnssId - if (ubxDataStruct.blocks[block].gnssId < 10) Serial.print(F(" ")); // Align the gnssId - Serial.print(ubxDataStruct.blocks[block].gnssId); + if (ubxDataStruct->blocks[block].gnssId < 100) Serial.print(F(" ")); // Align the gnssId + if (ubxDataStruct->blocks[block].gnssId < 10) Serial.print(F(" ")); // Align the gnssId + Serial.print(ubxDataStruct->blocks[block].gnssId); Serial.print(F(" SV ID: ")); - if (ubxDataStruct.blocks[block].svId < 100) Serial.print(F(" ")); // Align the svId - if (ubxDataStruct.blocks[block].svId < 10) Serial.print(F(" ")); // Align the svId - Serial.print(ubxDataStruct.blocks[block].svId); + if (ubxDataStruct->blocks[block].svId < 100) Serial.print(F(" ")); // Align the svId + if (ubxDataStruct->blocks[block].svId < 10) Serial.print(F(" ")); // Align the svId + Serial.print(ubxDataStruct->blocks[block].svId); if (sizeof(double) == 8) // Check if our processor supports 64-bit double { // Convert prMes from uint8_t[8] to 64-bit double // prMes is little-endian double pseudorange; - memcpy(&pseudorange, &ubxDataStruct.blocks[block].prMes, 8); + memcpy(&pseudorange, &ubxDataStruct->blocks[block].prMes, 8); Serial.print(F(" PR: ")); Serial.print(pseudorange, 3); // Convert cpMes from uint8_t[8] to 64-bit double // cpMes is little-endian double carrierPhase; - memcpy(&carrierPhase, &ubxDataStruct.blocks[block].cpMes, 8); + memcpy(&carrierPhase, &ubxDataStruct->blocks[block].cpMes, 8); Serial.print(F(" m CP: ")); Serial.print(carrierPhase, 3); Serial.print(F(" cycles")); @@ -94,7 +94,7 @@ void setup() myGNSS.setNavigationFrequency(1); //Produce one solution per second (RAWX produces a _lot_ of data!) - myGNSS.setAutoRXMRAWXcallback(&newRAWX); // Enable automatic RXM RAWX messages with callback to newRAWX + myGNSS.setAutoRXMRAWXcallbackPtr(&newRAWX); // Enable automatic RXM RAWX messages with callback to newRAWX } void loop() diff --git a/examples/Callbacks/CallbackExample7_NAV_SAT/CallbackExample7_NAV_SAT.ino b/examples/Callbacks/CallbackExample7_NAV_SAT/CallbackExample7_NAV_SAT.ino index 2612e47..b712126 100644 --- a/examples/Callbacks/CallbackExample7_NAV_SAT/CallbackExample7_NAV_SAT.ino +++ b/examples/Callbacks/CallbackExample7_NAV_SAT/CallbackExample7_NAV_SAT.ino @@ -31,21 +31,21 @@ SFE_UBLOX_GNSS myGNSS; // | / _____ You can use any name you like for the struct // | | / // | | | -void newNAVSAT(UBX_NAV_SAT_data_t ubxDataStruct) +void newNAVSAT(UBX_NAV_SAT_data_t *ubxDataStruct) { Serial.println(); Serial.print(F("New NAV SAT data received. It contains data for ")); - Serial.print(ubxDataStruct.header.numSvs); - if (ubxDataStruct.header.numSvs == 1) + Serial.print(ubxDataStruct->header.numSvs); + if (ubxDataStruct->header.numSvs == 1) Serial.println(F(" SV.")); else Serial.println(F(" SVs.")); // Just for giggles, print the signal strength for each SV as a barchart - for (uint16_t block = 0; block < ubxDataStruct.header.numSvs; block++) // For each SV + for (uint16_t block = 0; block < ubxDataStruct->header.numSvs; block++) // For each SV { - switch (ubxDataStruct.blocks[block].gnssId) // Print the GNSS ID + switch (ubxDataStruct->blocks[block].gnssId) // Print the GNSS ID { case 0: Serial.print(F("GPS ")); @@ -73,14 +73,14 @@ void newNAVSAT(UBX_NAV_SAT_data_t ubxDataStruct) break; } - Serial.print(ubxDataStruct.blocks[block].svId); // Print the SV ID + Serial.print(ubxDataStruct->blocks[block].svId); // Print the SV ID - if (ubxDataStruct.blocks[block].svId < 10) Serial.print(F(" ")); - else if (ubxDataStruct.blocks[block].svId < 100) Serial.print(F(" ")); + if (ubxDataStruct->blocks[block].svId < 10) Serial.print(F(" ")); + else if (ubxDataStruct->blocks[block].svId < 100) Serial.print(F(" ")); else Serial.print(F(" ")); // Print the signal strength as a bar chart - for (uint8_t cno = 0; cno < ubxDataStruct.blocks[block].cno; cno++) + for (uint8_t cno = 0; cno < ubxDataStruct->blocks[block].cno; cno++) Serial.print(F("=")); Serial.println(); @@ -108,7 +108,7 @@ void setup() myGNSS.setNavigationFrequency(1); //Produce one solution per second - myGNSS.setAutoNAVSATcallback(&newNAVSAT); // Enable automatic NAV SAT messages with callback to newNAVSAT + myGNSS.setAutoNAVSATcallbackPtr(&newNAVSAT); // Enable automatic NAV SAT messages with callback to newNAVSAT } void loop()