diff options
author | Nick Butcher <butcher.nick@gmail.com> | 2012-11-12 23:18:20 +0100 |
---|---|---|
committer | Nick Butcher <butcher.nick@gmail.com> | 2012-11-12 23:18:20 +0100 |
commit | b5665c2a71c9de50d940a3507cc7cf6cc224757e (patch) | |
tree | ea8d38c33ccd456d3f929ae2d85f5fa4af100a5b /apps | |
parent | e52c7e3c4ba4f909ae7ae51347c0c659c0c9cea7 (diff) | |
download | px4-firmware-b5665c2a71c9de50d940a3507cc7cf6cc224757e.tar.gz px4-firmware-b5665c2a71c9de50d940a3507cc7cf6cc224757e.tar.bz2 px4-firmware-b5665c2a71c9de50d940a3507cc7cf6cc224757e.zip |
GPS watchdog - health detection fixes
Diffstat (limited to 'apps')
-rw-r--r-- | apps/gps/mtk.c | 7 | ||||
-rw-r--r-- | apps/gps/ubx.c | 12 |
2 files changed, 7 insertions, 12 deletions
diff --git a/apps/gps/mtk.c b/apps/gps/mtk.c index 604dba05c..7ba4f52b0 100644 --- a/apps/gps/mtk.c +++ b/apps/gps/mtk.c @@ -410,6 +410,8 @@ void *mtk_watchdog_loop(void *args) } else { /* gps healthy */ mtk_success_count++; + mtk_fail_count = 0; + once_ok = true; // XXX Should this be true on a single success, or on same criteria as mtk_healthy? if (!mtk_healthy && mtk_success_count >= MTK_HEALTH_SUCCESS_COUNTER_LIMIT) { printf("[gps] MTK module found, status ok (baud=%d)\r\n", current_gps_speed); @@ -418,11 +420,8 @@ void *mtk_watchdog_loop(void *args) mtk_gps->satellite_info_available = 0; // global_data_send_subsystem_info(&mtk_present_enabled_healthy); mavlink_log_info(mavlink_fd, "[gps] MTK custom binary module found, status ok\n"); + mtk_healthy = true; } - - mtk_healthy = true; - mtk_fail_count = 0; - once_ok = true; } usleep(MTK_WATCHDOG_WAIT_TIME_MICROSECONDS); diff --git a/apps/gps/ubx.c b/apps/gps/ubx.c index 21e917bf8..2bbecb12e 100644 --- a/apps/gps/ubx.c +++ b/apps/gps/ubx.c @@ -786,22 +786,18 @@ void *ubx_watchdog_loop(void *args) sleep(1); } else { + /* gps healthy */ + ubx_success_count++; + ubx_fail_count = 0; + once_ok = true; // XXX Should this be true on a single success, or on same criteria as ubx_healthy? if (!ubx_healthy && ubx_success_count == UBX_HEALTH_SUCCESS_COUNTER_LIMIT) { //printf("[gps] ublox UBX module status ok (baud=%d)\r\n", current_gps_speed); // global_data_send_subsystem_info(&ubx_present_enabled_healthy); mavlink_log_info(mavlink_fd, "[gps] UBX module found, status ok\n"); ubx_healthy = true; - ubx_fail_count = 0; - once_ok = true; } - - /* gps healthy */ - ubx_success_count++; - ubx_healthy = true; - ubx_fail_count = 0; } - usleep(UBX_WATCHDOG_WAIT_TIME_MICROSECONDS); } |