24 U16 ApidManager ::validateApidSeqCountIn_handler(
FwIndexType portNum,
const ComCfg::Apid& apid, U16 receivedSeqCount) {
25 const U16 expectedSequenceCount = this->getAndIncrementSeqCount(apid);
28 return receivedSeqCount;
30 if (receivedSeqCount != expectedSequenceCount) {
36 const Fw::Success insertStatus = m_apidSequences.
insert(apid, this->calculateNextSeqCount(receivedSeqCount));
39 return receivedSeqCount;
43 return this->getAndIncrementSeqCount(apid);
53 (void)m_apidSequences.
find(apid, seqCount);
56 const Fw::Success insertStatus = m_apidSequences.
insert(apid, this->calculateNextSeqCount(seqCount));
64 U16 ApidManager::calculateNextSeqCount(
const U16 seqCount)
const {
static constexpr U16 SEQUENCE_COUNT_ERROR
Success insert(const K &key, const V &value) override
ApidManager(const char *const compName)
Construct ApidManager object.
void log_WARNING_HI_ApidTableFull(U16 invalidApidValue) const
void log_WARNING_LO_UnexpectedSequenceCount(U16 transmitted, U16 expected) const
Success find(const K &key, V &value) const override
PlatformIndexType FwIndexType
RateGroupDivider component implementation.
Auto-generated base for ApidManager component.
APIDs are 11 bits in the Space Packet protocol, so we use U16. Max value 7FF.