Skip to content

Commit a4ba440

Browse files
committed
Step_4
1 parent 3609da1 commit a4ba440

File tree

1 file changed

+174
-0
lines changed

1 file changed

+174
-0
lines changed

src/u-blox_structs.h

+174
Original file line numberDiff line numberDiff line change
@@ -753,6 +753,180 @@ typedef struct
753753
UBX_NAV_HPPOSLLH_data_t*callbackData;
754754
} UBX_NAV_HPPOSLLH_t;
755755

756+
// UBX-NAV-PVAT (0x01 0x17): Navigation position velocity attitude time solution
757+
constuint16_tUBX_NAV_PVAT_LEN=116;
758+
759+
typedefstruct
760+
{
761+
uint32_tiTOW; // GPS time of week of the navigation epoch: ms
762+
uint8_tversion; // Message version (0x00 for this version)
763+
union
764+
{
765+
uint8_tall;
766+
struct
767+
{
768+
uint8_tvalidDate : 1; // 1 = valid UTC Date
769+
uint8_tvalidTime : 1; // 1 = valid UTC time of day
770+
uint8_tfullyResolved : 1; // 1 = UTC time of day has been fully resolved (no seconds uncertainty).
771+
uint8_tvalidMag : 1; // 1 = valid magnetic declination
772+
} bits;
773+
} valid;
774+
uint16_tyear; // Year (UTC)
775+
uint8_tmonth; // Month, range 1..12 (UTC)
776+
uint8_tday; // Day of month, range 1..31 (UTC)
777+
uint8_thour; // Hour of day, range 0..23 (UTC)
778+
uint8_tmin; // Minute of hour, range 0..59 (UTC)
779+
uint8_tsec; // Seconds of minute, range 0..60 (UTC)
780+
uint8_treserved0;
781+
uint8_treserved1[2];
782+
uint32_ttAcc; // Time accuracy estimate (UTC): ns
783+
int32_tnano; // Fraction of second, range -1e9 .. 1e9 (UTC): ns
784+
uint8_tfixType; // GNSSfix Type:
785+
// 0: no fix
786+
// 1: dead reckoning only
787+
// 2: 2D-fix
788+
// 3: 3D-fix
789+
// 4: GNSS + dead reckoning combined
790+
// 5: time only fix
791+
union
792+
{
793+
uint8_tall;
794+
struct
795+
{
796+
uint8_tgnssFixOK : 1; // 1 = valid fix (i.e within DOP & accuracy masks)
797+
uint8_tdiffSoln : 1; // 1 = differential corrections were applied
798+
uint8_treserved : 1;
799+
uint8_tvehRollValid : 1; // 1 = roll of vehicle is valid, only set if the receiver is in sensor fusion mode
800+
uint8_tvehPitchValid : 1; // 1 = pitch of vehicle is valid, only set if the receiver is in sensor fusion mode
801+
uint8_tvehHeadingValid : 1; // 1 = heading of vehicle is valid, only set if the receiver is in sensor fusion mode
802+
uint8_tcarrSoln : 2; // Carrier phase range solution status:
803+
// 0: no carrier phase range solution
804+
// 1: carrier phase range solution with floating ambiguities
805+
// 2: carrier phase range solution with fixed ambiguities
806+
} bits;
807+
} flags;
808+
union
809+
{
810+
uint8_tall;
811+
struct
812+
{
813+
uint8_treserved : 5;
814+
uint8_tconfirmedAvai : 1; // 1 = information about UTC Date and Time of Day validity confirmation is available
815+
uint8_tconfirmedDate : 1; // 1 = UTC Date validity could be confirmed
816+
uint8_tconfirmedTime : 1; // 1 = UTC Time of Day could be confirmed
817+
} bits;
818+
} flags2;
819+
uint8_tnumSV; // Number of satellites used in Nav Solution
820+
int32_tlon; // Longitude: deg * 1e-7
821+
int32_tlat; // Latitude: deg * 1e-7
822+
int32_theight; // Height above ellipsoid: mm
823+
int32_thMSL; // Height above mean sea level: mm
824+
uint32_thAcc; // Horizontal accuracy estimate: mm
825+
uint32_tvAcc; // Vertical accuracy estimate: mm
826+
int32_tvelN; // NED north velocity: mm/s
827+
int32_tvelE; // NED east velocity: mm/s
828+
int32_tvelD; // NED down velocity: mm/s
829+
int32_tgSpeed; // Ground Speed (2-D): mm/s
830+
uint32_tsAcc; // Speed accuracy estimate: mm/s
831+
int32_tvehRoll; // Vehicle roll: 1e-5 deg
832+
int32_tvehPitch; // Vehicle pitch: 1e-5 deg
833+
int32_tvehHeading; // Vehicle heading: 1e-5 deg
834+
int32_tmotHeading; // Motion heading.: 1e-5 deg
835+
uint16_taccRoll; // Vehicle roll accuracy (if null, roll angle is not available): 1e-2 deg
836+
uint16_taccPitch; // Vehicle pitch accuracy (if null, pitch angle is not available): 1e-2 deg
837+
uint16_taccHeading; // Vehicle heading accuracy (if null, heading angle is not available): 1e-2 deg
838+
int16_tmagDec; // Magnetic declination: 1e-2 deg
839+
uint16_tmagAcc; // Magnetic declination accuracy: 1e-2 deg
840+
uint16_terrEllipseOrient; // Orientation of semi-major axis of error ellipse (degrees from true north): 1e-2 deg
841+
uint32_terrEllipseMajor; // Semi-major axis of error ellipse: mm
842+
uint32_terrEllipseMinor; // Semi-minor axis of error ellipse: mm
843+
uint8_treserved2[4];
844+
uint8_treserved3[4];
845+
} UBX_NAV_PVAT_data_t;
846+
847+
typedefstruct
848+
{
849+
union
850+
{
851+
uint32_tall;
852+
struct
853+
{
854+
uint32_tall : 1;
855+
856+
uint32_tiTOW : 1;
857+
uint32_tversion : 1;
858+
859+
uint32_tvalidDate : 1;
860+
uint32_tvalidTime : 1;
861+
uint32_tfullyResolved : 1;
862+
uint32_tvalidMag : 1;
863+
864+
uint32_tyear : 1;
865+
uint32_tmonth : 1;
866+
uint32_tday : 1;
867+
uint32_thour : 1;
868+
uint32_tmin : 1;
869+
uint32_tsec : 1;
870+
871+
uint32_ttAcc : 1;
872+
uint32_tnano : 1;
873+
uint32_tfixType : 1;
874+
875+
uint32_tgnssFixOK : 1;
876+
uint32_tdiffSoln : 1;
877+
uint32_tvehRollValid : 1;
878+
uint32_tvehPitchValid : 1;
879+
uint32_tvehHeadingValid : 1;
880+
uint32_tcarrSoln : 1;
881+
882+
uint32_tconfirmedAvai : 1;
883+
uint32_tconfirmedDate : 1;
884+
uint32_tconfirmedTime : 1;
885+
886+
uint32_tnumSV : 1;
887+
uint32_tlon : 1;
888+
uint32_tlat : 1;
889+
uint32_theight : 1;
890+
uint32_thMSL : 1;
891+
uint32_thAcc : 1;
892+
uint32_tvAcc : 1;
893+
} bits;
894+
} moduleQueried1;
895+
union
896+
{
897+
uint32_tall;
898+
struct
899+
{
900+
uint32_tvelN : 1;
901+
uint32_tvelE : 1;
902+
uint32_tvelD : 1;
903+
uint32_tgSpeed : 1;
904+
uint32_tsAcc : 1;
905+
uint32_tvehRoll : 1;
906+
uint32_tvehPitch : 1;
907+
uint32_tvehHeading : 1;
908+
uint32_tmotHeading : 1;
909+
uint32_taccRoll : 1;
910+
uint32_taccPitch : 1;
911+
uint32_taccHeading : 1;
912+
uint32_tmagDec : 1;
913+
uint32_tmagAcc : 1;
914+
uint32_terrEllipseOrient : 1;
915+
uint32_terrEllipseMajor : 1;
916+
uint32_terrEllipseMinor : 1;
917+
} bits;
918+
} moduleQueried2;
919+
} UBX_NAV_PVAT_moduleQueried_t;
920+
921+
typedefstruct
922+
{
923+
ubxAutomaticFlagsautomaticFlags;
924+
UBX_NAV_PVAT_data_tdata;
925+
UBX_NAV_PVAT_moduleQueried_tmoduleQueried;
926+
void (*callbackPointer)(UBX_NAV_PVAT_data_t);
927+
UBX_NAV_PVAT_data_t*callbackData;
928+
} UBX_NAV_PVAT_t;
929+
756930
// UBX-NAV-TIMEUTC (0x01 0x21): UTC time solution
757931
constuint16_tUBX_NAV_TIMEUTC_LEN=20;
758932

0 commit comments

Comments
 (0)
close