15 void operator()(osSemaphoreId_t queue_id) { osSemaphoreDelete(queue_id); }
19 std::unique_ptr<std::remove_pointer_t<osSemaphoreId_t>, Deleter>;
23 semaphore_id_ = SemaphoreId{osSemaphoreNew(max, initial,
nullptr)};
27 return osSemaphoreAcquire(semaphore_id_.get(), timeout) == osOK;
32 void release() { osSemaphoreRelease(semaphore_id_.get()); }
35 SemaphoreId semaphore_id_;
Definition semaphore.hpp:12
bool try_acquire(uint32_t timeout)
Definition semaphore.hpp:26
Semaphore(uint32_t max, uint32_t initial)
Definition semaphore.hpp:22
void release()
Definition semaphore.hpp:32
void acquire()
Definition semaphore.hpp:30