modm API documentation for STM32F469ZIT6
|
#include <modm/processing/fiber/fiber.hpp>
Public Types | |
enum | Start |
Public Member Functions | |
template<class T > | |
Fiber (T &&task, fiber::Start start=fiber::Start::Now) | |
bool | isRunning () const |
bool | stack_overflow () const |
size_t | stack_usage () const |
bool | start () |
void | watermark_stack () |
Static Public Attributes | |
static constexpr size_t | StackAlignment = sizeof(uintptr_t) * 2 |
Alignment requirements for the bottom and top of the stack. | |
static constexpr size_t | StackSizeMinimum = 108 |
Minimum stack size required to push one full fiber context. | |
static constexpr size_t | StackSizeDefault = 512 |
This class is a convenience extension of a fiber task, which contains the modm::fiber::Stack
as part of the class. The class is constructed at runtime only, therefore it is placed into the .bss
section by default and does not count towards your .data
section size. To speed up booting you may place the object into the modm_faststack
section.
|
inheritedinline |
|
inheritedinline |
modm_context_stack_overflow()
.
|
inheritedinline |
modm_context_stack_usage()
.
|
inherited |
Adds the task to the currently active scheduler, if not already running.
|
inheritedinline |
Watermarks the stack to measure stack_usage()
later.
modm_context_watermark()
.