2025-12-16 07:00:23 +01:00

14 lines
538 B
C

extern SemaphoreHandle_t lvgl_mux;
static const char* TAG_BSP="bsp";
bool bsp_display_lock(int timeout_ms)
{
ESP_LOGI(TAG_BSP, "Obtention mutex");
// Convert timeout in milliseconds to FreeRTOS ticks
// If `timeout_ms` is set to -1, the program will block until the condition is met
const TickType_t timeout_ticks = (timeout_ms == -1) ? portMAX_DELAY : pdMS_TO_TICKS(timeout_ms);
return xSemaphoreTakeRecursive(lvgl_mux, timeout_ticks) == pdTRUE;
}
void bsp_display_unlock() {
xSemaphoreGiveRecursive(lvgl_mux);
}