7 #ifndef Svc_SeqDispatcherComponentAc_HPP 8 #define Svc_SeqDispatcherComponentAc_HPP 21 #if !FW_DIRECT_PORT_CALLS 24 #if !FW_DIRECT_PORT_CALLS 132 #if !FW_DIRECT_PORT_CALLS 149 #if !FW_DIRECT_PORT_CALLS 180 #if !FW_DIRECT_PORT_CALLS 206 #if FW_ENABLE_TEXT_LOGGING == 1 209 void set_logTextOut_OutputPort(
230 #if !FW_DIRECT_PORT_CALLS 252 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 263 Fw::InputSerializePort* port
269 Fw::InputSerializePort* port
275 Fw::InputSerializePort* port
278 #if FW_ENABLE_TEXT_LOGGING == 1 281 void set_logTextOut_OutputPort(
283 Fw::InputSerializePort* port
291 Fw::InputSerializePort* port
297 Fw::InputSerializePort* port
302 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 313 Fw::InputSerializePort* port
319 Fw::InputSerializePort* port
343 const char* compName =
"" 416 #if FW_ENABLE_TEXT_LOGGING == 1 421 static constexpr
FwIndexType getNum_logTextOut_OutputPorts() {
488 #if FW_ENABLE_TEXT_LOGGING == 1 493 bool isConnected_logTextOut_OutputPort(
533 #if FW_DIRECT_PORT_CALLS 581 #if FW_DIRECT_PORT_CALLS 952 static void m_p_cmdIn_in(
967 static void m_p_seqDoneIn_in(
976 static void m_p_seqRunIn_in(
984 static void m_p_seqStartIn_in(
1004 void cmdResponseOut_out(
1020 #if FW_ENABLE_TEXT_LOGGING 1023 void logTextOut_out(
1034 void timeCaller_out(
1047 #if !FW_DIRECT_PORT_CALLS 1060 #if !FW_DIRECT_PORT_CALLS 1079 #if !FW_DIRECT_PORT_CALLS 1096 #if FW_ENABLE_TEXT_LOGGING == 1 1111 #if !FW_DIRECT_PORT_CALLS
Fw::InputCmdResponsePort * get_seqDoneIn_InputPort(FwIndexType portNum)
virtual void seqDoneIn_preMsgHook(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Pre-message hook for async input port seqDoneIn.
void tlmWrite_sequencersAvailable(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
virtual void LOG_STATUS_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command LOG_STATUS.
void tlmWrite_errorCount(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
FwIdType FwOpcodeType
The type of a command opcode.
PlatformSizeType FwSizeType
Svc::InputCmdSeqInPort * get_seqRunIn_InputPort(FwIndexType portNum)
virtual void RUN_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command RUN.
friend class SeqDispatcherTester
Friend class tester implementation to support white-box testing.
bool isConnected_seqRunOut_OutputPort(FwIndexType portNum) const
static constexpr FwIndexType getNum_seqDoneIn_InputPorts()
Svc::InputCmdSeqInPort * get_seqStartIn_InputPort(FwIndexType portNum)
friend class SeqDispatcherTesterBase
Friend class tester to support autocoded test harness.
bool isConnected_timeCaller_OutputPort(FwIndexType portNum) const
virtual void RUN_ARGS_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &fileName, const Svc::BlockState &block, const Svc::SeqArgs &buffer)=0
virtual void seqStartIn_handler(FwIndexType portNum, const Fw::StringBase &filename, const Svc::SeqArgs &args)=0
Handler for input port seqStartIn.
virtual void CANCEL_NAME_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &fileName)=0
virtual void RUN_ARGS_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command RUN_ARGS.
Dispatches a sequence with arguments to the first available sequencer.
Enum representing a command response.
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
void regCommands()
Register commands with the Command Dispatcher.
virtual void seqRunIn_preMsgHook(FwIndexType portNum, const Fw::StringBase &filename, const Svc::SeqArgs &args)
Pre-message hook for async input port seqRunIn.
void tlmWrite_canceledCount(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
Channel ID for errorCount.
void CANCEL_ALL_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void seqDoneIn_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Handler base-class function for input port seqDoneIn.
void set_logOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to logOut[portNum].
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
static constexpr FwIndexType getNum_logOut_OutputPorts()
virtual void CANCEL_ALL_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CANCEL_ALL.
void RUN_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void init()
Object initializer.
bool isConnected_logOut_OutputPort(FwIndexType portNum) const
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts()
virtual void LOG_STATUS_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
bool isConnected_seqCancelOut_OutputPort(FwIndexType portNum) const
void log_WARNING_LO_CancelSequenceNotFound(const Fw::StringBase &filename) const
Log event CancelSequenceNotFound.
void log_WARNING_LO_UnknownSequenceFinished(U16 idx) const
Log event UnknownSequenceFinished.
virtual ~SeqDispatcherComponentBase()
Destroy SeqDispatcherComponentBase object.
FwIdType FwEventIdType
The type of an event identifier.
static constexpr FwIndexType getNum_seqRunOut_OutputPorts()
Cancels any running sequence matching the given file name.
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
void set_seqRunOut_OutputPort(FwIndexType portNum, Svc::InputCmdSeqInPort *port)
Connect port to seqRunOut[portNum].
virtual void CANCEL_ALL_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
void set_seqCancelOut_OutputPort(FwIndexType portNum, Svc::InputCmdSeqCancelPort *port)
Connect port to seqCancelOut[portNum].
FwIdType FwChanIdType
The type of a telemetry channel identifier.
SeqDispatcherComponentBase(const char *compName="")
Construct SeqDispatcherComponentBase object.
static constexpr FwIndexType getNum_cmdIn_InputPorts()
Sequencer blocking state.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum) const
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()
Dispatches a sequence to the first available sequencer.
Channel ID for sequencersAvailable.
void seqRunOut_out(FwIndexType portNum, const Fw::StringBase &filename, const Svc::SeqArgs &args) const
Invoke output port seqRunOut.
Channel ID for dispatchedCount.
void log_WARNING_LO_UnexpectedSequenceStarted(U16 idx, const Fw::StringBase &newSequence) const
Log event UnexpectedSequenceStarted.
Enum representing event severity.
bool isConnected_tlmOut_OutputPort(FwIndexType portNum) const
virtual void seqStartIn_preMsgHook(FwIndexType portNum, const Fw::StringBase &filename, const Svc::SeqArgs &args)
Pre-message hook for async input port seqStartIn.
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum) const
void seqStartIn_handlerBase(FwIndexType portNum, const Fw::StringBase &filename, const Svc::SeqArgs &args)
Handler base-class function for input port seqStartIn.
void tlmWrite(FwChanIdType id, Fw::TlmBuffer &_tlmBuff, Fw::Time _tlmTime=Fw::Time()) const
void log_WARNING_HI_NoAvailableSequencers() const
Log event NoAvailableSequencers.
void log_ACTIVITY_LO_LogSequencerStatus(U16 idx, const Svc::SeqDispatcher_CmdSequencerState &state, const Fw::StringBase &filename) const
Log event LogSequencerStatus.
void RUN_ARGS_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Channel ID for canceledCount.
PlatformIndexType FwIndexType
void seqRunIn_handlerBase(FwIndexType portNum, const Fw::StringBase &filename, const Svc::SeqArgs &args)
Handler base-class function for input port seqRunIn.
Auto-generated base for SeqDispatcher component.
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
virtual void seqDoneIn_handler(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)=0
Handler for input port seqDoneIn.
void LOG_STATUS_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
RateGroupDivider component implementation.
void log_WARNING_HI_InvalidSequencer(U16 idx) const
Log event InvalidSequencer.
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].
static constexpr FwIndexType getNum_seqCancelOut_OutputPorts()
static constexpr FwIndexType getNum_seqRunIn_InputPorts()
void CANCEL_NAME_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
virtual void RUN_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &fileName, const Svc::BlockState &block)=0
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
Logs via Events the state of each connected command sequencer.
void seqCancelOut_out(FwIndexType portNum) const
Invoke output port seqCancelOut.
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
void cmdIn_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Handler base-class function for input port cmdIn.
void log_ACTIVITY_HI_SequenceCanceled(U16 idx, const Fw::StringBase &filename) const
Log event SequenceCanceled.
void log_WARNING_HI_ConflictingSequenceStarted(U16 idx, const Fw::StringBase &newSequence, const Fw::StringBase &sequenceInInternalState) const
Log event ConflictingSequenceStarted.
virtual void CANCEL_NAME_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CANCEL_NAME.
virtual void seqRunIn_handler(FwIndexType portNum, const Fw::StringBase &filename, const Svc::SeqArgs &args)=0
Handler for input port seqRunIn.
static constexpr FwIndexType getNum_seqStartIn_InputPorts()
void tlmWrite_dispatchedCount(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].