1
0
mirror of https://github.com/thooge/esp32-nmea2000-obp60.git synced 2025-12-14 06:23:07 +01:00

Merge branch 'wellenvogel:master' into master

This commit is contained in:
Norbert Walter
2024-11-30 17:03:11 +01:00
committed by GitHub
41 changed files with 804 additions and 578 deletions

View File

@@ -3,14 +3,26 @@
class GwSynchronized{
private:
SemaphoreHandle_t *locker;
SemaphoreHandle_t locker=nullptr;
void lock(){
if (locker != nullptr) xSemaphoreTake(locker, portMAX_DELAY);
}
public:
/**
* deprecated
* as SemaphoreHandle_t is already a pointer just use this directly
*/
GwSynchronized(SemaphoreHandle_t *locker){
if (locker == nullptr) return;
this->locker=*locker;
lock();
}
GwSynchronized(SemaphoreHandle_t locker){
this->locker=locker;
if (locker != nullptr) xSemaphoreTake(*locker, portMAX_DELAY);
lock();
}
~GwSynchronized(){
if (locker != nullptr) xSemaphoreGive(*locker);
if (locker != nullptr) xSemaphoreGive(locker);
}
};