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