Skip to content

Commit 423a1e2

Browse files
committed
Step_5
1 parent a4ba440 commit 423a1e2

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

src/SparkFun_u-blox_GNSS_Arduino_Library.h

+20-1
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,7 @@ const uint8_t UBX_NAV_ORB = 0x34; //GNSS Orbit Database Info
355355
const uint8_t UBX_NAV_POSECEF = 0x01; //Position Solution in ECEF
356356
const uint8_t UBX_NAV_POSLLH = 0x02; //Geodetic Position Solution
357357
const uint8_t UBX_NAV_PVT = 0x07; //All the things! Position, velocity, time, PDOP, height, h/v accuracies, number of satellites. Navigation Position Velocity Time Solution.
358+
const uint8_t UBX_NAV_PVAT = 0x17; //Navigation position velocity attitude time solution (ZED-F9R only)
358359
const uint8_t UBX_NAV_RELPOSNED = 0x3C; //Relative Positioning Information in NED frame
359360
const uint8_t UBX_NAV_RESETODO = 0x10; //Reset odometer
360361
const uint8_t UBX_NAV_SAT = 0x35; //Satellite Information
@@ -983,7 +984,7 @@ class SFE_UBLOX_GNSS
983984
void flushNAVHPPOSECEF(); //Mark all the data as read/stale
984985
void logNAVHPPOSECEF(bool enabled = true); // Log data to file buffer
985986

986-
bool getHPPOSLLH(uint16_t maxWait = defaultMaxWait); //Query module for latest group of datums and load global vars: lat, long, alt, speed, SIV, accuracies, etc. If autoPVT is disabled, performs an explicit poll and waits, if enabled does not block. Returns true if new HPPOSLLH is available.
987+
bool getHPPOSLLH(uint16_t maxWait = defaultMaxWait); // NAV HPPOSLLH
987988
bool setAutoHPPOSLLH(bool enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic HPPOSLLH reports at the navigation frequency
988989
bool setAutoHPPOSLLH(bool enabled, bool implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic HPPOSLLH reports at the navigation frequency, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
989990
bool setAutoHPPOSLLHrate(uint8_t rate, bool implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic HPPOSLLH reports
@@ -992,6 +993,15 @@ class SFE_UBLOX_GNSS
992993
void flushHPPOSLLH(); //Mark all the HPPPOSLLH data as read/stale. This is handy to get data alignment after CRC failure
993994
void logNAVHPPOSLLH(bool enabled = true); // Log data to file buffer
994995

996+
bool getNAVPVAT(uint16_t maxWait = defaultMaxWait); // NAV PVAT
997+
bool setAutoNAVPVAT(bool enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic PVAT reports at the navigation frequency
998+
bool setAutoNAVPVAT(bool enabled, bool implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic PVAT reports at the navigation frequency, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
999+
bool setAutoNAVPVATrate(uint8_t rate, bool implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic PVAT reports
1000+
bool setAutoNAVPVATcallback(void (*callbackPointer)(UBX_NAV_PVAT_data_t), uint16_t maxWait = defaultMaxWait); //Enable automatic PVAT reports at the navigation frequency. Data is accessed from the callback.
1001+
bool assumeAutoNAVPVAT(bool enabled, bool implicitUpdate = true); //In case no config access to the GPS is possible and PVAT is send cyclically already
1002+
void flushNAVPVAT(); //Mark all the PVAT data as read/stale
1003+
void logNAVPVAT(bool enabled = true); // Log data to file buffer
1004+
9951005
bool getNAVCLOCK(uint16_t maxWait = defaultMaxWait); // NAV CLOCK
9961006
bool setAutoNAVCLOCK(bool enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic clock reports at the navigation frequency
9971007
bool setAutoNAVCLOCK(bool enabled, bool implicitUpdate, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic clock reports at the navigation frequency, with implicitUpdate == false accessing stale data will not issue parsing of data in the rxbuffer of your interface, instead you have to call checkUblox when you want to perform an update
@@ -1256,6 +1266,13 @@ class SFE_UBLOX_GNSS
12561266
uint32_t getHorizontalAccuracy(uint16_t maxWait = defaultMaxWait);
12571267
uint32_t getVerticalAccuracy(uint16_t maxWait = defaultMaxWait);
12581268

1269+
// Helper functions for PVAT
1270+
1271+
int32_t getVehicleRoll(uint16_t maxWait = defaultMaxWait); // Returns vehicle roll in degrees * 10^-5
1272+
int32_t getVehiclePitch(uint16_t maxWait = defaultMaxWait); // Returns vehicle pitch in degrees * 10^-5
1273+
int32_t getVehicleHeading(uint16_t maxWait = defaultMaxWait); // Returns vehicle heading in degrees * 10^-5
1274+
int32_t getMotionHeading(uint16_t maxWait = defaultMaxWait); // Returns the motion heading in degrees * 10^-5
1275+
12591276
// Helper functions for SVIN
12601277

12611278
bool getSurveyInActive(uint16_t maxWait = defaultMaxWait);
@@ -1324,6 +1341,7 @@ class SFE_UBLOX_GNSS
13241341
UBX_NAV_VELNED_t *packetUBXNAVVELNED = NULL; // Pointer to struct. RAM will be allocated for this if/when necessary
13251342
UBX_NAV_HPPOSECEF_t *packetUBXNAVHPPOSECEF = NULL; // Pointer to struct. RAM will be allocated for this if/when necessary
13261343
UBX_NAV_HPPOSLLH_t *packetUBXNAVHPPOSLLH = NULL; // Pointer to struct. RAM will be allocated for this if/when necessary
1344+
UBX_NAV_PVAT_t *packetUBXNAVPVAT = NULL; // Pointer to struct. RAM will be allocated for this if/when necessary
13271345
UBX_NAV_CLOCK_t *packetUBXNAVCLOCK = NULL; // Pointer to struct. RAM will be allocated for this if/when necessary
13281346
UBX_NAV_TIMELS_t *packetUBXNAVTIMELS = NULL; // Pointer to struct. RAM will be allocated for this if/when necessary
13291347
UBX_NAV_SVIN_t *packetUBXNAVSVIN = NULL; // Pointer to struct. RAM will be allocated for this if/when necessary
@@ -1408,6 +1426,7 @@ class SFE_UBLOX_GNSS
14081426
bool initPacketUBXNAVVELNED(); // Allocate RAM for packetUBXNAVVELNED and initialize it
14091427
bool initPacketUBXNAVHPPOSECEF(); // Allocate RAM for packetUBXNAVHPPOSECEF and initialize it
14101428
bool initPacketUBXNAVHPPOSLLH(); // Allocate RAM for packetUBXNAVHPPOSLLH and initialize it
1429+
bool initPacketUBXNAVPVAT(); // Allocate RAM for packetUBXNAVPVAT and initialize it
14111430
bool initPacketUBXNAVCLOCK(); // Allocate RAM for packetUBXNAVCLOCK and initialize it
14121431
bool initPacketUBXNAVTIMELS(); // Allocate RAM for packetUBXNAVTIMELS and initialize it
14131432
bool initPacketUBXNAVSVIN(); // Allocate RAM for packetUBXNAVSVIN and initialize it

0 commit comments

Comments
 (0)