1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-16 21:05:35 +03:00

Refactor sat count checks and GPS trust code

single minimum GPS satellite setting
single required GPS satellite setting
CLI Baro vs GPS trust user interface
GPS trust refactoring
allow arming with GPS_FIX even if not enough sats
required sats must be present to arm
set required sat count to 8
add blackbox headers
This commit is contained in:
ctzsnooze 2022-07-04 22:21:39 +10:00
parent 9dc2f127b8
commit 09ee27cd97
28 changed files with 180 additions and 120 deletions

View file

@ -1452,6 +1452,9 @@ static bool mspProcessOutCommand(int16_t cmdMSP, sbuf_t *dst)
// Added in API version 1.43
sbufWriteU8(dst, gpsConfig()->gps_set_home_point_once);
sbufWriteU8(dst, gpsConfig()->gps_ublox_use_galileo);
// Added in API version 1.45
sbufWriteU8(dst, gpsConfig()->gpsRequiredSats);
sbufWriteU8(dst, gpsConfig()->gpsMinimumSats);
break;
case MSP_RAW_GPS:
@ -1492,7 +1495,8 @@ static bool mspProcessOutCommand(int16_t cmdMSP, sbuf_t *dst)
sbufWriteU16(dst, gpsRescueConfig()->throttleMax);
sbufWriteU16(dst, gpsRescueConfig()->throttleHover);
sbufWriteU8(dst, gpsRescueConfig()->sanityChecks);
sbufWriteU8(dst, gpsRescueConfig()->minSats);
sbufWriteU8(dst, 0); // not required in API 1.44, gpsRescueConfig()->minSats
// Added in API version 1.43
sbufWriteU16(dst, gpsRescueConfig()->ascendRate);
sbufWriteU16(dst, gpsRescueConfig()->descendRate);
@ -2690,6 +2694,12 @@ static mspResult_e mspProcessInCommand(mspDescriptor_t srcDesc, int16_t cmdMSP,
gpsConfigMutable()->gps_set_home_point_once = sbufReadU8(src);
gpsConfigMutable()->gps_ublox_use_galileo = sbufReadU8(src);
}
if (sbufBytesRemaining(src) >= 2) {
// Added in API version 1.45
gpsConfigMutable()->gpsRequiredSats = sbufReadU8(src);
gpsConfigMutable()->gpsMinimumSats = sbufReadU8(src);
}
break;
#ifdef USE_GPS_RESCUE
@ -2702,7 +2712,7 @@ static mspResult_e mspProcessInCommand(mspDescriptor_t srcDesc, int16_t cmdMSP,
gpsRescueConfigMutable()->throttleMax = sbufReadU16(src);
gpsRescueConfigMutable()->throttleHover = sbufReadU16(src);
gpsRescueConfigMutable()->sanityChecks = sbufReadU8(src);
gpsRescueConfigMutable()->minSats = sbufReadU8(src);
sbufReadU8(src); // not used since 1.43, was gps rescue minSats
if (sbufBytesRemaining(src) >= 6) {
// Added in API version 1.43
gpsRescueConfigMutable()->ascendRate = sbufReadU16(src);