Components/Libraries/XF/FreeRTOS/Semaphore
|
Semaphore
This class is a C++ class that manage a FreeRTOS Semaphore.
Member Attibuts
SemaphoreHandle_t _semaphoreHandler : The FreeRTOS semaphore
Member Functions Description
Semaphore(baseUInt oMaxCount, baseUInt oInitalCount)
Description
The constructor of the semaphore. It will create a free RTOS semaphore and initialize it with the given count value
Parameters
oMaxCount : the maximal count value that can be reached
oInitalCount : the count value assigned to the semaphore when it is created
~Semaphore()
Description
The destructor of the Semaphore. It will delete the free RTOS semaphore
IMPORTANT : do not delete a semaphore that has thread blocked on it. (tasks that are in the Blocked state waiting for the semaphore to become available)
baseUInt getCount()
Description
Returns the count of the semaphore
bool take(timeSize oTimeToWait)
Description
Obtain the semaphore (decrement count value)
Parameters
TimeToWait : maximal amount of time (in ticks) that thread should wait if semaphore is not available
Return
Returns true if the Semaphore has been obtained successfully, else false
bool takeFromISR()
Description
Obtain the semaphore (decrement count value) from an ISR
Return
Returns true if the Semaphore has been obtained successfully, else false