7 #ifndef Svc_Ccsds_Cfdp_CfdpManagerComponentAc_HPP 8 #define Svc_Ccsds_Cfdp_CfdpManagerComponentAc_HPP 23 #if !FW_DIRECT_PORT_CALLS 26 #if !FW_DIRECT_PORT_CALLS 273 #if !FW_DIRECT_PORT_CALLS 290 #if !FW_DIRECT_PORT_CALLS 335 #if !FW_DIRECT_PORT_CALLS 361 #if FW_ENABLE_TEXT_LOGGING == 1 364 void set_logTextOut_OutputPort(
397 #if !FW_DIRECT_PORT_CALLS 443 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 454 Fw::InputSerializePort* port
460 Fw::InputSerializePort* port
466 Fw::InputSerializePort* port
469 #if FW_ENABLE_TEXT_LOGGING == 1 472 void set_logTextOut_OutputPort(
474 Fw::InputSerializePort* port
482 Fw::InputSerializePort* port
488 Fw::InputSerializePort* port
494 Fw::InputSerializePort* port
499 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 510 Fw::InputSerializePort* port
516 Fw::InputSerializePort* port
522 Fw::InputSerializePort* port
528 Fw::InputSerializePort* port
534 Fw::InputSerializePort* port
569 const char* compName =
"" 656 #if FW_ENABLE_TEXT_LOGGING == 1 661 static constexpr
FwIndexType getNum_logTextOut_OutputPorts() {
770 #if FW_ENABLE_TEXT_LOGGING == 1 775 bool isConnected_logTextOut_OutputPort(
857 #if FW_DIRECT_PORT_CALLS 916 #if FW_DIRECT_PORT_CALLS 2108 virtual void lock();
2129 static void m_p_cmdIn_in(
2144 static void m_p_dataIn_in(
2151 static void m_p_dataReturnIn_in(
2168 static void m_p_pingIn_in(
2175 static void m_p_run1Hz_in(
2194 void cmdResponseOut_out(
2210 #if FW_ENABLE_TEXT_LOGGING 2213 void logTextOut_out(
2239 void timeCaller_out(
2384 #if !FW_DIRECT_PORT_CALLS 2397 #if !FW_DIRECT_PORT_CALLS 2422 #if !FW_DIRECT_PORT_CALLS 2439 #if FW_ENABLE_TEXT_LOGGING == 1 2460 #if !FW_DIRECT_PORT_CALLS 2495 bool m_first_update_PRM_LOCAL_EID =
true;
2498 bool m_first_update_PRM_OUTGOING_FILE_CHUNK_SIZE =
true;
2501 bool m_first_update_PRM_RX_CRC_CALC_BYTES_PER_CYCLE =
true;
2504 bool m_first_update_PRM_POST_INACTIVITY_SEND_RETRIES =
true;
2507 bool m_first_update_PRM_FILE_IN_DEFAULT_CHANNEL =
true;
2510 bool m_first_update_PRM_FILE_IN_DEFAULT_DEST_ENTITY_ID =
true;
2513 bool m_first_update_PRM_FILE_IN_DEFAULT_CLASS =
true;
2516 bool m_first_update_PRM_FILE_IN_DEFAULT_KEEP =
true;
2519 bool m_first_update_PRM_FILE_IN_DEFAULT_PRIORITY =
true;
2522 bool m_first_update_PRM_CHANNEL_CONFIG =
true;
2534 U32 m_last_PRM_OUTGOING_FILE_CHUNK_SIZE = {};
2537 U32 m_last_PRM_RX_CRC_CALC_BYTES_PER_CYCLE = {};
2540 U8 m_last_PRM_POST_INACTIVITY_SEND_RETRIES = {};
2543 U8 m_last_PRM_FILE_IN_DEFAULT_CHANNEL = {};
2555 U8 m_last_PRM_FILE_IN_DEFAULT_PRIORITY = {};
2610 U32 m_OutgoingFileChunkSize;
2615 U32 m_RxCrcCalcBytesPerCycle;
2621 U8 m_PostInactivitySendRetries;
2626 U8 m_FileInDefaultChannel;
2646 U8 m_FileInDefaultPriority;
U32 paramGet_OutgoingFileChunkSize(Fw::ParamValid &valid)
void tlmWrite(FwChanIdType id, Fw::TlmBuffer &_tlmBuff, Fw::Time _tlmTime=Fw::Time()) const
void tlmWrite_PRM_FILE_IN_DEFAULT_CHANNEL(U8 arg, Fw::Time _tlmTime=Fw::Time())
Write telemetry channel PRM_FILE_IN_DEFAULT_CHANNEL.
Svc::Ccsds::Cfdp::Keep paramGet_FileInDefaultKeep(Fw::ParamValid &valid)
void dataReturnIn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port dataReturnIn.
void log_ACTIVITY_LO_TransactionResumed(Svc::Ccsds::Cfdp::TransactionSeq transactionSeq, Svc::Ccsds::Cfdp::EntityId entityId) const
Channel ID for PRM_FILE_IN_DEFAULT_PRIORITY.
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()
virtual void run1Hz_preMsgHook(FwIndexType portNum, U32 context)
Pre-message hook for async input port run1Hz.
bool isConnected_prmGetOut_OutputPort(FwIndexType portNum) const
Command to set channel's flow status.
Enum used to determine if a file should be kept or deleted after a CFDP transaction.
virtual void run1Hz_handler(FwIndexType portNum, U32 context)=0
Handler for input port run1Hz.
void log_WARNING_LO_FailAckPduDeserialization(U8 channelId, I32 status) const
Log event FailAckPduDeserialization.
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum) const
static constexpr FwIndexType getNum_bufferDeallocate_OutputPorts()
void log_WARNING_LO_FailFileDataPduDeserialization(U8 channelId, I32 status) const
Log event FailFileDataPduDeserialization.
FwIdType FwOpcodeType
The type of a command opcode.
void log_WARNING_LO_TxFileSeekFailed(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum, I32 status) const
Log event TxFileSeekFailed.
void log_WARNING_LO_FailPollFileMove(const Fw::StringBase &srcFile, const Fw::StringBase &failDir, I32 status) const
Log event FailPollFileMove.
Opcode to set parameter FileInDefaultChannel.
void log_WARNING_LO_RxEofWithError(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum, U8 conditionCode) const
Log event RxEofWithError.
PlatformSizeType FwSizeType
void PlaybackDirectory_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void log_ACTIVITY_LO_RxTempFileCreated(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum, const Fw::StringBase &filename) const
Log event RxTempFileCreated.
virtual void dataReturnIn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port dataReturnIn.
void regCommands()
Register commands with the Command Dispatcher.
void log_WARNING_LO_TxSendMetadataFailed(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum) const
Log event TxSendMetadataFailed.
Svc::SendFileResponse fileIn_handlerBase(FwIndexType portNum, const Fw::StringBase &sourceFileName, const Fw::StringBase &destFileName, U32 offset, U32 length)
Handler base-class function for input port fileIn.
void pingOut_out(FwIndexType portNum, U32 key) const
Invoke output port pingOut.
virtual void CancelTransaction_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CancelTransaction.
Command to suspend or resume a transaction.
virtual Svc::SendFileResponse fileIn_handler(FwIndexType portNum, const Fw::StringBase &sourceFileName, const Fw::StringBase &destFileName, U32 offset, U32 length)=0
Handler for input port fileIn.
Channel ID for PRM_FILE_IN_DEFAULT_KEEP.
void set_dataOut_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to dataOut[portNum].
virtual void parametersLoaded()
Called whenever parameters are loaded.
void log_WARNING_LO_TxInactivityTimeout(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum) const
Log event TxInactivityTimeout.
U32 EntityId
Entity id size.
void log_ACTIVITY_LO_TransactionSuspended(Svc::Ccsds::Cfdp::TransactionSeq transactionSeq, Svc::Ccsds::Cfdp::EntityId entityId) const
void log_WARNING_LO_RxAckLimitReached(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum) const
Log event RxAckLimitReached.
void dataInReturn_out(FwIndexType portNum, Fw::Buffer &fwBuffer) const
Invoke output port dataInReturn.
virtual void SetChannelFlow_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, U8 channelId, const Svc::Ccsds::Cfdp::Flow &freeze)=0
bool isConnected_pingOut_OutputPort(FwIndexType portNum) const
void set_bufferDeallocate_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferDeallocate[portNum].
static constexpr FwIndexType getNum_fileIn_InputPorts()
void tlmWrite_PRM_POST_INACTIVITY_SEND_RETRIES(U8 arg, Fw::Time _tlmTime=Fw::Time())
Write telemetry channel PRM_POST_INACTIVITY_SEND_RETRIES.
Auto-generated base for CfdpManager component.
Transaction was suspended.
virtual void AbandonTransaction_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, U8 channelId, Svc::Ccsds::Cfdp::TransactionSeq transactionSeq, Svc::Ccsds::Cfdp::EntityId entityId)=0
void set_prmGetOut_OutputPort(FwIndexType portNum, Fw::InputPrmGetPort *port)
Connect port to prmGetOut[portNum].
void log_WARNING_LO_InvalidDestinationEid(U32 destEid) const
Log event InvalidDestinationEid.
FwIdType FwPrmIdType
The type of a parameter identifier.
static constexpr FwIndexType getNum_dataInReturn_OutputPorts()
void log_WARNING_LO_TxAckLimitReached(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum) const
Log event TxAckLimitReached.
void log_WARNING_LO_RxSeekCrcFailed(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum, U32 offset, I32 status) const
Log event RxSeekCrcFailed.
Default file retention policy for fileIn port-initiated file transfers.
virtual void CancelTransaction_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, U8 channelId, Svc::Ccsds::Cfdp::TransactionSeq transactionSeq, Svc::Ccsds::Cfdp::EntityId entityId)=0
Link-time delegating Mutex implementation.
void log_WARNING_LO_TxFileTransferFailed(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 seqNum, U32 srcEid, const Fw::StringBase &srcFile, U32 destEid, const Fw::StringBase &destFile, U8 conditionCode) const
Log event TxFileTransferFailed.
Opcode to save parameter ChannelConfig.
virtual void parameterUpdated(FwPrmIdType id)
Called whenever a parameter is updated.
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
void fileDoneOut_out(FwIndexType portNum, const Svc::SendFileResponse &resp) const
Invoke output port fileDoneOut.
Channel ID for PRM_FILE_IN_DEFAULT_DEST_ENTITY_ID.
void tlmWrite_ChannelTelemetry(const Svc::Ccsds::Cfdp::ChannelTelemetryArray &arg, Fw::Time _tlmTime=Fw::Time()) const
void SetChannelFlow_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void log_WARNING_LO_RxFileSizeMismatch(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum, U32 expected, U32 actual) const
Log event RxFileSizeMismatch.
U32 paramGet_RxCrcCalcBytesPerCycle(Fw::ParamValid &valid)
void log_WARNING_LO_ChunklistUnavailable(U32 transactionSeq) const
Log event ChunklistUnavailable.
Channel ID for PRM_RX_CRC_CALC_BYTES_PER_CYCLE.
void log_WARNING_LO_RxWriteFailed(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum, U32 expected, I32 actual) const
Log event RxWriteFailed.
Command to abandon a transaction immediately.
virtual void dataIn_preMsgHook(FwIndexType portNum, Fw::Buffer &fwBuffer)
Pre-message hook for async input port dataIn.
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
void log_ACTIVITY_HI_TransactionAbandoned(Svc::Ccsds::Cfdp::TransactionSeq transactionSeq, Svc::Ccsds::Cfdp::EntityId entityId) const
Enum representing a command response.
void CancelTransaction_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
virtual void ResetCounters_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command ResetCounters.
void log_ACTIVITY_HI_ResetCounters(U8 channelId) const
Log event ResetCounters.
Parameter configuration for an array CFDP channels.
virtual void lock()
Lock the guarded mutex.
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
void set_bufferAllocate_OutputPort(FwIndexType portNum, Fw::InputBufferGetPort *port)
Connect port to bufferAllocate[portNum].
Command to start a CFDP file transaction.
void log_WARNING_LO_RxNakLimitReached(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum) const
Log event RxNakLimitReached.
void SendFile_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
void set_dataInReturn_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to dataInReturn[portNum].
void log_ACTIVITY_HI_TxFileTransferCompleted(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 seqNum, U32 srcEid, const Fw::StringBase &srcFile, U32 destEid, const Fw::StringBase &destFile, U32 fileSize) const
Log event TxFileTransferCompleted.
void SuspendResumeTransaction_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void set_prmSetOut_OutputPort(FwIndexType portNum, Fw::InputPrmSetPort *port)
Connect port to prmSetOut[portNum].
void init()
Object initializer.
virtual void dataIn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port dataIn.
static constexpr FwIndexType getNum_logOut_OutputPorts()
CFDP ID to denote the current node when sending PDUs.
void log_WARNING_LO_SendFileInitiateFail(const Fw::StringBase &sourceFileName) const
Log event SendFileInitiateFail.
virtual void parameterLoaded(FwPrmIdType id, Fw::ParamValid valid)
Called for each parameter when parameters are loaded.
Channel ID for PRM_POST_INACTIVITY_SEND_RETRIES.
void log_ACTIVITY_LO_MetadataReceived(const Fw::StringBase &srcFile, const Fw::StringBase &destFile, U32 transactionSeq) const
Log event MetadataReceived.
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
void log_WARNING_LO_TxInvalidSegmentRequests(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum, U32 badCount) const
Log event TxInvalidSegmentRequests.
void dataIn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port dataIn.
virtual void ResetCounters_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, U8 channelId)=0
U32 TransactionSeq
transaction sequence number size
Fw::InputBufferSendPort * get_dataIn_InputPort(FwIndexType portNum)
virtual void PlaybackDirectory_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, U8 channelId, Svc::Ccsds::Cfdp::EntityId destId, const Svc::Ccsds::Cfdp::Class &cfdpClass, const Svc::Ccsds::Cfdp::Keep &keep, U8 priority, const Fw::CmdStringArg &sourceDirectory, const Fw::CmdStringArg &destDirectory)=0
FwIdType FwEventIdType
The type of an event identifier.
The maximum number of received bytes to calculate a CRC for in a single scheduler cycle...
Opcode to save parameter RxCrcCalcBytesPerCycle.
void log_WARNING_LO_MaxTxTransactionsReached() const
Log event MaxTxTransactionsReached.
static constexpr FwIndexType getNum_prmGetOut_OutputPorts()
CfdpManagerComponentBase(const char *compName="")
Construct CfdpManagerComponentBase object.
bool isConnected_fileDoneOut_OutputPort(FwIndexType portNum) const
Opcode to save parameter LocalEid.
void log_ACTIVITY_LO_PlaybackInitiated(const Fw::StringBase &sourceDirectory) const
Log event PlaybackInitiated.
Channel ID for PRM_OUTGOING_FILE_CHUNK_SIZE.
friend class CfdpManagerTesterBase
Friend class tester to support autocoded test harness.
Default CFDP channel for fileIn port-initiated file transfers.
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts()
Svc::Ccsds::Cfdp::Class paramGet_FileInDefaultClass(Fw::ParamValid &valid)
virtual void AbandonTransaction_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command AbandonTransaction.
void PollDirectory_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Transaction not found for command.
Fw::InputBufferSendPort * get_dataReturnIn_InputPort(FwIndexType portNum)
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].
void tlmWrite_PRM_LOCAL_EID(Svc::Ccsds::Cfdp::EntityId arg, Fw::Time _tlmTime=Fw::Time())
Write telemetry channel PRM_LOCAL_EID.
void log_WARNING_LO_TxZeroLengthFile(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum, const Fw::StringBase &filename) const
Log event TxZeroLengthFile.
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
void log_ACTIVITY_HI_TxFileTransferStarted(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 seqNum, U32 srcEid, const Fw::StringBase &srcFile, U32 destEid, const Fw::StringBase &destFile, U32 fileSize) const
Log event TxFileTransferStarted.
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
virtual void unLock()
Unlock the guarded mutex.
void log_WARNING_LO_FileDataSegmentMetadata() const
Log event FileDataSegmentMetadata.
Command to reset telemetry counters.
virtual void SuspendResumeTransaction_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command SuspendResumeTransaction.
Opcode to set parameter ChannelConfig.
Svc::Ccsds::Cfdp::EntityId paramGet_LocalEid(Fw::ParamValid &valid)
void log_WARNING_LO_InvalidChannelPoll(U8 pollId, U8 maxPollId) const
Log event InvalidChannelPoll.
virtual void StopPollDirectory_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command StopPollDirectory.
Channel ID for PRM_FILE_IN_DEFAULT_CHANNEL.
static constexpr FwIndexType getNum_pingOut_OutputPorts()
static constexpr FwIndexType getNum_dataReturnIn_InputPorts()
bool isConnected_tlmOut_OutputPort(FwIndexType portNum) const
void log_WARNING_LO_RxFileTransferFailed(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 seqNum, U32 srcEid, const Fw::StringBase &srcFile, U32 destEid, const Fw::StringBase &destFile, U8 conditionCode) const
Log event RxFileTransferFailed.
void cmdIn_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Handler base-class function for input port cmdIn.
Opcode to save parameter FileInDefaultChannel.
void tlmWrite_PRM_FILE_IN_DEFAULT_PRIORITY(U8 arg, Fw::Time _tlmTime=Fw::Time())
Write telemetry channel PRM_FILE_IN_DEFAULT_PRIORITY.
void log_WARNING_LO_RxFileCreateFailed(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum, const Fw::StringBase &filename, I32 status) const
Log event RxFileCreateFailed.
Opcode to set parameter LocalEid.
void log_WARNING_LO_TxInvalidNakPdu(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum) const
Log event TxInvalidNakPdu.
void log_ACTIVITY_HI_TransactionCanceled(Svc::Ccsds::Cfdp::TransactionSeq transactionSeq, Svc::Ccsds::Cfdp::EntityId entityId) const
void set_logOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to logOut[portNum].
FwIdType FwChanIdType
The type of a telemetry channel identifier.
bool isConnected_dataOut_OutputPort(FwIndexType portNum) const
void log_WARNING_LO_RxFileReopenFailed(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum, const Fw::StringBase &filename, I32 status) const
Log event RxFileReopenFailed.
void log_WARNING_LO_InvalidChannel(U8 channelId, U8 maxChannelId) const
Log event InvalidChannel.
Opcode to set parameter FileInDefaultKeep.
void log_WARNING_LO_TransactionNotFound(Svc::Ccsds::Cfdp::TransactionSeq transactionSeq, Svc::Ccsds::Cfdp::EntityId entityId) const
virtual ~CfdpManagerComponentBase()
Destroy CfdpManagerComponentBase object.
Default destination entity ID for fileIn port-initiated file transfers.
virtual void SendFile_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, U8 channelId, Svc::Ccsds::Cfdp::EntityId destId, const Svc::Ccsds::Cfdp::Class &cfdpClass, const Svc::Ccsds::Cfdp::Keep &keep, U8 priority, const Fw::CmdStringArg &sourceFileName, const Fw::CmdStringArg &destFileName)=0
Default CFDP class for fileIn port-initiated file transfers.
static constexpr FwIndexType getNum_prmSetOut_OutputPorts()
Opcode to set parameter OutgoingFileChunkSize.
virtual void SetChannelFlow_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command SetChannelFlow.
void log_WARNING_LO_UnsupportedSendFileArguments(U32 offset, U32 length) const
Log event UnsupportedSendFileArguments.
static constexpr FwIndexType getNum_cmdIn_InputPorts()
void log_WARNING_LO_FailEofPduDeserialization(U8 channelId, I32 status) const
Log event FailEofPduDeserialization.
void log_ACTIVITY_LO_PollDirInitiated(const Fw::StringBase &sourceDirectory, U8 pollId) const
Log event PollDirInitiated.
static constexpr FwIndexType getNum_run1Hz_InputPorts()
Opcode to set parameter FileInDefaultDestEntityId.
void tlmWrite_PRM_CHANNEL_CONFIG(const Svc::Ccsds::Cfdp::ChannelArrayParams &arg, Fw::Time _tlmTime=Fw::Time())
Write telemetry channel PRM_CHANNEL_CONFIG.
Channel ID for PRM_FILE_IN_DEFAULT_CLASS.
virtual void dataReturnIn_preMsgHook(FwIndexType portNum, Fw::Buffer &fwBuffer)
Pre-message hook for async input port dataReturnIn.
Enum representing event severity.
virtual void PollDirectory_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command PollDirectory.
Opcode to save parameter FileInDefaultClass.
void log_WARNING_LO_RxSeekFailed(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum, U32 offset, I32 status) const
Log event RxSeekFailed.
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
void log_WARNING_LO_TxNonFileDirectivePduReceived(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum) const
Log event TxNonFileDirectivePduReceived.
virtual void SuspendResumeTransaction_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, U8 channelId, Svc::Ccsds::Cfdp::TransactionSeq transactionSeq, Svc::Ccsds::Cfdp::EntityId entityId, const Svc::Ccsds::Cfdp::SuspendResume &action)=0
void tlmWrite_PRM_OUTGOING_FILE_CHUNK_SIZE(U32 arg, Fw::Time _tlmTime=Fw::Time())
Write telemetry channel PRM_OUTGOING_FILE_CHUNK_SIZE.
Svc::InputSendFileRequestPort * get_fileIn_InputPort(FwIndexType portNum)
void log_WARNING_LO_RxTransactionLimitReached(U32 srcEid, U32 transactionSeq) const
Log event RxTransactionLimitReached.
void loadParameters()
Load the parameters from a parameter source.
void log_WARNING_LO_FailKeepFileMove(const Fw::StringBase &srcFile, const Fw::StringBase &moveDir, I32 status) const
Log event FailKeepFileMove.
Channel ID for PRM_CHANNEL_CONFIG.
Svc::InputSchedPort * get_run1Hz_InputPort(FwIndexType portNum)
Opcode to save parameter FileInDefaultDestEntityId.
Default priority for fileIn port-initiated file transfers.
uint8_t U8
8-bit unsigned integer
void log_WARNING_LO_RxEofMdSizeMismatch(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum, U32 mdSize, U32 eofSize) const
Log event RxEofMdSizeMismatch.
Opcode to save parameter PostInactivitySendRetries.
void dataOut_out(FwIndexType portNum, Fw::Buffer &fwBuffer) const
Invoke output port dataOut.
void tlmWrite_PRM_RX_CRC_CALC_BYTES_PER_CYCLE(U32 arg, Fw::Time _tlmTime=Fw::Time())
Write telemetry channel PRM_RX_CRC_CALC_BYTES_PER_CYCLE.
Channel ID for ChannelTelemetry.
void log_ACTIVITY_HI_RxEofCancelReceived(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum) const
Log event RxEofCancelReceived.
void bufferDeallocate_out(FwIndexType portNum, Fw::Buffer &fwBuffer) const
Invoke output port bufferDeallocate.
U8 paramGet_FileInDefaultPriority(Fw::ParamValid &valid)
Command to cancel a transaction with graceful close-out.
bool isConnected_prmSetOut_OutputPort(FwIndexType portNum) const
void log_ACTIVITY_LO_SetFlowState(U8 channelId, const Svc::Ccsds::Cfdp::Flow &flowState) const
Log event SetFlowState.
Fw::Buffer bufferAllocate_out(FwIndexType portNum, FwSizeType size) const
Invoke output port bufferAllocate.
void log_WARNING_LO_RxFileRenameFailed(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum, const Fw::StringBase &tempFile, const Fw::StringBase &finalFile, I32 status) const
Log event RxFileRenameFailed.
Structure for telemetry counters for a single CFDP channel.
void AbandonTransaction_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
void tlmWrite_PRM_FILE_IN_DEFAULT_DEST_ENTITY_ID(Svc::Ccsds::Cfdp::EntityId arg, Fw::Time _tlmTime=Fw::Time())
Write telemetry channel PRM_FILE_IN_DEFAULT_DEST_ENTITY_ID.
bool isConnected_bufferAllocate_OutputPort(FwIndexType portNum) const
void log_WARNING_LO_TxFileOpenFailed(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum, const Fw::StringBase &filename, I32 status) const
Log event TxFileOpenFailed.
void log_WARNING_LO_TxInvalidDirectiveCode(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum, U8 directiveCode, U8 substate) const
Log event TxInvalidDirectiveCode.
Command to start a directory poll.
static constexpr FwIndexType getNum_dataIn_InputPorts()
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
Opcode to set parameter RxCrcCalcBytesPerCycle.
void tlmWrite_PRM_FILE_IN_DEFAULT_CLASS(const Svc::Ccsds::Cfdp::Class &arg, Fw::Time _tlmTime=Fw::Time())
Write telemetry channel PRM_FILE_IN_DEFAULT_CLASS.
void log_WARNING_LO_PlaybackDirReadFailed(const Fw::StringBase &directory, I32 status) const
Log event PlaybackDirReadFailed.
void log_ACTIVITY_LO_TxFileQueued(const Fw::StringBase &sourceFileName, U32 transactionSeq) const
Log event TxFileQueued.
void log_WARNING_LO_PlaybackDirSlotUnavailable() const
Log event PlaybackDirSlotUnavailable.
void log_WARNING_LO_UnhandledPduInIdleState() const
Log event UnhandledPduInIdleState.
bool isConnected_logOut_OutputPort(FwIndexType portNum) const
void log_WARNING_LO_BuffersExhausted() const
Log event BuffersExhausted.
PlatformIndexType FwIndexType
friend class CfdpManagerTester
Friend class tester implementation to support white-box testing.
void log_WARNING_LO_RxCrcMismatch(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum, U32 expected, U32 actual) const
Log event RxCrcMismatch.
Maximum number of bytes to put into a file PDU.
void log_WARNING_LO_RxFileDataOutOfBounds(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum, U32 offset, U32 dataSize, U32 fileSize) const
Log event RxFileDataOutOfBounds.
Opcode to save parameter FileInDefaultPriority.
Send file response struct.
void log_WARNING_LO_FailPduSerialization(U8 channelId, const Svc::Ccsds::Cfdp::PduTypeEnum &pduType, I32 status) const
Log event FailPduSerialization.
void log_ACTIVITY_HI_RxFileTransferCompleted(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 seqNum, U32 srcEid, const Fw::StringBase &srcFile, U32 destEid, const Fw::StringBase &destFile, U32 fileSize) const
Log event RxFileTransferCompleted.
bool isConnected_dataInReturn_OutputPort(FwIndexType portNum) const
virtual void StopPollDirectory_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, U8 channelId, U8 pollId)=0
void log_WARNING_LO_InvalidPollInterval(U32 interval) const
Log event InvalidPollInterval.
Command to stop a directory poll.
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
RateGroupDivider component implementation.
static constexpr FwIndexType getNum_dataOut_OutputPorts()
void run1Hz_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port run1Hz.
void log_WARNING_LO_RxInvalidDirectiveCode(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum, U8 directiveCode, U8 substate) const
Log event RxInvalidDirectiveCode.
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
virtual void SendFile_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command SendFile.
Svc::Ccsds::Cfdp::EntityId paramGet_FileInDefaultDestEntityId(Fw::ParamValid &valid)
Enum representing parameter validity.
Opcode to set parameter FileInDefaultClass.
static constexpr FwIndexType getNum_fileDoneOut_OutputPorts()
virtual void PlaybackDirectory_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command PlaybackDirectory.
static constexpr FwIndexType getNum_pingIn_InputPorts()
bool isConnected_timeCaller_OutputPort(FwIndexType portNum) const
void log_WARNING_LO_RxReadCrcFailed(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum, U32 expected, I32 actual) const
Log event RxReadCrcFailed.
void log_WARNING_LO_FileRemoveFailed(const Fw::StringBase &filename, I32 status) const
Log event FileRemoveFailed.
void log_WARNING_LO_PlaybackDirOpenFailed(const Fw::StringBase &directory, I32 status) const
Log event PlaybackDirOpenFailed.
void log_WARNING_LO_DanglingFileHandleClosed(U8 channelId, U32 transactionSeq) const
Log event DanglingFileHandleClosed.
Command to start a directory playback.
void log_WARNING_LO_RxInactivityTimeout(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum) const
Log event RxInactivityTimeout.
void log_WARNING_LO_PollDirNotActive(U8 channelId, U8 pollId) const
Log event PollDirNotActive.
Svc::Ccsds::Cfdp::ChannelArrayParams paramGet_ChannelConfig(Fw::ParamValid &valid)
void log_WARNING_LO_FailPduHeaderDeserialization(U8 channelId, I32 status) const
Log event FailPduHeaderDeserialization.
void log_DIAGNOSTIC_ResetFreedTransaction() const
Log event ResetFreedTransaction.
virtual void PollDirectory_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, U8 channelId, U8 pollId, Svc::Ccsds::Cfdp::EntityId destId, const Svc::Ccsds::Cfdp::Class &cfdpClass, U8 priority, U32 interval, const Fw::CmdStringArg &sourceDirectory, const Fw::CmdStringArg &destDirectory)=0
void log_WARNING_LO_PollDirBusy(U8 channelId, U8 pollId) const
Log event PollDirBusy.
Opcode to set parameter FileInDefaultPriority.
Opcode to set parameter PostInactivitySendRetries.
void StopPollDirectory_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void ResetCounters_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
U8 paramGet_PostInactivitySendRetries(Fw::ParamValid &valid)
static constexpr FwIndexType getNum_bufferAllocate_OutputPorts()
Opcode to save parameter FileInDefaultKeep.
bool isConnected_bufferDeallocate_OutputPort(FwIndexType portNum) const
Channel ID for PRM_LOCAL_EID.
void set_fileDoneOut_OutputPort(FwIndexType portNum, Svc::InputSendFileCompletePort *port)
Connect port to fileDoneOut[portNum].
void log_DIAGNOSTIC_TxLateFinAcked(Svc::Ccsds::Cfdp::EntityId srcEid, Svc::Ccsds::Cfdp::TransactionSeq seqNum) const
Opcode to save parameter OutgoingFileChunkSize.
void tlmWrite_PRM_FILE_IN_DEFAULT_KEEP(const Svc::Ccsds::Cfdp::Keep &arg, Fw::Time _tlmTime=Fw::Time())
Write telemetry channel PRM_FILE_IN_DEFAULT_KEEP.
void log_WARNING_LO_TxEarlyFinReceived(const Svc::Ccsds::Cfdp::Class &cfdpClass, U32 srcEid, U32 seqNum) const
Log event TxEarlyFinReceived.
void log_WARNING_LO_FailFinPduDeserialization(U8 channelId, I32 status) const
Log event FailFinPduDeserialization.
U8 paramGet_FileInDefaultChannel(Fw::ParamValid &valid)
void log_ACTIVITY_LO_PollDirStopped(U8 channelId, U8 pollId) const
Log event PollDirStopped.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum) const
void log_WARNING_LO_FailNakPduDeserialization(U8 channelId, I32 status) const
Log event FailNakPduDeserialization.
void log_WARNING_LO_FailMetadataPduDeserialization(U8 channelId, I32 status) const
Log event FailMetadataPduDeserialization.