36 #ifndef SEMAPHORE_CPP_H
37 #define SEMAPHORE_CPP_H
55 vSemaphoreCreateBinary(sema);
56 #if configQUEUE_REGISTRY_SIZE > 0
57 vQueueAddToRegistry(sema, name);
71 signed portBASE_TYPE
give() {
72 return xSemaphoreGive(sema);
80 signed portBASE_TYPE
take(TickType_t delay = portMAX_DELAY){
81 return xSemaphoreTake(sema, delay);
94 signed portBASE_TYPE
give_ISR(portBASE_TYPE& waswoken) {
95 return xSemaphoreGiveFromISR(sema, &waswoken);
98 xSemaphoreHandle sema;
101 #if __cplusplus < 201101L
106 void operator =(
Semaphore const&) =
delete;
107 #endif // __cplusplus
signed portBASE_TYPE take(TickType_t delay=portMAX_DELAY)
Take the semaphore.
Definition: SemaphoreCPP.h:80
signed portBASE_TYPE give_ISR(portBASE_TYPE &waswoken)
Give the Semaphore inside an ISR.
Definition: SemaphoreCPP.h:94
Semaphore(char const *name)
Constructor.
Definition: SemaphoreCPP.h:54
signed portBASE_TYPE give()
Give the Semaphore.
Definition: SemaphoreCPP.h:71
Binary Semaphore Wrapper.
Definition: SemaphoreCPP.h:48
~Semaphore()
Destructor.
Definition: SemaphoreCPP.h:65