37 #ifndef FREERTOSPP_LOCK_H_ 38 #define FREERTOSPP_LOCK_H_ 42 #if FREERTOSCPP_USE_NAMESPACE 63 virtual bool take(TickType_t wait = portMAX_DELAY) = 0;
64 #if FREERTOSCPP_USE_CHRONO 67 virtual bool give() = 0;
69 #if __cplusplus < 201101L 123 Lock(
Lockable& mylockable,
bool mylocked =
true, TickType_t wait = portMAX_DELAY);
130 #if FREERTOSCPP_USE_CHRONO 135 bool lock(TickType_t wait = portMAX_DELAY);
136 #if FREERTOSCPP_USE_CHRONO 144 bool locked()
const {
return lockCnt > 0; }
149 #if __cplusplus < 201101L 155 #endif // __cplusplus 158 #if FREERTOSCPP_USE_NAMESPACE Lock(Lockable &mylockable, TickType_t wait)
Constructor with assumed locking by specifying lock time.
Definition: Lock.h:129
Class to hold a block based lock.
Definition: Lock.h:121
Lockable & lockable
The Lockage object we are connected to.
Definition: Lock.h:146
constexpr TickType_t ms2ticks(Time_ms ms)
Definition: FreeRTOScpp.h:81
std::chrono::milliseconds Time_ms
Definition: FreeRTOScpp.h:79
void operator=(Lockable const &)=delete
We are not assignable.
Definition: CallBack.h:63
bool take(Time_ms ms)
Definition: Lock.h:65
A Base class to provide block based locking capability.
Definition: Lock.h:58
virtual bool take(TickType_t wait=portMAX_DELAY)=0
Lockable()
Definition: Lock.h:60
int lockCnt
The number of locks we hold on lockable.
Definition: Lock.h:147
bool locked() const
Do we have the lock?
Definition: Lock.h:144
virtual ~Lockable()
Definition: Lock.h:61
bool lock(Time_ms ms)
Definition: Lock.h:137