Skip to content

Commit

Permalink
Merge pull request #61 from sparkfun/release_candidate
Browse files Browse the repository at this point in the history
v3.1.6 : add keys and flags for HPG 1.50
  • Loading branch information
PaulZC authored Aug 1, 2024
2 parents 4ac1a71 + 6cdd0e5 commit ec18c60
Show file tree
Hide file tree
Showing 6 changed files with 86 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,10 @@
0x10110025
0x10110061
0x101100d7
0x101100dd
0x10170001
0x10170002
0x10170003
0x10220001
0x10220002
0x10220003
Expand Down Expand Up @@ -37,15 +39,16 @@
0x10310024
0x10310025
0x10340014
0x10350005
0x10350009
0x10360002
0x10360003
0x10360004
0x10360005
0x10360007
0x10370005
0x10370006
0x10370007
0x1041000d
0x10410013
0x10510002
0x10510003
0x10520005
Expand Down Expand Up @@ -120,9 +123,10 @@
0x10c70001
0x10c70002
0x10de0002
0x10de0003
0x10de0004
0x10f60009
0x10f60051
0x10f6005d
0x20030001
0x20030002
0x20030006
Expand Down Expand Up @@ -157,9 +161,7 @@
0x20240013
0x20240014
0x20250038
0x20410001
0x20410002
0x20410010
0x20350007
0x20510001
0x20520002
0x20520003
Expand Down Expand Up @@ -548,6 +550,11 @@
0x2091038d
0x2091038e
0x2091038f
0x209103a8
0x209103a9
0x209103aa
0x209103ab
0x209103ac
0x20910400
0x20910401
0x20910402
Expand Down Expand Up @@ -678,6 +685,11 @@
0x20910607
0x20910608
0x20910609
0x20910634
0x20910635
0x20910636
0x20910637
0x20910638
0x20910652
0x20910653
0x20910654
Expand Down Expand Up @@ -713,6 +725,11 @@
0x20910681
0x20910682
0x20910683
0x20910689
0x2091068a
0x2091068b
0x2091068c
0x2091068d
0x2091069d
0x2091069e
0x2091069f
Expand All @@ -723,6 +740,11 @@
0x209106b8
0x209106b9
0x209106ba
0x209106ca
0x209106cb
0x209106cc
0x209106cd
0x209106ce
0x20920001
0x20920002
0x20920003
Expand Down Expand Up @@ -757,15 +779,18 @@
0x301100b3
0x301100b4
0x301100b5
0x301100de
0x30210001
0x30210002
0x3025003b
0x30360008
0x30370008
0x3065000a
0x3065000b
0x3065000c
0x30930033
0x30a20004
0x30a3003c
0x30de0005
0x30de0006
0x30de0007
Expand Down
17 changes: 17 additions & 0 deletions keys/u-blox_config_keys_sorted.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,10 @@
0x10110025
0x10110061
0x101100d7
0x101100dd
0x10170001
0x10170002
0x10170003
0x10220001
0x10220002
0x10220003
Expand Down Expand Up @@ -64,6 +66,8 @@
0x10310026
0x10310028
0x10340014
0x10350005
0x10350009
0x10360002
0x10360003
0x10360004
Expand Down Expand Up @@ -168,6 +172,7 @@
0x10de0004
0x10f60009
0x10f60051
0x10f6005d
0x20030001
0x20030002
0x20030006
Expand Down Expand Up @@ -213,6 +218,7 @@
0x20240013
0x20240014
0x20250038
0x20350007
0x20370020
0x20370030
0x20370050
Expand Down Expand Up @@ -682,6 +688,11 @@
0x2091038d
0x2091038e
0x2091038f
0x209103a8
0x209103a9
0x209103aa
0x209103ab
0x209103ac
0x20910400
0x20910401
0x20910402
Expand Down Expand Up @@ -902,6 +913,11 @@
0x209106b8
0x209106b9
0x209106ba
0x209106ca
0x209106cb
0x209106cc
0x209106cd
0x209106ce
0x20920001
0x20920002
0x20920003
Expand Down Expand Up @@ -950,6 +966,7 @@
0x301100b3
0x301100b4
0x301100b5
0x301100de
0x30210001
0x30210002
0x30230002
Expand Down
2 changes: 1 addition & 1 deletion library.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name=SparkFun u-blox GNSS v3
version=3.1.5
version=3.1.6
author=SparkFun Electronics <[email protected]>
maintainer=SparkFun Electronics <sparkfun.com>
sentence=Library for I2C, Serial and SPI Communication with u-blox GNSS modules<br/><br/>
Expand Down
2 changes: 1 addition & 1 deletion src/u-blox_GNSS.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3474,7 +3474,7 @@ void DevUBLOXGNSS::processUBXpacket(ubxPacket *msg)
packetUBXNAVPVT->data.sAcc = extractLong(msg, 68);
packetUBXNAVPVT->data.headAcc = extractLong(msg, 72);
packetUBXNAVPVT->data.pDOP = extractInt(msg, 76);
packetUBXNAVPVT->data.flags3.all = extractByte(msg, 78);
packetUBXNAVPVT->data.flags3.all = extractInt(msg, 78);
packetUBXNAVPVT->data.headVeh = extractSignedLong(msg, 84);
packetUBXNAVPVT->data.magDec = extractSignedInt(msg, 88);
packetUBXNAVPVT->data.magAcc = extractInt(msg, 90);
Expand Down
24 changes: 22 additions & 2 deletions src/u-blox_config_keys.h
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,12 @@ const uint32_t UBLOX_CFG_BDS_USE_PRN_1_TO_5 = UBX_CFG_L | 0x10340014; // Use Bei
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
const uint32_t UBLOX_CFG_CLOCK_OSC_FREQ = UBX_CFG_U4 | 0x40a4000d; // Oscillator speed

// CFG-GAL: Galileo system configuration
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
const uint32_t UBLOX_CFG_GAL_USE_OSNMA = UBX_CFG_L | 0x10350005; // Enable using Galileo Open Service Navigation Message Authentication (OSNMA) protocol
const uint32_t UBLOX_CFG_GAL_OSNMA_MINTAGLENGTH = UBX_CFG_U1 | 0x20350007; // Minimum equivalent tag length
const uint32_t UBLOX_CFG_GAL_OSNMA_TIMESYNC = UBX_CFG_L | 0x10350009; // Apply the time synchronization requirement

// CFG-GEOFENCE: Geofencing configuration
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
const uint32_t UBLOX_CFG_GEOFENCE_CONFLVL = UBX_CFG_E1 | 0x20240011; // Required confidence level for state evaluation
Expand Down Expand Up @@ -588,6 +594,11 @@ const uint32_t UBLOX_CFG_MSGOUT_UBX_NAV_TIMEQZSS_SPI = UBX_CFG_U1 | 0x2091038a;
const uint32_t UBLOX_CFG_MSGOUT_UBX_NAV_TIMEQZSS_UART1 = UBX_CFG_U1 | 0x20910387; // Output rate of the UBX-NAV-TIMEQZSSmessage on port UART1
const uint32_t UBLOX_CFG_MSGOUT_UBX_NAV_TIMEQZSS_UART2 = UBX_CFG_U1 | 0x20910388; // Output rate of the UBX-NAV-TIMEQZSSmessage on port UART2
const uint32_t UBLOX_CFG_MSGOUT_UBX_NAV_TIMEQZSS_USB = UBX_CFG_U1 | 0x20910389; // Output rate of the UBX-NAV-TIMEQZSSmessage on port USB
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
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
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
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
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
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
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
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
Expand Down Expand Up @@ -643,6 +654,11 @@ const uint32_t UBLOX_CFG_MSGOUT_UBX_SEC_SIG_SPI = UBX_CFG_U1 | 0x20910638;
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
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
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
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
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
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
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
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
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
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
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
Expand Down Expand Up @@ -934,8 +950,9 @@ const uint32_t UBLOX_CFG_MSGOUT_UBX_RXM_QZSSL6_USB = UBX_CFG_U1 | 0x2091033d;

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

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

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

// CFG-SFCORE: Sensor fusion (SF) core configuration (ZED-F9R)
Expand Down
18 changes: 14 additions & 4 deletions src/u-blox_structs.h
Original file line number Diff line number Diff line change
Expand Up @@ -428,11 +428,11 @@ typedef struct
uint16_t pDOP; // Position DOP * 0.01
union
{
uint8_t all;
uint16_t all;
struct
{
uint8_t invalidLlh : 1; // 1 = Invalid lon, lat, height and hMSL
uint8_t lastCorrectionAge : 4; // Age of the most recently received differential correction:
uint16_t invalidLlh : 1; // 1 = Invalid lon, lat, height and hMSL
uint16_t lastCorrectionAge : 4; // Age of the most recently received differential correction:
// 0: Not available
// 1: Age between 0 and 1 second
// 2: Age between 1 (inclusive) and 2 seconds
Expand All @@ -446,9 +446,16 @@ typedef struct
// 10: Age between 60 (inclusive) and 90 seconds
// 11: Age between 90 (inclusive) and 120 seconds
// >=12: Age greater or equal than 120 seconds
uint16_t reserved : 8;
uint16_t authTime : 1; // Flag that indicates if the output time has been validated
// against an external trusted time source
uint16_t nmaFixStatus : 1; // Flag assigned to a fix that has been computed
// mixing satellites with data authenticated through
// Navigation Message Authentication (NMA) methods
// and satellites using unauthenticated data.
} bits;
} flags3;
uint8_t reserved1[5];
uint8_t reserved0[4];
int32_t headVeh; // Heading of vehicle (2-D): deg * 1e-5
int16_t magDec; // Magnetic declination: deg * 1e-2
uint16_t magAcc; // Magnetic declination accuracy: deg * 1e-2
Expand Down Expand Up @@ -513,6 +520,9 @@ typedef struct
uint32_t pDOP : 1;

uint32_t invalidLlh : 1;
uint32_t lastCorrectionAge : 1;
uint32_t authTime : 1;
uint32_t nmaFixStatus : 1;

uint32_t headVeh : 1;
uint32_t magDec : 1;
Expand Down

0 comments on commit ec18c60

Please sign in to comment.