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
constuint8_t UBX_NAV_POSECEF = 0x01; //Position Solution in ECEF
356356
constuint8_t UBX_NAV_POSLLH = 0x02; //Geodetic Position Solution
357357
constuint8_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+
constuint8_t UBX_NAV_PVAT = 0x17; //Navigation position velocity attitude time solution (ZED-F9R only)
358359
constuint8_t UBX_NAV_RELPOSNED = 0x3C; //Relative Positioning Information in NED frame
359360
constuint8_t UBX_NAV_RESETODO = 0x10; //Reset odometer
360361
constuint8_t UBX_NAV_SAT = 0x35; //Satellite Information
@@ -983,7 +984,7 @@ class SFE_UBLOX_GNSS
983984
voidflushNAVHPPOSECEF(); //Mark all the data as read/stale
984985
voidlogNAVHPPOSECEF(bool enabled = true); // Log data to file buffer
985986

986-
boolgetHPPOSLLH(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+
boolgetHPPOSLLH(uint16_t maxWait = defaultMaxWait); // NAV HPPOSLLH
987988
boolsetAutoHPPOSLLH(bool enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic HPPOSLLH reports at the navigation frequency
988989
boolsetAutoHPPOSLLH(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
boolsetAutoHPPOSLLHrate(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
voidflushHPPOSLLH(); //Mark all the HPPPOSLLH data as read/stale. This is handy to get data alignment after CRC failure
993994
voidlogNAVHPPOSLLH(bool enabled = true); // Log data to file buffer
994995

996+
boolgetNAVPVAT(uint16_t maxWait = defaultMaxWait); // NAV PVAT
997+
boolsetAutoNAVPVAT(bool enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic PVAT reports at the navigation frequency
998+
boolsetAutoNAVPVAT(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+
boolsetAutoNAVPVATrate(uint8_t rate, bool implicitUpdate = true, uint16_t maxWait = defaultMaxWait); //Set the rate for automatic PVAT reports
1000+
boolsetAutoNAVPVATcallback(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+
boolassumeAutoNAVPVAT(bool enabled, bool implicitUpdate = true); //In case no config access to the GPS is possible and PVAT is send cyclically already
1002+
voidflushNAVPVAT(); //Mark all the PVAT data as read/stale
1003+
voidlogNAVPVAT(bool enabled = true); // Log data to file buffer
1004+
9951005
boolgetNAVCLOCK(uint16_t maxWait = defaultMaxWait); // NAV CLOCK
9961006
boolsetAutoNAVCLOCK(bool enabled, uint16_t maxWait = defaultMaxWait); //Enable/disable automatic clock reports at the navigation frequency
9971007
boolsetAutoNAVCLOCK(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_tgetHorizontalAccuracy(uint16_t maxWait = defaultMaxWait);
12571267
uint32_tgetVerticalAccuracy(uint16_t maxWait = defaultMaxWait);
12581268

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

12611278
boolgetSurveyInActive(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
boolinitPacketUBXNAVVELNED(); // Allocate RAM for packetUBXNAVVELNED and initialize it
14091427
boolinitPacketUBXNAVHPPOSECEF(); // Allocate RAM for packetUBXNAVHPPOSECEF and initialize it
14101428
boolinitPacketUBXNAVHPPOSLLH(); // Allocate RAM for packetUBXNAVHPPOSLLH and initialize it
1429+
boolinitPacketUBXNAVPVAT(); // Allocate RAM for packetUBXNAVPVAT and initialize it
14111430
boolinitPacketUBXNAVCLOCK(); // Allocate RAM for packetUBXNAVCLOCK and initialize it
14121431
boolinitPacketUBXNAVTIMELS(); // Allocate RAM for packetUBXNAVTIMELS and initialize it
14131432
boolinitPacketUBXNAVSVIN(); // Allocate RAM for packetUBXNAVSVIN and initialize it

0 commit comments

Comments
 (0)
close