GPS Dump timeout increase + GPS overflow fix

This commit is contained in:
Alexander Lerach 2025-03-17 17:03:45 +01:00 committed by GitHub
parent e691db3cfe
commit 9fc9fb56d1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 2 deletions

@ -1 +1 @@
Subproject commit bbdd5767a961cc17bdcc577c79b1c708d2a7999a
Subproject commit 91e3dbb296d74b2a6d4f8f3c7f2fddd3c6705495

View File

@ -85,7 +85,8 @@ using namespace device;
using namespace time_literals;
#define TIMEOUT_1HZ 1300 //!< Timeout time in mS, 1000 mS (1Hz) + 300 mS delta for error
#define TIMEOUT_5HZ 500 //!< Timeout time in mS, 200 mS (5Hz) + 300 mS delta for error
#define TIMEOUT_5HZ 500 //!< Timeout time in mS, 200 mS (5Hz) + 300 mS delta for error
#define TIMEOUT_DUMP_ADD 450 //!< Additional time in mS to account for RTCM3 parsing and dumping
#define RATE_MEASUREMENT_PERIOD 5_s
enum class gps_driver_mode_t {
@ -965,6 +966,12 @@ GPS::run()
receive_timeout = TIMEOUT_1HZ;
}
if (_dump_communication_mode != gps_dump_comm_mode_t::Disabled) {
/* Dumping the RTCM3/UBX data requires additional parsing and storing of data via uORB.
* Without additional time this can lead to timeouts. */
receive_timeout += TIMEOUT_DUMP_ADD;
}
while ((helper_ret = _helper->receive(receive_timeout)) > 0 && !should_exit()) {
if (helper_ret & 1) {