diff --git a/src/drivers/gps/devices b/src/drivers/gps/devices index a213f386d3..5ed844c374 160000 --- a/src/drivers/gps/devices +++ b/src/drivers/gps/devices @@ -1 +1 @@ -Subproject commit a213f386d3fdae0cf497bb80b41bcc9c0c9e1614 +Subproject commit 5ed844c374646bfa2b41461c909a3b4df1a17233 diff --git a/src/drivers/gps/gps.cpp b/src/drivers/gps/gps.cpp index 5fc2598848..f6cc8f8e75 100644 --- a/src/drivers/gps/gps.cpp +++ b/src/drivers/gps/gps.cpp @@ -851,6 +851,13 @@ GPS::run() param_get(handle, &ppk_output); } + handle = param_find("GPS_UBX_JAM_DET"); + int32_t jam_det_sensitivity_hi = 1; + + if (handle != PARAM_INVALID) { + param_get(handle, &jam_det_sensitivity_hi); + } + int32_t gnssSystemsParam = static_cast(GPSHelper::GNSSSystemsMask::RECEIVER_DEFAULTS); if (_instance == Instance::Main) { @@ -941,6 +948,7 @@ GPS::run() .heading_offset = heading_offset, .uart2_baudrate = f9p_uart2_baudrate, .ppk_output = ppk_output > 0, + .jam_det_sensitivity_hi = jam_det_sensitivity_hi > 0, .mode = ubx_mode, }; diff --git a/src/drivers/gps/params.c b/src/drivers/gps/params.c index 2dc7dcd298..dd37f58486 100644 --- a/src/drivers/gps/params.c +++ b/src/drivers/gps/params.c @@ -198,6 +198,20 @@ PARAM_DEFINE_INT32(GPS_UBX_CFG_INTF, 0); */ PARAM_DEFINE_INT32(GPS_UBX_PPK, 0); +/** + * u-blox GPS jamming detection high sensitivity mode + * + * Enables or disables the high sensitivity mode for the u-blox jamming detection + * (CFG-SEC-JAMDET_SENSITIVITY_HI). When enabled, the receiver uses a + * more sensitive algorithm to detect jamming. Disabling this may reduce false + * positives in electrically noisy environments. + * + * @boolean + * @reboot_required true + * @group GPS + */ +PARAM_DEFINE_INT32(GPS_UBX_JAM_DET, 1); + /** * Wipes the flash config of UBX modules. *