49 template <
typename T,
size_t C>
70 auto uXPrioBit =
PrioBit(uXPrio_);
84 auto uXPrioBit =
PrioBit(uXPrio_);
125 auto u8Zeros = T { 0 };
128 if (uXMask & uXPrio_) {
146 = T { (C + (m_uXPrioMapBits - 1)) / m_uXPrioMapBits };
static constexpr auto m_uXPrioMapBits
void Clear(T uXPrio_)
Clear Clear the priority map bitmap data, at all levels, for the given priority.
Basic data type primatives used throughout the OS.
static constexpr auto m_uXPrioMapNumWords
PriorityMapL2()
PriorityMap Initialize the priority map object, clearing the bitamp data to all 0's.
static T PrioMapWordIndex(T prio)
#define PORT_PRIO_TYPE
Type used for bitmap in the PriorityMap class.
T m_auXPriorityMap[m_uXPrioMapNumWords]
static constexpr auto m_uXPrioMapBitMask
Mark3 Kernel Configuration This file is used to configure the kernel for your specific application in...
uint8_t PORT_CLZ(uint8_t in_)
ATMega1284p Multithreading support.
The PriorityMapL2 class This class implements a priority bitmap data structure. Each bit in the objec...
static T PriorityFromBitmap(T uXPrio_)
static constexpr auto m_uXPrioMapWordShift
void Set(T uXPrio_)
Set Set the priority map bitmap data, at all levels, for the given priority.
static constexpr size_t m_uXPrioMapShiftLUT[9]
T HighestPriority(void)
HighestPriority Computes the numeric priority of the highest-priority thread represented in the prior...