![]() |
SuperTinyKernel™ RTOS 1.06.x
Lightweight, high-performance, deterministic, bare-metal C++ RTOS for resource-constrained embedded systems. MIT Open Source License.
|
Public Member Functions | |
| TaskWrapper () | |
| ~TaskWrapper ()=default | |
| Destructor. | |
| EAccessMode | GetAccessMode () const override |
| Get hardware access mode of the user task. | |
| void | OnDeadlineMissed (uint32_t duration) override |
| Called by the scheduler if deadline of the task is missed when Kernel is operating in Hard Real-Time mode (see stk::KERNEL_HRT). | |
| int32_t | GetWeight () const override |
| Get static base weight of the task. | |
| const char * | GetTraceName () const override |
| Get task trace name set by application. | |
| const Word * | GetStack () const override |
| Get pointer to the stack memory. | |
| size_t | GetStackSize () const override |
| Get number of elements of the stack memory array. | |
| size_t | GetStackSizeBytes () const override |
| Get size of the memory in bytes. | |
| void | Initialize (stk_task_entry_t const func, void *user_data, stk_word_t *stack, size_t stack_size, EAccessMode mode) |
| void | SetWeight (Weight weight) |
| void | SetName (const char *tname) |
| TId | GetId () const |
| Get task Id set by application. | |
| virtual size_t | GetStackSpace () const |
| Get available stack space. | |
Private Member Functions | |
| TaskWrapper (const TaskWrapper &)=delete | |
| TaskWrapper & | operator= (const TaskWrapper &)=delete |
| void | Run () override |
| Entry point of the user task. | |
| void | OnExit () override |
| Called by the kernel before removal from the scheduling (see stk::KERNEL_DYNAMIC). | |
Private Attributes | |
| stk_task_entry_t | m_func |
| void * | m_user_data |
| stk_word_t * | m_stack |
| size_t | m_stack_size |
| EAccessMode | m_mode |
| Weight | m_weight |
| const char * | m_tname |
|
inlineexplicit |
Definition at line 77 of file stk_c.cpp.
References stk::ACCESS_USER, stk::DEFAULT_WEIGHT, m_func, m_mode, m_stack, m_stack_size, m_tname, m_user_data, and m_weight.
Referenced by operator=().
|
default |
|
privatedelete |
|
inlineoverridevirtual |
Get hardware access mode of the user task.
Implements stk::ITask.
Definition at line 87 of file stk_c.cpp.
References m_mode.
|
inlineinherited |
Get task Id set by application.
Implementation of ITask::GetId, see ITask. Placed here as it depends on GetTidFromUserTask.
Definition at line 234 of file stk_helper.h.
References stk::GetTidFromUserTask().
Referenced by stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::Bind(), and stk_task_get_id().
|
inlineoverridevirtual |
Get pointer to the stack memory.
Implements stk::IStackMemory.
Definition at line 93 of file stk_c.cpp.
References m_stack.
|
inlineoverridevirtual |
Get number of elements of the stack memory array.
Implements stk::IStackMemory.
Definition at line 94 of file stk_c.cpp.
References m_stack_size.
|
inlineoverridevirtual |
Get size of the memory in bytes.
Implements stk::IStackMemory.
Definition at line 95 of file stk_c.cpp.
References m_stack_size.
|
inlinevirtualinherited |
Get available stack space.
Definition at line 319 of file stk_common.h.
References stk::ArrayView< T >::GetSize(), GetStack(), GetStackSize(), and STK_STACK_MEMORY_FILLER.
Referenced by FrtosTask::GetStackHighWaterMark(), and osThreadGetStackSpace().
|
inlineoverridevirtual |
Get task trace name set by application.
NULL if unused. Reimplemented from stk::ITask.
Definition at line 90 of file stk_c.cpp.
References m_tname.
Referenced by stk_task_get_name().
|
inlineoverridevirtual |
Get static base weight of the task.
Reimplemented from stk::ITask.
Definition at line 89 of file stk_c.cpp.
References m_weight.
|
inline |
Definition at line 97 of file stk_c.cpp.
References stk::DEFAULT_WEIGHT, m_func, m_mode, m_stack, m_stack_size, m_user_data, and m_weight.
Referenced by AllocateTask().
|
inlineoverridevirtual |
Called by the scheduler if deadline of the task is missed when Kernel is operating in Hard Real-Time mode (see stk::KERNEL_HRT).
| [in] | duration | Elapsed active time in ticks at the point the deadline was detected. Always greater than the task's configured deadline (ticks). |
Reimplemented from stk::ITask.
Definition at line 88 of file stk_c.cpp.
|
overrideprivatevirtual |
Called by the kernel before removal from the scheduling (see stk::KERNEL_DYNAMIC).
Reimplemented from stk::ITask.
Definition at line 147 of file stk_c.cpp.
References CastCppTaskInterfaceToC(), and FreeTask().
|
privatedelete |
|
inlineoverrideprivatevirtual |
Entry point of the user task.
Kernel is configured as KERNEL_STATIC, the body must contain an infinite loop. Implements stk::ITask.
Definition at line 114 of file stk_c.cpp.
References m_func, and m_user_data.
|
inline |
Definition at line 109 of file stk_c.cpp.
References m_tname.
Referenced by stk_task_set_name().
|
inline |
Definition at line 108 of file stk_c.cpp.
References m_weight.
Referenced by stk_task_set_weight().
|
private |
Definition at line 117 of file stk_c.cpp.
Referenced by Initialize(), Run(), and TaskWrapper().
|
private |
Definition at line 121 of file stk_c.cpp.
Referenced by GetAccessMode(), Initialize(), and TaskWrapper().
|
private |
Definition at line 119 of file stk_c.cpp.
Referenced by GetStack(), Initialize(), and TaskWrapper().
|
private |
Definition at line 120 of file stk_c.cpp.
Referenced by GetStackSize(), GetStackSizeBytes(), Initialize(), and TaskWrapper().
|
private |
Definition at line 123 of file stk_c.cpp.
Referenced by GetTraceName(), SetName(), and TaskWrapper().
|
private |
Definition at line 118 of file stk_c.cpp.
Referenced by Initialize(), Run(), and TaskWrapper().
|
private |
Definition at line 122 of file stk_c.cpp.
Referenced by GetWeight(), Initialize(), SetWeight(), and TaskWrapper().