From f357f476dc72688b733c4f0d2264260781b9e8c2 Mon Sep 17 00:00:00 2001 From: Federico Amedeo Izzo Date: Tue, 16 Feb 2021 22:47:38 +0100 Subject: [PATCH] GPS: Enable GPS on gps_task start only if enabled in settings --- openrtx/src/threads.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/openrtx/src/threads.c b/openrtx/src/threads.c index 8d2ae90d..158dd18e 100644 --- a/openrtx/src/threads.c +++ b/openrtx/src/threads.c @@ -308,7 +308,14 @@ static void gps_task(void *arg) return; gps_init(9600); - gps_enable(); + // Lock mutex to read internal state + OSMutexPend(&state_mutex, 0u, OS_OPT_PEND_BLOCKING, 0u, &os_err); + bool enabled = state.settings.gps_enabled; + OSMutexPost(&state_mutex, OS_OPT_POST_NONE, &os_err); + if(enabled) + gps_enable(); + else + gps_disable(); while(1) {