6#ifndef TASKMANAGERIO_RENTRANTYIELDINGLOCK_H
7#define TASKMANAGERIO_RENTRANTYIELDINGLOCK_H
19 tm_internal::TimerTaskAtomicPtr initiatingTask;
20#if defined(IOA_MULTITHREADED)
21 volatile void* currentThread =
nullptr;
23 tm_internal::TmAtomicBool locked;
24 volatile uint8_t count;
30 initiatingTask =
nullptr;
53 bool spinLock(
unsigned long iterations);
60 uint8_t getLockCount()
const {
return count; }
62 bool isLocked()
const {
return locked; }
Task manager is a simple co-routine style implementation for Arduino which supports scheduling work t...
Definition SimpleSpinLock.h:17
bool spinLock(unsigned long iterations)
Definition SimpleSpinLock.cpp:18
void unlock()
Definition SimpleSpinLock.cpp:43
void lock()
Definition SimpleSpinLock.h:38
SimpleSpinLock()
Definition SimpleSpinLock.h:29
bool tryLock()
Definition SimpleSpinLock.cpp:8