#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::QK |
| preemptive, non-blocking kernel
|
|
namespace | QP::QF |
| QF Active Object Framework.
|
|
◆ QK_sched_()
std::uint_fast8_t QK_sched_ |
( |
| ) |
|
|
noexcept |
QK scheduler finds the highest-priority AO ready to run
- Description
- The QK scheduler finds out the priority of the highest-priority AO that (1) has events to process and (2) has priority that is above the current priority.
- Returns
- The QF-priority of the next active object to activate, or zero if no activation of AO is needed.
- Precondition
qk:400
- check the internal integrity (duplicate inverse storage)
- Attention
- QK_sched_() must be always called with interrupts disabled and returns with interrupts disabled. QK_sched_() is defined with the "C" linkage (extern "C").
Definition at line 161 of file qk.cpp.
◆ QK_activate_()
QK activator activates the next active object. The activated AO preempts the currently executing AOs.
- Description
- QK_activate_() activates ready-to run AOs that are above the initial preemption-threshold.
- Precondition
qk:500
- QK_attr_.actPrio and QK_attr_.nextPrio must be in range
- Attention
- QK_activate_() must be always called with interrupts disabled and returns with interrupts disabled. QK_activate_() is defined with the "C" linkage (extern "C")
Definition at line 206 of file qk.cpp.
◆ QK_priv_