Core class. More...
#include <Rtos.hpp>
Public Types | |
| typedef uint32_t | TICK |
| TICK type. | |
| typedef unsigned int | PRIORITY |
| Priority type. | |
Static Public Member Functions | |
| static void | start () |
| static void | sleep (TICK tick) |
| static void | sleepUntil (TICK tick) |
| static bool | isElapsed (TICK tick) |
| static constexpr TICK | convertMsToTick (uint32_t ms) |
| static constexpr uint32_t | convertTickToMs (TICK tick) |
| static TICK | getTick () |
| static RtosTask * | getCurrentTask () |
| static void | enterCriticalSection () |
| static void | exitCriticalSection () |
| static void | disableAllInt () |
| static void | enableAllInt () |
| static void | nop () |
Static Public Attributes | |
| static constexpr TICK | TICK_MAX = 0xFFFFFFFF |
| Maximal tick value. | |
| static constexpr TICK | TICK_INFINITE = 0xFFFFFFFF |
| This values is usually used to indicate an infinite intervall. | |
Static Private Member Functions | |
| static void | addTask (RtosTask *task) |
| static void | removeTask (RtosTask *task) |
| static void | putOnSleepingList (RtosTask *task, TICK tick) |
| static void | putOnSuspendedList (RtosTask *task) |
| static void | onTick () |
| static void * | schedule (void *stackPointer) |
| static void | idleRun (RtosTask *task) |
Static Private Attributes | |
| static size_t | sMaxPriorities = RTOS_CFG_MAX_PRIORITIES |
| Maximal priority value for a task. | |
| static void * | sMemToFree = 0 |
| Pointer to a task stack that can be discarded. | |
| static RtosTask * | sCurrentTask |
| Pointer to the currently running task. | |
| static RtosTask | sIdleTask |
| Idle task is the lower priority task. | |
| static TICK | sTick |
| Tick counter value. | |
| static RtosList | sListReady [RTOS_CFG_MAX_PRIORITIES] |
| Lists containing the task ready to run separated by priority value. | |
| static RtosList | sListSleep |
| List containing the task which are sleeping. | |
| static RtosList | sListSuspended |
| List containing the suspended task. | |
| static size_t | sCurrentTaskCount = 0 |
| Total count of task existing. | |
Friends | |
| class | RtosTask |
| class | RtosSyncObject |
| class | RtosPortable |
Core class.
Its main purpose it to schedule and synchronize the task.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
1.8.3.1