From 4deed0319048e53c19eeaa2c6ce6916556fb8fbbc09fec292f77f0e9abfe949a Mon Sep 17 00:00:00 2001 From: localhorst Date: Wed, 25 Dec 2024 22:54:57 +0100 Subject: [PATCH] add mutex in getter of safety state --- main/safety.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/main/safety.c b/main/safety.c index 4bfccd5..db60a87 100644 --- a/main/safety.c +++ b/main/safety.c @@ -155,5 +155,16 @@ void getSensorSanityStates(sSensorSanityCheck *pSensorSanityChecks) eSafetyState getSafetyState(void) { - return sSafetyState; + eSafetyState state = SAFETY_NO_ERROR; + if (xSemaphoreTakeRecursive(xMutexAccessSafety, pdMS_TO_TICKS(5000)) == pdTRUE) + { + state = sSafetyState; + xSemaphoreGiveRecursive(xMutexAccessSafety); + } + else + { + state = SAFETY_INTERNAL_ERROR; + ESP_LOGE(TAG, "Unable to take mutex: getSafetyState()"); + } + return state; } \ No newline at end of file