This commit is contained in:
Tomasz Duda 2024-10-29 08:00:50 +01:00
parent 9dc38ea5e3
commit 292d0259d9
3 changed files with 17 additions and 0 deletions

View file

@ -22,6 +22,7 @@
#endif // USE_ESP_IDF
#ifdef USE_ZEPHYR
#include <zephyr/kernel.h>
struct device;
#endif

View file

@ -0,0 +1,15 @@
#include "esphome/core/helpers.h"
#include <zephyr/kernel.h>
namespace esphome {
Mutex::Mutex() {
auto mutex = new k_mutex();
this->handle_ = mutex;
k_mutex_init(mutex);
}
Mutex::~Mutex() { delete static_cast<k_mutex *>(this->handle_); }
void Mutex::lock() { k_mutex_lock(static_cast<k_mutex *>(this->handle_), K_FOREVER); }
bool Mutex::try_lock() { return k_mutex_lock(static_cast<k_mutex *>(this->handle_), K_NO_WAIT) == 0; }
void Mutex::unlock() { k_mutex_unlock(static_cast<k_mutex *>(this->handle_)); }
uint32_t random_uint32() { return rand(); }
} // namespace esphome

View file

@ -1,5 +1,6 @@
#ifdef USE_ZEPHYR
#include <zephyr/kernel.h>
#include "esphome/core/preferences.h"
#include "esphome/core/log.h"
#include <zephyr/settings/settings.h>