![]() |
F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
|
Namespaces | |
| Queue | |
Classes | |
| class | PriorityMemQueue |
| AtomicQueue-based priority queue implementation. More... | |
| struct | PriorityMemQueueHandle |
| critical data stored for priority queue More... | |
| class | PriorityQueue |
| generic priority queue implementation More... | |
| struct | PriorityQueueHandle |
| critical data stored for priority queue More... | |
| struct | UsedTotal |
| Generic used/total struct. More... | |
Enumerations | |
| enum | Status { OP_OK, ERROR } |
| Generic OK/ERROR status. More... | |
Functions | |
| static constexpr U32 | priorityBitMask (FwQueuePriorityType priority) |
| Get the bit mask for a priority. More... | |
| static I32 | findMSB (U32 value) |
| Find most significant bit set (IPC-style priority finding) More... | |
| static void | validateQueueConfigs (PriorityMemQueue::QueueConfig *queueConfigs, FwSizeType numQueueConfigs) |
| Validate queue configuration structures. More... | |
| static Types::AtomicQueue * | resolvePriorityQueue (PriorityMemQueueHandle &handle, FwQueuePriorityType &priority, FwEnumStoreType queueId, bool requirePrioritySizing) |
| Resolve priority to a valid AtomicQueue, fallback to DEFAULT if needed. More... | |
| static void | updateHighWaterMark (std::atomic< U32 > *highWaterMarks, FwSizeType index, U32 currentDepth, FwEnumStoreType queueId) |
| Update per-priority high water mark atomically. More... | |
Variables | |
| constexpr U32 | LOOP_GUARD_LIMIT = 2000 |
| enum Os::Generic::Status |
|
inlinestatic |
Find most significant bit set (IPC-style priority finding)
| value | bit mask to search |
Definition at line 189 of file PriorityMemQueue.cpp.
|
static |
Get the bit mask for a priority.
| priority | priority to get mask for |
Definition at line 54 of file PriorityMemQueue.cpp.
|
static |
Resolve priority to a valid AtomicQueue, fallback to DEFAULT if needed.
| handle | queue handle |
| priority | input/output priority (may be modified to DEFAULT) |
| queueId | queue ID for assertions |
| requirePrioritySizing | whether to assert on fallback |
Definition at line 585 of file PriorityMemQueue.cpp.
|
static |
Update per-priority high water mark atomically.
| highWaterMarks | array of HWM atomics |
| index | array index (not priority value) |
| currentDepth | current queue depth |
| queueId | queue ID for assertions |
Definition at line 615 of file PriorityMemQueue.cpp.
|
static |
Validate queue configuration structures.
| queueConfigs | array of queue configurations to validate |
| numQueueConfigs | number of configurations |
Definition at line 257 of file PriorityMemQueue.cpp.
| constexpr U32 Os::Generic::LOOP_GUARD_LIMIT = 2000 |
Definition at line 26 of file PriorityMemQueue.cpp.