SuperTinyKernel™ RTOS 1.08.x
Lightweight, high-performance, deterministic, bare-metal C++ RTOS for resource-constrained embedded systems. MIT Open Source License.
Loading...
Searching...
No Matches
stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::TsInfo Class Reference

Per-task time-slice (KERNEL_TIMESLICE) metadata. More...

#include <stk.h>

Public Member Functions

 TsInfo ()
void Clear ()
 Clear all fields, ready for slot re-use.
void Reload ()
 Restart the current slice.

Public Attributes

Timeout quantum
 Configured slice (ticks), NO_TIME_SLICE if time-slicing is disabled for the task.
volatile Timeout left
 Ticks left in the current slice. Written by the tick handler and, under the critical section, by task context.

Detailed Description

template<uint8_t TMode, uint32_t TSize, class TStrategy, class TPlatform>
class stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::TsInfo

Per-task time-slice (KERNEL_TIMESLICE) metadata.

Note
Allocated only when TMode includes KERNEL_TIMESLICE. Zero-size otherwise.

Definition at line 494 of file stk.h.

Constructor & Destructor Documentation

◆ TsInfo()

template<uint8_t TMode, uint32_t TSize, class TStrategy, class TPlatform>
stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::TsInfo::TsInfo ( )
inline

Definition at line 496 of file stk.h.

497 {}
Concrete implementation of IKernel.
Definition stk.h:100
Timeout quantum
Configured slice (ticks), NO_TIME_SLICE if time-slicing is disabled for the task.
Definition stk.h:514
volatile Timeout left
Ticks left in the current slice. Written by the tick handler and, under the critical section,...
Definition stk.h:515

References left, stk::NO_TIME_SLICE, and quantum.

Member Function Documentation

◆ Clear()

template<uint8_t TMode, uint32_t TSize, class TStrategy, class TPlatform>
void stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::TsInfo::Clear ( )
inline

Clear all fields, ready for slot re-use.

Definition at line 501 of file stk.h.

502 {
505 }

References left, stk::NO_TIME_SLICE, and quantum.

◆ Reload()

template<uint8_t TMode, uint32_t TSize, class TStrategy, class TPlatform>
void stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::TsInfo::Reload ( )
inline

Restart the current slice.

Definition at line 509 of file stk.h.

510 {
511 left = quantum;
512 }

References left, and quantum.

Member Data Documentation

◆ left

template<uint8_t TMode, uint32_t TSize, class TStrategy, class TPlatform>
volatile Timeout stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::TsInfo::left

Ticks left in the current slice. Written by the tick handler and, under the critical section, by task context.

Definition at line 515 of file stk.h.

Referenced by stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::Bind(), Clear(), Reload(), and TsInfo().

◆ quantum

template<uint8_t TMode, uint32_t TSize, class TStrategy, class TPlatform>
Timeout stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::TsInfo::quantum

Configured slice (ticks), NO_TIME_SLICE if time-slicing is disabled for the task.

Definition at line 514 of file stk.h.

Referenced by stk::Kernel< TMode, TSize, TStrategy, TPlatform >::KernelTask::Bind(), Clear(), Reload(), and TsInfo().


The documentation for this class was generated from the following file: