7 #ifndef Svc_SeqDispatcherComponentAc_HPP
8 #define Svc_SeqDispatcherComponentAc_HPP
18 #if FW_ENABLE_TEXT_LOGGING == 1
179 #if FW_ENABLE_TEXT_LOGGING == 1
182 void set_logTextOut_OutputPort(
213 #if FW_PORT_SERIALIZATION
224 Fw::InputSerializePort* port
230 Fw::InputSerializePort* port
236 Fw::InputSerializePort* port
239 #if FW_ENABLE_TEXT_LOGGING == 1
242 void set_logTextOut_OutputPort(
244 Fw::InputSerializePort* port
252 Fw::InputSerializePort* port
258 Fw::InputSerializePort* port
263 #if FW_PORT_SERIALIZATION
274 Fw::InputSerializePort* port
298 const char* compName =
""
357 #if FW_ENABLE_TEXT_LOGGING == 1
414 #if FW_ENABLE_TEXT_LOGGING == 1
419 bool isConnected_logTextOut_OutputPort(
727 static void m_p_cmdIn_in(
742 static void m_p_seqDoneIn_in(
751 static void m_p_seqRunIn_in(
758 static void m_p_seqStartIn_in(
803 #if FW_ENABLE_TEXT_LOGGING == 1
PlatformSizeType FwSizeType
PlatformIndexType FwIndexType
C++-compatible configuration header for fprime configuration.
Enum representing a command response.
void init()
Object initializer.
Wait or don't wait for something.
Auto-generated base for SeqDispatcher component.
void log_WARNING_LO_UnexpectedSequenceStarted(U16 idx, const Fw::StringBase &newSequence)
Log event UnexpectedSequenceStarted.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum)
virtual void seqRunIn_preMsgHook(FwIndexType portNum, const Fw::StringBase &filename)
Pre-message hook for async input port seqRunIn.
void tlmWrite_errorCount(U32 arg, Fw::Time _tlmTime=Fw::Time())
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
virtual void seqRunIn_handler(FwIndexType portNum, const Fw::StringBase &filename)=0
Handler for input port seqRunIn.
@ EVENTID_INVALIDSEQUENCER
@ EVENTID_NOAVAILABLESEQUENCERS
@ EVENTID_CONFLICTINGSEQUENCESTARTED
@ EVENTID_UNKNOWNSEQUENCEFINISHED
@ EVENTID_LOGSEQUENCERSTATUS
@ EVENTID_UNEXPECTEDSEQUENCESTARTED
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
Fw::InputCmdResponsePort * get_seqDoneIn_InputPort(FwIndexType portNum)
Svc::InputCmdSeqInPort * get_seqRunIn_InputPort(FwIndexType portNum)
virtual void seqStartIn_handler(FwIndexType portNum, const Fw::StringBase &filename)=0
Handler for input port seqStartIn.
bool isConnected_logOut_OutputPort(FwIndexType portNum)
void seqRunIn_handlerBase(FwIndexType portNum, const Fw::StringBase &filename)
Handler base-class function for input port seqRunIn.
Svc::InputCmdSeqInPort * get_seqStartIn_InputPort(FwIndexType portNum)
virtual void seqDoneIn_handler(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)=0
Handler for input port seqDoneIn.
virtual void RUN_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &fileName, Fw::Wait block)=0
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].
FwIndexType getNum_cmdResponseOut_OutputPorts() const
friend class SeqDispatcherComponentBaseFriend
Friend class for white-box testing.
void log_WARNING_HI_ConflictingSequenceStarted(U16 idx, const Fw::StringBase &newSequence, const Fw::StringBase &sequenceInInternalState)
Log event ConflictingSequenceStarted.
bool isConnected_timeCaller_OutputPort(FwIndexType portNum)
@ NUM_TLMOUT_OUTPUT_PORTS
@ NUM_CMDREGOUT_OUTPUT_PORTS
@ NUM_TIMECALLER_OUTPUT_PORTS
@ NUM_LOGOUT_OUTPUT_PORTS
@ NUM_LOGTEXTOUT_OUTPUT_PORTS
@ NUM_CMDRESPONSEOUT_OUTPUT_PORTS
void seqStartIn_handlerBase(FwIndexType portNum, const Fw::StringBase &filename)
Handler base-class function for input port seqStartIn.
FwIndexType getNum_seqRunIn_InputPorts() const
@ NUM_SEQRUNOUT_OUTPUT_PORTS
FwIndexType getNum_seqStartIn_InputPorts() const
virtual void RUN_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command RUN.
void regCommands()
Register commands with the Command Dispatcher.
FwIndexType getNum_seqRunOut_OutputPorts() const
void tlmWrite_dispatchedCount(U32 arg, Fw::Time _tlmTime=Fw::Time())
void log_WARNING_HI_NoAvailableSequencers()
Log event NoAvailableSequencers.
void LOG_STATUS_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
FwIndexType getNum_cmdRegOut_OutputPorts() const
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum)
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
void log_ACTIVITY_LO_LogSequencerStatus(U16 idx, Svc::SeqDispatcher_CmdSequencerState state, const Fw::StringBase &filename)
Log event LogSequencerStatus.
virtual void LOG_STATUS_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command LOG_STATUS.
void RUN_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
bool isConnected_seqRunOut_OutputPort(FwIndexType portNum)
FwIndexType getNum_logOut_OutputPorts() const
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
SeqDispatcherComponentBase(const char *compName="")
Construct SeqDispatcherComponentBase object.
void set_seqRunOut_OutputPort(FwIndexType portNum, Svc::InputCmdSeqInPort *port)
Connect port to seqRunOut[portNum].
virtual void LOG_STATUS_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
void seqRunOut_out(FwIndexType portNum, const Fw::StringBase &filename)
Invoke output port seqRunOut.
void set_logOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to logOut[portNum].
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
FwIndexType getNum_cmdIn_InputPorts() const
FwIndexType getNum_timeCaller_OutputPorts() const
@ CHANNELID_ERRORCOUNT
Channel ID for errorCount.
@ CHANNELID_DISPATCHEDCOUNT
Channel ID for dispatchedCount.
@ CHANNELID_SEQUENCERSAVAILABLE
Channel ID for sequencersAvailable.
virtual void seqDoneIn_preMsgHook(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Pre-message hook for async input port seqDoneIn.
void log_WARNING_LO_UnknownSequenceFinished(U16 idx)
Log event UnknownSequenceFinished.
void seqDoneIn_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Handler base-class function for input port seqDoneIn.
virtual void seqStartIn_preMsgHook(FwIndexType portNum, const Fw::StringBase &filename)
Pre-message hook for async input port seqStartIn.
@ OPCODE_LOG_STATUS
Logs via Events the state of each connected command sequencer.
@ OPCODE_RUN
Dispatches a sequence to the first available sequencer.
virtual ~SeqDispatcherComponentBase()
Destroy SeqDispatcherComponentBase object.
FwIndexType getNum_tlmOut_OutputPorts() const
void tlmWrite_sequencersAvailable(U32 arg, Fw::Time _tlmTime=Fw::Time())
FwIndexType getNum_seqDoneIn_InputPorts() const
void log_WARNING_HI_InvalidSequencer(U16 idx)
Log event InvalidSequencer.
@ NUM_SEQRUNIN_INPUT_PORTS
@ NUM_SEQSTARTIN_INPUT_PORTS
@ NUM_SEQDONEIN_INPUT_PORTS