7 #ifndef CCSDS_CFDPMANAGER_HPP 8 #define CCSDS_CFDPMANAGER_HPP 118 m_channelTelemetry[chanId].set_recvErrors(m_channelTelemetry[chanId].get_recvErrors() + 1);
124 m_channelTelemetry[chanId].set_recvDropped(m_channelTelemetry[chanId].get_recvDropped() + 1);
130 m_channelTelemetry[chanId].set_recvSpurious(m_channelTelemetry[chanId].get_recvSpurious() + 1);
136 m_channelTelemetry[chanId].set_recvFileDataBytes(m_channelTelemetry[chanId].get_recvFileDataBytes() + bytes);
142 m_channelTelemetry[chanId].set_recvNakSegmentRequests(m_channelTelemetry[chanId].get_recvNakSegmentRequests() +
149 m_channelTelemetry[chanId].set_recvPdu(m_channelTelemetry[chanId].get_recvPdu() + 1);
155 m_channelTelemetry[chanId].set_recvEofCanceled(m_channelTelemetry[chanId].get_recvEofCanceled() + 1);
161 m_channelTelemetry[chanId].set_sentNakSegmentRequests(m_channelTelemetry[chanId].get_sentNakSegmentRequests() +
168 m_channelTelemetry[chanId].set_sentFileDataBytes(m_channelTelemetry[chanId].get_sentFileDataBytes() + bytes);
174 m_channelTelemetry[chanId].set_sentPdu(m_channelTelemetry[chanId].get_sentPdu() + 1);
180 m_channelTelemetry[chanId].set_sentEofCanceled(m_channelTelemetry[chanId].get_sentEofCanceled() + 1);
186 m_channelTelemetry[chanId].set_faultAckLimit(m_channelTelemetry[chanId].get_faultAckLimit() + 1);
192 m_channelTelemetry[chanId].set_faultNakLimit(m_channelTelemetry[chanId].get_faultNakLimit() + 1);
198 m_channelTelemetry[chanId].set_faultInactivityTimer(m_channelTelemetry[chanId].get_faultInactivityTimer() + 1);
204 m_channelTelemetry[chanId].set_faultCrcMismatch(m_channelTelemetry[chanId].get_faultCrcMismatch() + 1);
210 m_channelTelemetry[chanId].set_faultFileSizeMismatch(m_channelTelemetry[chanId].get_faultFileSizeMismatch() +
217 m_channelTelemetry[chanId].set_faultFileOpen(m_channelTelemetry[chanId].get_faultFileOpen() + 1);
223 m_channelTelemetry[chanId].set_faultFileRead(m_channelTelemetry[chanId].get_faultFileRead() + 1);
229 m_channelTelemetry[chanId].set_faultFileWrite(m_channelTelemetry[chanId].get_faultFileWrite() + 1);
235 m_channelTelemetry[chanId].set_faultFileSeek(m_channelTelemetry[chanId].get_faultFileSeek() + 1);
241 m_channelTelemetry[chanId].set_faultFileRename(m_channelTelemetry[chanId].get_faultFileRename() + 1);
247 m_channelTelemetry[chanId].set_faultDirectoryRead(m_channelTelemetry[chanId].get_faultDirectoryRead() + 1);
253 m_channelTelemetry[chanId].set_faultRxEofError(m_channelTelemetry[chanId].get_faultRxEofError() + 1);
259 m_channelTelemetry[chanId].set_faultTxEofError(m_channelTelemetry[chanId].get_faultTxEofError() + 1);
265 return m_channelTelemetry[chanId];
314 const Class& cfdpClass,
324 void PlaybackDirectory_cmdHandler(
329 const Class& cfdpClass,
339 void PollDirectory_cmdHandler(
345 const Class& cfdpClass,
373 void SuspendResumeTransaction_cmdHandler(
FwOpcodeType opCode,
418 void drainFileInQueue();
515 struct FileInRequest {
546 #endif // CCSDS_CFDPMANAGER_HPP void configure(Fw::MemAllocator &allocator, FwSizeType fileQueueDepth, FwEnumStoreType memId=0)
void incrementSentPdu(U8 chanId)
Increment sent PDU counter.
void incrementFaultFileWrite(U8 chanId)
Increment fault file write counter.
void sendFileComplete(Svc::SendFileStatus::T status)
void incrementRecvErrors(U8 chanId)
Increment receive error counter.
U16 FwPacketDescriptorType
The width of packet descriptors when they are serialized by the framework.
Enum used to determine if a file should be kept or deleted after a CFDP transaction.
FwIdType FwOpcodeType
The type of a command opcode.
CFDP Transaction state machine class.
void addRecvNakSegmentRequests(U8 chanId, U32 count)
Add to received NAK segment requests.
PlatformSizeType FwSizeType
void incrementRecvEofCanceled(U8 chanId)
Increment receive EOF canceled counter.
U32 EntityId
Entity id size.
Auto-generated base for CfdpManager component.
U8 getNackLimitParam(U8 channelIndex)
void incrementFaultCrcMismatch(U8 chanId)
Increment fault CRC mismatch counter.
void incrementFaultFileRename(U8 chanId)
Increment fault file rename counter.
Fw::String getFailDirParam(U8 channelIndex)
void incrementFaultDirectoryRead(U8 chanId)
Increment fault directory read counter.
~CfdpManager()
Destroy CfdpManager object.
void addSentNakSegmentRequests(U8 chanId, U32 count)
Add to sent NAK segment requests.
friend class CfdpManagerTester
void incrementRecvDropped(U8 chanId)
Increment receive dropped counter.
void sendPduBuffer(Channel &channel, Fw::Buffer &pduBuffer)
void deinit() override
Tear down the fileIn request queue.
CfdpManager(const char *const compName)
Construct CfdpManager object.
void incrementRecvSpurious(U8 chanId)
Increment receive spurious counter.
U32 TransactionSeq
transaction sequence number size
void returnPduBuffer(Channel &channel, Fw::Buffer &pduBuffer)
Fw::Enabled getDequeueEnabledParam(U8 channelIndex)
void incrementFaultFileSeek(U8 chanId)
Increment fault file seek counter.
U8 getAckLimitParam(U8 channelIndex)
Status::T getPduBuffer(Fw::Buffer &buffer, Channel &channel, FwSizeType size)
void incrementFaultFileOpen(U8 chanId)
Increment fault file open counter.
void incrementRecvPdu(U8 chanId)
Increment received PDU counter.
void incrementSentEofCanceled(U8 chanId)
Increment sent EOF canceled counter.
void incrementFaultInactivityTimer(U8 chanId)
Increment fault inactivity timer counter.
void addSentFileDataBytes(U8 chanId, U32 bytes)
Add sent file data bytes.
U32 getRxCrcCalcBytesPerCycleParam(void)
Enabled and disabled states.
uint8_t U8
8-bit unsigned integer
EntityId getLocalEidParam(void)
U32 getAckTimerParam(U8 channelIndex)
void incrementFaultNakLimit(U8 chanId)
Increment fault NAK limit counter.
U32 getInactivityTimerParam(U8 channelIndex)
static constexpr FwSizeType PACKET_DESCRIPTOR_SIZE
Size of packet descriptor prepended to PDUs for ComQueue.
void incrementFaultFileRead(U8 chanId)
Increment fault file read counter.
Memory Allocation base class.
PlatformIndexType FwIndexType
U32 getOutgoingFileChunkSizeParam(void)
Send file response struct.
void incrementFaultTxEofError(U8 chanId)
Increment sent EOF error counter (any condition code that is not no-error or cancel) ...
void incrementFaultRxEofError(U8 chanId)
Increment receive EOF error counter (any condition code that is not no-error or cancel) ...
Structure for the telemetry array of CFDP channels.
RateGroupDivider component implementation.
U32 getMaxOutgoingPdusPerCycleParam(U8 channelIndex)
Fw::String getTmpDirParam(U8 channelIndex)
Defines a base class for a memory allocator for classes.
void cleanup()
Cleanup CFDP engine and deallocate resources.
Fw::String getMoveDirParam(U8 channelIndex)
Cfdp::ChannelTelemetry & getChannelTelemetryRef(U8 chanId)
Get reference to channel telemetry for queue depth updates.
void incrementFaultFileSizeMismatch(U8 chanId)
Increment fault file size mismatch counter.
U8 getPostInactivitySendRetriesParam(void)
void incrementFaultAckLimit(U8 chanId)
Increment fault ACK limit counter.
void addRecvFileDataBytes(U8 chanId, U32 bytes)
Add to received file data bytes.