|
modm API documentation
|
#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().