5#ifndef ELEC_C7222_UTILS_FREERTOS_MUTEX_HPP
6#define ELEC_C7222_UTILS_FREERTOS_MUTEX_HPP
45 bool Lock(std::uint32_t ticks_to_wait = 0);
54 void* handle_{
nullptr};
89 bool Lock(std::uint32_t ticks_to_wait = 0);
98 void* handle_{
nullptr};
Ownership-based wrapper for a standard mutex with destructor cleanup.
Definition freertos_mutex.hpp:31
bool Initialize()
Initialize (or re-initialize) the mutex.
bool Lock(std::uint32_t ticks_to_wait=0)
Acquire the mutex.
FreeRtosMutex()
Construct and initialize a mutex.
~FreeRtosMutex()
Destroy mutex resources if initialized.
bool Unlock()
Release the mutex.
bool TryLock()
Non-blocking lock attempt.
Ownership-based wrapper for a recursive mutex with destructor cleanup.
Definition freertos_mutex.hpp:75
bool Lock(std::uint32_t ticks_to_wait=0)
Acquire the recursive mutex.
bool TryLock()
Non-blocking lock attempt.
bool Initialize()
Initialize (or re-initialize) the recursive mutex.
~FreeRtosRecursiveMutex()
Destroy recursive mutex resources if initialized.
bool Unlock()
Release one recursion level.
FreeRtosRecursiveMutex()
Construct and initialize a recursive mutex.
Disable both copy and move operations.
Definition non_copyable.hpp:75
C7222 course abstractions namespace.
Definition ble.hpp:20
Base classes to control copy/move semantics.