Skip to content

Commit ec18c60

Browse files
authored
Merge pull request #61 from sparkfun/release_candidate
v3.1.6 : add keys and flags for HPG 1.50
2 parents 4ac1a71 + 6cdd0e5 commit ec18c60

6 files changed

+86
-14
lines changed

keys/u-blox-F9-HPG-1.32_InterfaceDescription_UBX-22008968_keys_sorted.txt renamed to keys/u-blox-F9-HPG-1.50_InterfaceDescription_UBXDOC-963802114-12815_keys_sorted.txt

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@
77
0x10110025
88
0x10110061
99
0x101100d7
10+
0x101100dd
1011
0x10170001
1112
0x10170002
13+
0x10170003
1214
0x10220001
1315
0x10220002
1416
0x10220003
@@ -37,15 +39,16 @@
3739
0x10310024
3840
0x10310025
3941
0x10340014
42+
0x10350005
43+
0x10350009
4044
0x10360002
4145
0x10360003
4246
0x10360004
4347
0x10360005
48+
0x10360007
4449
0x10370005
4550
0x10370006
4651
0x10370007
47-
0x1041000d
48-
0x10410013
4952
0x10510002
5053
0x10510003
5154
0x10520005
@@ -120,9 +123,10 @@
120123
0x10c70001
121124
0x10c70002
122125
0x10de0002
123-
0x10de0003
124126
0x10de0004
125127
0x10f60009
128+
0x10f60051
129+
0x10f6005d
126130
0x20030001
127131
0x20030002
128132
0x20030006
@@ -157,9 +161,7 @@
157161
0x20240013
158162
0x20240014
159163
0x20250038
160-
0x20410001
161-
0x20410002
162-
0x20410010
164+
0x20350007
163165
0x20510001
164166
0x20520002
165167
0x20520003
@@ -548,6 +550,11 @@
548550
0x2091038d
549551
0x2091038e
550552
0x2091038f
553+
0x209103a8
554+
0x209103a9
555+
0x209103aa
556+
0x209103ab
557+
0x209103ac
551558
0x20910400
552559
0x20910401
553560
0x20910402
@@ -678,6 +685,11 @@
678685
0x20910607
679686
0x20910608
680687
0x20910609
688+
0x20910634
689+
0x20910635
690+
0x20910636
691+
0x20910637
692+
0x20910638
681693
0x20910652
682694
0x20910653
683695
0x20910654
@@ -713,6 +725,11 @@
713725
0x20910681
714726
0x20910682
715727
0x20910683
728+
0x20910689
729+
0x2091068a
730+
0x2091068b
731+
0x2091068c
732+
0x2091068d
716733
0x2091069d
717734
0x2091069e
718735
0x2091069f
@@ -723,6 +740,11 @@
723740
0x209106b8
724741
0x209106b9
725742
0x209106ba
743+
0x209106ca
744+
0x209106cb
745+
0x209106cc
746+
0x209106cd
747+
0x209106ce
726748
0x20920001
727749
0x20920002
728750
0x20920003
@@ -757,15 +779,18 @@
757779
0x301100b3
758780
0x301100b4
759781
0x301100b5
782+
0x301100de
760783
0x30210001
761784
0x30210002
762785
0x3025003b
786+
0x30360008
763787
0x30370008
764788
0x3065000a
765789
0x3065000b
766790
0x3065000c
767791
0x30930033
768792
0x30a20004
793+
0x30a3003c
769794
0x30de0005
770795
0x30de0006
771796
0x30de0007

keys/u-blox_config_keys_sorted.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,10 @@
2626
0x10110025
2727
0x10110061
2828
0x101100d7
29+
0x101100dd
2930
0x10170001
3031
0x10170002
32+
0x10170003
3133
0x10220001
3234
0x10220002
3335
0x10220003
@@ -64,6 +66,8 @@
6466
0x10310026
6567
0x10310028
6668
0x10340014
69+
0x10350005
70+
0x10350009
6771
0x10360002
6872
0x10360003
6973
0x10360004
@@ -168,6 +172,7 @@
168172
0x10de0004
169173
0x10f60009
170174
0x10f60051
175+
0x10f6005d
171176
0x20030001
172177
0x20030002
173178
0x20030006
@@ -213,6 +218,7 @@
213218
0x20240013
214219
0x20240014
215220
0x20250038
221+
0x20350007
216222
0x20370020
217223
0x20370030
218224
0x20370050
@@ -682,6 +688,11 @@
682688
0x2091038d
683689
0x2091038e
684690
0x2091038f
691+
0x209103a8
692+
0x209103a9
693+
0x209103aa
694+
0x209103ab
695+
0x209103ac
685696
0x20910400
686697
0x20910401
687698
0x20910402
@@ -902,6 +913,11 @@
902913
0x209106b8
903914
0x209106b9
904915
0x209106ba
916+
0x209106ca
917+
0x209106cb
918+
0x209106cc
919+
0x209106cd
920+
0x209106ce
905921
0x20920001
906922
0x20920002
907923
0x20920003
@@ -950,6 +966,7 @@
950966
0x301100b3
951967
0x301100b4
952968
0x301100b5
969+
0x301100de
953970
0x30210001
954971
0x30210002
955972
0x30230002

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=SparkFun u-blox GNSS v3
2-
version=3.1.5
2+
version=3.1.6
33
author=SparkFun Electronics <[email protected]>
44
maintainer=SparkFun Electronics <sparkfun.com>
55
sentence=Library for I2C, Serial and SPI Communication with u-blox GNSS modules<br/><br/>

src/u-blox_GNSS.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3474,7 +3474,7 @@ void DevUBLOXGNSS::processUBXpacket(ubxPacket *msg)
34743474
packetUBXNAVPVT->data.sAcc = extractLong(msg, 68);
34753475
packetUBXNAVPVT->data.headAcc = extractLong(msg, 72);
34763476
packetUBXNAVPVT->data.pDOP = extractInt(msg, 76);
3477-
packetUBXNAVPVT->data.flags3.all = extractByte(msg, 78);
3477+
packetUBXNAVPVT->data.flags3.all = extractInt(msg, 78);
34783478
packetUBXNAVPVT->data.headVeh = extractSignedLong(msg, 84);
34793479
packetUBXNAVPVT->data.magDec = extractSignedInt(msg, 88);
34803480
packetUBXNAVPVT->data.magAcc = extractInt(msg, 90);

src/u-blox_config_keys.h

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,12 @@ const uint32_t UBLOX_CFG_BDS_USE_PRN_1_TO_5 = UBX_CFG_L | 0x10340014; // Use Bei
132132
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
133133
const uint32_t UBLOX_CFG_CLOCK_OSC_FREQ = UBX_CFG_U4 | 0x40a4000d; // Oscillator speed
134134

135+
// CFG-GAL: Galileo system configuration
136+
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
137+
const uint32_t UBLOX_CFG_GAL_USE_OSNMA = UBX_CFG_L | 0x10350005; // Enable using Galileo Open Service Navigation Message Authentication (OSNMA) protocol
138+
const uint32_t UBLOX_CFG_GAL_OSNMA_MINTAGLENGTH = UBX_CFG_U1 | 0x20350007; // Minimum equivalent tag length
139+
const uint32_t UBLOX_CFG_GAL_OSNMA_TIMESYNC = UBX_CFG_L | 0x10350009; // Apply the time synchronization requirement
140+
135141
// CFG-GEOFENCE: Geofencing configuration
136142
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
137143
const uint32_t UBLOX_CFG_GEOFENCE_CONFLVL = UBX_CFG_E1 | 0x20240011; // Required confidence level for state evaluation
@@ -588,6 +594,11 @@ const uint32_t UBLOX_CFG_MSGOUT_UBX_NAV_TIMEQZSS_SPI = UBX_CFG_U1 | 0x2091038a;
588594
const uint32_t UBLOX_CFG_MSGOUT_UBX_NAV_TIMEQZSS_UART1 = UBX_CFG_U1 | 0x20910387; // Output rate of the UBX-NAV-TIMEQZSSmessage on port UART1
589595
const uint32_t UBLOX_CFG_MSGOUT_UBX_NAV_TIMEQZSS_UART2 = UBX_CFG_U1 | 0x20910388; // Output rate of the UBX-NAV-TIMEQZSSmessage on port UART2
590596
const uint32_t UBLOX_CFG_MSGOUT_UBX_NAV_TIMEQZSS_USB = UBX_CFG_U1 | 0x20910389; // Output rate of the UBX-NAV-TIMEQZSSmessage on port USB
597+
const uint32_t UBLOX_CFG_MSGOUT_UBX_NAV_TIMETRUSTED_I2C = UBX_CFG_U1 | 0x209103a8; // Output rate of the UBX-NAV-TIMETRUSTED message on port I2C
598+
const uint32_t UBLOX_CFG_MSGOUT_UBX_NAV_TIMETRUSTED_SPI = UBX_CFG_U1 | 0x209103ac; // Output rate of the UBX-NAV-TIMETRUSTED message on port SPI
599+
const uint32_t UBLOX_CFG_MSGOUT_UBX_NAV_TIMETRUSTED_UART1 = UBX_CFG_U1 | 0x209103a9; // Output rate of the UBX-NAV-TIMETRUSTED message on port UART1
600+
const uint32_t UBLOX_CFG_MSGOUT_UBX_NAV_TIMETRUSTED_UART2 = UBX_CFG_U1 | 0x209103aa; // Output rate of the UBX-NAV-TIMETRUSTED message on port UART2
601+
const uint32_t UBLOX_CFG_MSGOUT_UBX_NAV_TIMETRUSTED_USB = UBX_CFG_U1 | 0x209103ab; // Output rate of the UBX-NAV-TIMETRUSTED message on port USB
591602
const uint32_t UBLOX_CFG_MSGOUT_UBX_NAV_TIMEUTC_I2C = UBX_CFG_U1 | 0x2091005b; // Output rate of the UBX-NAV-TIMEUTC message on port I2C
592603
const uint32_t UBLOX_CFG_MSGOUT_UBX_NAV_TIMEUTC_SPI = UBX_CFG_U1 | 0x2091005f; // Output rate of the UBX-NAV-TIMEUTC message on port SPI
593604
const uint32_t UBLOX_CFG_MSGOUT_UBX_NAV_TIMEUTC_UART1 = UBX_CFG_U1 | 0x2091005c; // Output rate of the UBX-NAV-TIMEUTC message on port UART1
@@ -643,6 +654,11 @@ const uint32_t UBLOX_CFG_MSGOUT_UBX_SEC_SIG_SPI = UBX_CFG_U1 | 0x20910638;
643654
const uint32_t UBLOX_CFG_MSGOUT_UBX_SEC_SIG_UART1 = UBX_CFG_U1 | 0x20910635; // Output rate of the UBX-SEC-SIG message on port UART1
644655
const uint32_t UBLOX_CFG_MSGOUT_UBX_SEC_SIG_UART2 = UBX_CFG_U1 | 0x20910636; // Output rate of the UBX-SEC-SIG message on port UART2
645656
const uint32_t UBLOX_CFG_MSGOUT_UBX_SEC_SIG_USB = UBX_CFG_U1 | 0x20910637; // Output rate of the UBX-SEC-SIG message on port USB
657+
const uint32_t UBLOX_CFG_MSGOUT_UBX_SEC_OSNMA_I2C = UBX_CFG_U1 | 0x209106ca; // Output rate of the UBX-SEC-OSNMA message on port I2C
658+
const uint32_t UBLOX_CFG_MSGOUT_UBX_SEC_OSNMA_SPI = UBX_CFG_U1 | 0x209106ce; // Output rate of the UBX-SEC-OSNMA message on port SPI
659+
const uint32_t UBLOX_CFG_MSGOUT_UBX_SEC_OSNMA_UART1 = UBX_CFG_U1 | 0x209106cb; // Output rate of the UBX-SEC-OSNMA message on port UART1
660+
const uint32_t UBLOX_CFG_MSGOUT_UBX_SEC_OSNMA_UART2 = UBX_CFG_U1 | 0x209106cc; // Output rate of the UBX-SEC-OSNMA message on port UART2
661+
const uint32_t UBLOX_CFG_MSGOUT_UBX_SEC_OSNMA_USB = UBX_CFG_U1 | 0x209106cd; // Output rate of the UBX-SEC-OSNMA message on port USB
646662
const uint32_t UBLOX_CFG_MSGOUT_UBX_TIM_TM2_I2C = UBX_CFG_U1 | 0x20910178; // Output rate of the UBX-TIM-TM2 message on port I2C
647663
const uint32_t UBLOX_CFG_MSGOUT_UBX_TIM_TM2_SPI = UBX_CFG_U1 | 0x2091017c; // Output rate of the UBX-TIM-TM2 message on port SPI
648664
const uint32_t UBLOX_CFG_MSGOUT_UBX_TIM_TM2_UART1 = UBX_CFG_U1 | 0x20910179; // Output rate of the UBX-TIM-TM2 message on port UART1
@@ -934,8 +950,9 @@ const uint32_t UBLOX_CFG_MSGOUT_UBX_RXM_QZSSL6_USB = UBX_CFG_U1 | 0x2091033d;
934950

935951
// CFG-NAV2: Secondary output configuration
936952
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
937-
const uint32_t UBLOX_CFG_NAV2_OUT_ENABLED = UBX_CFG_L | 0x10170001; // Enable secondary (NAV2) output
938-
const uint32_t UBLOX_CFG_NAV2_SBAS_USE_INTEGRITY = UBX_CFG_L | 0x10170002; // Use SBAS integrity information in the secondary output
953+
const uint32_t UBLOX_CFG_NAV2_OUT_ENABLED = UBX_CFG_L | 0x10170001; // Enable secondary (NAV2) output
954+
const uint32_t UBLOX_CFG_NAV2_SBAS_USE_INTEGRITY = UBX_CFG_L | 0x10170002; // Use SBAS integrity information in the secondary output
955+
const uint32_t UBLOX_CFG_NAV2_NAVSPG_ONLY_AUTHDATA = UBX_CFG_L | 0x10170003; // Enable using only signals with authenticated navigation data
939956

940957
// CFG-NAVHPG: High precision navigation configuration
941958
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
@@ -1005,6 +1022,8 @@ const uint32_t UBLOX_CFG_NAVSPG_CONSTR_ALTVAR = UBX_CFG_U4 | 0x401100c2; // Fix
10051022
const uint32_t UBLOX_CFG_NAVSPG_CONSTR_DGNSSTO = UBX_CFG_U1 | 0x201100c4; // DGNSS timeout
10061023
const uint32_t UBLOX_CFG_NAVSPG_SIGATTCOMP = UBX_CFG_E1 | 0x201100d6; // Permanently attenuated signal compensation mode
10071024
const uint32_t UBLOX_CFG_NAVSPG_PL_ENA = UBX_CFG_L | 0x101100d7; // Enable Protection level. If enabled, protection level computing will be on.
1025+
const uint32_t UBLOX_CFG_NAVSPG_ONLY_AUTHDATA = UBX_CFG_L | 0x101100dd; // Enable using only signals with authenticated navigation data
1026+
const uint32_t UBLOX_CFG_NAVSPG_MAX_TIMETRUSTED_ACC = UBX_CFG_U2 | 0x301100de; // Maximum trusted time accuracy
10081027

10091028
// CFG-NMEA: NMEA protocol configuration
10101029
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
@@ -1128,6 +1147,7 @@ const uint32_t UBLOX_CFG_SBAS_PRNSCANMASK = UBX_CFG_X8 | 0x50360006; /
11281147
const uint32_t UBLOX_CFG_SEC_CFG_LOCK = UBX_CFG_L | 0x10f60009; // Configuration lockdown
11291148
const uint32_t UBLOX_CFG_SEC_CFG_LOCK_UNLOCKGRP1 = UBX_CFG_U2 | 0x30f6000a; // Configuration lockdown exempted group 1
11301149
const uint32_t UBLOX_CFG_SEC_CFG_LOCK_UNLOCKGRP2 = UBX_CFG_U2 | 0x30f6000b; // Configuration lockdown exempted group 2
1150+
const uint32_t UBLOX_CFG_SEC_SPOOFDET_SIM_SIG_DIS = UBX_CFG_L | 0x10f6005d; // Disabling the simulated signal spoofing detection
11311151
const uint32_t UBLOX_CFG_SEC_JAMDET_SENSITIVITY_HI = UBX_CFG_L | 0x10f60051; // go for a more sensitive jamming detection
11321152

11331153
// CFG-SFCORE: Sensor fusion (SF) core configuration (ZED-F9R)

src/u-blox_structs.h

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -428,11 +428,11 @@ typedef struct
428428
uint16_t pDOP; // Position DOP * 0.01
429429
union
430430
{
431-
uint8_t all;
431+
uint16_t all;
432432
struct
433433
{
434-
uint8_t invalidLlh : 1; // 1 = Invalid lon, lat, height and hMSL
435-
uint8_t lastCorrectionAge : 4; // Age of the most recently received differential correction:
434+
uint16_t invalidLlh : 1; // 1 = Invalid lon, lat, height and hMSL
435+
uint16_t lastCorrectionAge : 4; // Age of the most recently received differential correction:
436436
// 0: Not available
437437
// 1: Age between 0 and 1 second
438438
// 2: Age between 1 (inclusive) and 2 seconds
@@ -446,9 +446,16 @@ typedef struct
446446
// 10: Age between 60 (inclusive) and 90 seconds
447447
// 11: Age between 90 (inclusive) and 120 seconds
448448
// >=12: Age greater or equal than 120 seconds
449+
uint16_t reserved : 8;
450+
uint16_t authTime : 1; // Flag that indicates if the output time has been validated
451+
// against an external trusted time source
452+
uint16_t nmaFixStatus : 1; // Flag assigned to a fix that has been computed
453+
// mixing satellites with data authenticated through
454+
// Navigation Message Authentication (NMA) methods
455+
// and satellites using unauthenticated data.
449456
} bits;
450457
} flags3;
451-
uint8_t reserved1[5];
458+
uint8_t reserved0[4];
452459
int32_t headVeh; // Heading of vehicle (2-D): deg * 1e-5
453460
int16_t magDec; // Magnetic declination: deg * 1e-2
454461
uint16_t magAcc; // Magnetic declination accuracy: deg * 1e-2
@@ -513,6 +520,9 @@ typedef struct
513520
uint32_t pDOP : 1;
514521

515522
uint32_t invalidLlh : 1;
523+
uint32_t lastCorrectionAge : 1;
524+
uint32_t authTime : 1;
525+
uint32_t nmaFixStatus : 1;
516526

517527
uint32_t headVeh : 1;
518528
uint32_t magDec : 1;

0 commit comments

Comments
 (0)