mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	rp2040: Use fake Mutex lock (#4602)
This commit is contained in:
		| @@ -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; } | ||||
|   | ||||
| @@ -17,9 +17,6 @@ | ||||
| #if defined(USE_ESP32) | ||||
| #include <freertos/FreeRTOS.h> | ||||
| #include <freertos/semphr.h> | ||||
| #elif defined(USE_RP2040) | ||||
| #include <FreeRTOS.h> | ||||
| #include <semphr.h> | ||||
| #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 | ||||
| }; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user