From d70e7da0ef231124504d1902d453eb5b3d0e2943 Mon Sep 17 00:00:00 2001 From: Jesse Hills <3060199+jesserockz@users.noreply.github.com> Date: Wed, 22 Mar 2023 09:25:19 +1300 Subject: [PATCH] rp2040: Use fake Mutex lock (#4602) --- esphome/core/helpers.cpp | 4 ++-- esphome/core/helpers.h | 5 +---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/esphome/core/helpers.cpp b/esphome/core/helpers.cpp index 4ac9303b20..7f5c3ad333 100644 --- a/esphome/core/helpers.cpp +++ b/esphome/core/helpers.cpp @@ -393,13 +393,13 @@ void hsv_to_rgb(int hue, float saturation, float value, float &red, float &green } // System APIs -#if defined(USE_ESP8266) +#if defined(USE_ESP8266) || defined(USE_RP2040) // ESP8266 doesn't have mutexes, but that shouldn't be an issue as it's single-core and non-preemptive OS. Mutex::Mutex() {} void Mutex::lock() {} bool Mutex::try_lock() { return true; } void Mutex::unlock() {} -#elif defined(USE_ESP32) || defined(USE_RP2040) +#elif defined(USE_ESP32) Mutex::Mutex() { handle_ = xSemaphoreCreateMutex(); } void Mutex::lock() { xSemaphoreTake(this->handle_, portMAX_DELAY); } bool Mutex::try_lock() { return xSemaphoreTake(this->handle_, 0) == pdTRUE; } diff --git a/esphome/core/helpers.h b/esphome/core/helpers.h index 0d2a7e298a..a107b1b849 100644 --- a/esphome/core/helpers.h +++ b/esphome/core/helpers.h @@ -17,9 +17,6 @@ #if defined(USE_ESP32) #include #include -#elif defined(USE_RP2040) -#include -#include #endif #define HOT __attribute__((hot)) @@ -539,7 +536,7 @@ class Mutex { Mutex &operator=(const Mutex &) = delete; private: -#if defined(USE_ESP32) || defined(USE_RP2040) +#if defined(USE_ESP32) SemaphoreHandle_t handle_; #endif };