Skip to content

Commit b402a47

Browse files
ubiedakartben
authored andcommitted
gnss: u_blox_f9p: Introduce High-precision GNSS module
Basic support: initialization for sending/handling UBX messages and run-time navigation configurability through GNSS API. Signed-off-by: Luis Ubieda <[email protected]>
1 parent 291860e commit b402a47

File tree

7 files changed

+699
-0
lines changed

7 files changed

+699
-0
lines changed

drivers/gnss/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ zephyr_library_sources_ifdef(CONFIG_GNSS_NMEA0183 gnss_nmea0183.c)
1010
zephyr_library_sources_ifdef(CONFIG_GNSS_NMEA0183_MATCH gnss_nmea0183_match.c)
1111
zephyr_library_sources_ifdef(CONFIG_GNSS_NMEA_GENERIC gnss_nmea_generic.c)
1212
zephyr_library_sources_ifdef(CONFIG_GNSS_QUECTEL_LCX6G gnss_quectel_lcx6g.c)
13+
zephyr_library_sources_ifdef(CONFIG_GNSS_U_BLOX_F9P gnss_u_blox_f9p.c
14+
gnss_ubx_common.c)
1315
zephyr_library_sources_ifdef(CONFIG_GNSS_U_BLOX_M8 gnss_u_blox_m8.c
1416
gnss_ubx_common.c)
1517
zephyr_library_sources_ifdef(CONFIG_GNSS_LUATOS_AIR530Z gnss_luatos_air530z.c)

drivers/gnss/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ source "subsys/logging/Kconfig.template.log_config"
8282
rsource "Kconfig.emul"
8383
rsource "Kconfig.generic"
8484
rsource "Kconfig.quectel_lcx6g"
85+
rsource "Kconfig.u_blox_f9p"
8586
rsource "Kconfig.u_blox_m8"
8687
rsource "Kconfig.luatos_air530z"
8788

drivers/gnss/Kconfig.u_blox_f9p

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Copyright (c) 2025 Croxel Inc.
2+
# Copyright (c) 2025 CogniPilot Foundation
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
config GNSS_U_BLOX_F9P
6+
bool "U-BLOX F9P High precision GNSS Module"
7+
default y
8+
depends on GNSS
9+
depends on DT_HAS_U_BLOX_F9P_ENABLED
10+
select MODEM_MODULES
11+
select MODEM_BACKEND_UART
12+
select MODEM_UBX
13+
help
14+
Enable U-BLOX F9P High precision GNSS modem driver.
15+
16+
if GNSS_U_BLOX_F9P
17+
18+
choice GNSS_U_BLOX_F9P_NAV_MODE_HIGH_DYN
19+
prompt "High Dynamics mode setting"
20+
default GNSS_U_BLOX_F9P_NAV_MODE_HIGH_DYN_AIRBORNE_2G
21+
help
22+
Choose what the High Dynamics Navigation mode should be for your
23+
application use-case.
24+
25+
config GNSS_U_BLOX_F9P_NAV_MODE_HIGH_DYN_AIRBORNE_1G
26+
bool "Consider High Dynamics mode as 1G Airborne"
27+
28+
config GNSS_U_BLOX_F9P_NAV_MODE_HIGH_DYN_AIRBORNE_2G
29+
bool "Consider High Dynamics mode as 2G Airborne"
30+
31+
config GNSS_U_BLOX_F9P_NAV_MODE_HIGH_DYN_AIRBORNE_4G
32+
bool "Consider High Dynamics mode as 4G Airborne"
33+
34+
config GNSS_U_BLOX_F9P_NAV_MODE_HIGH_DYN_AUTOMOTIVE
35+
bool "Consider High Dynamics mode as Automotive mode"
36+
37+
config GNSS_U_BLOX_F9P_NAV_MODE_HIGH_DYN_SEA
38+
bool "Consider High Dynamics mode as Sea mode"
39+
40+
config GNSS_U_BLOX_F9P_NAV_MODE_HIGH_DYN_BIKE
41+
bool "Consider High Dynamics mode as Bike mode"
42+
43+
endchoice
44+
45+
if GNSS_SATELLITES
46+
47+
config GNSS_U_BLOX_F9P_SATELLITES_COUNT
48+
int "Maximum satellite count"
49+
default 24
50+
51+
endif # GNSS_SATELLITES
52+
endif # GNSS_U_BLOX_F9P

0 commit comments

Comments
 (0)