#include "qp_port.hpp"
#include "qp_pkg.hpp"
#include "qsafe.h"
#include "qs_port.hpp"
#include "qs_pkg.hpp"
Go to the source code of this file.
|
namespace | QP |
| QP/C++ framework.
|
|
namespace | QP::QXK |
| preemptive, dual-mode (non-blocking / blocking) kernel
|
|
namespace | QP::QF |
| QF Active Object Framework.
|
|
◆ QXK_sched_()
std::uint_fast8_t QXK_sched_ |
( |
| ) |
|
|
noexcept |
QXK scheduler finds the highest-priority thread ready to run
- Description
- The QXK scheduler finds the priority of the highest-priority thread that is ready to run.
- Returns
- the 1-based priority of the the thread (basic or extended) run next, or zero if no eligible thread is found.
- Precondition
qxk:402
- check the integrity of readySet_dis (duplicate inverse storage)
- Attention
- QXK_sched_() must be always called with interrupts disabled and returns with interrupts disabled. QXK_sched_() is defined with the "C" linkage (extern "C").
Definition at line 177 of file qxk.cpp.
◆ QXK_activate_()
QXK activator activates the next active object. The activated AO preempts the currently executing AOs.
- Description
- QXK_activate_() activates ready-to run AOs that are above the initial active priority (QXK_priv_.actPrio).
- Precondition
qxk:500
- QXK_priv_.next must be valid and the prio must be in range
- Attention
- QXK_activate_() must be always called with interrupts disabled and returns with interrupts disabled. QXK_activate_() is defined with the "C" linkage (extern "C").
Definition at line 236 of file qxk.cpp.
◆ QXK_contextSw_()
◆ QXK_threadExit_()
Called when QP::QXThread exits
- Description
- Called when the extended-thread handler function returns.
- Precondition
qxk:900
- must NOT be called from an ISR;
- must be called from an extended thread
- Precondition
qxk:901
- the thread must NOT be holding a scheduler lock
- Note
- Most thread handler functions are structured as endless loops that never return. But it is also possible to structure threads as one-shot functions that perform their job and return. In that case this function performs cleanup after the thread.
Definition at line 366 of file qxk.cpp.
◆ QXK_priv_