F´ Flight Software - C/C++ Documentation
NASA-v1.5.0
A framework for building embedded system applications to NASA flight quality standards.
|
Go to the documentation of this file.
13 #ifndef CMDSEQUENCER_COMP_HPP_
14 #define CMDSEQUENCER_COMP_HPP_
32 #if FW_ENABLE_TEXT_LOGGING == 1
121 #if FW_ENABLE_TEXT_LOGGING == 1
122 void set_LogText_OutputPort(
179 #if FW_PORT_SERIALIZATION
191 Fw::InputSerializePort *port
194 #if FW_ENABLE_TEXT_LOGGING == 1
195 void set_LogText_OutputPort(
199 Fw::InputSerializePort *port
207 Fw::InputSerializePort *port
214 Fw::InputSerializePort *port
221 Fw::InputSerializePort *port
228 Fw::InputSerializePort *port
235 Fw::InputSerializePort *port
242 Fw::InputSerializePort *port
249 Fw::InputSerializePort *port
272 #if FW_OBJECT_NAMES == 1
303 virtual void pingIn_handler(
341 void pingIn_handlerBase(
381 virtual void pingIn_preMsgHook(
500 #if FW_ENABLE_TEXT_LOGGING == 1
573 bool isConnected_cmdRegOut_OutputPort(
577 #if FW_ENABLE_TEXT_LOGGING == 1
578 bool isConnected_LogText_OutputPort(
667 virtual void CS_RUN_cmdHandler(
728 virtual void CS_RUN_preMsgHook(
784 void CS_RUN_cmdHandlerBase(
846 void cmdResponse_out(
859 EVENTID_CS_SEQUENCELOADED = 0,
918 void log_ACTIVITY_LO_CS_SequenceLoaded(
1126 CHANNELID_CS_LOADCOMMANDS = 0,
1142 void tlmWrite_CS_LoadCommands(
1223 #if FW_ENABLE_TEXT_LOGGING == 1
1265 static void m_p_pingIn_in(
void CS_VALIDATE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
virtual void schedIn_preMsgHook(NATIVE_INT_TYPE portNum, NATIVE_UINT_TYPE context)
void CS_MANUAL_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
NATIVE_INT_TYPE getNum_seqDone_OutputPorts(void)
@ NUM_CMDRESPONSEOUT_OUTPUT_PORTS
void log_ACTIVITY_HI_CS_PortSequenceStarted(Fw::LogStringArg &filename)
PROTECTED EVENTID_CS_COMMANDERROR
Fw::OutputCmdResponsePort m_seqDone_OutputPort[NUM_SEQDONE_OUTPUT_PORTS]
PROTECTED SEQ_READ_SEQ_DATA
void log_WARNING_HI_CS_FileSizeError(Fw::LogStringArg &fileName, U32 size)
NATIVE_INT_TYPE getNum_cmdIn_InputPorts(void)
Auto-generated base for CmdSequencer component.
NATIVE_INT_TYPE getNum_tlmOut_OutputPorts(void)
void set_pingOut_OutputPort(NATIVE_INT_TYPE portNum, Svc::InputPingPort *port)
PROTECTED SEQ_READ_SEQ_DATA_SIZE
PROTECTED EVENTID_CS_FILENOTFOUND
bool isConnected_cmdResponseOut_OutputPort(NATIVE_INT_TYPE portNum)
void set_tlmOut_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputTlmPort *port)
#define PRIVATE
overridable private for unit testing
PROTECTED FileReadStage_MAX FileReadStage
void seqRunIn_handlerBase(NATIVE_INT_TYPE portNum, Fw::EightyCharString &filename)
Svc::InputCmdSeqInPort * get_seqRunIn_InputPort(NATIVE_INT_TYPE portNum)
static void m_p_cmdIn_in(Fw::PassiveComponentBase *callComp, NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void log_WARNING_HI_CS_RecordInvalid(Fw::LogStringArg &fileName, U32 recordNumber, I32 error)
PROTECTED EVENTID_CS_SEQUENCEVALID
virtual void CS_STEP_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
Handler for command CS_STEP.
Fw::OutputTimePort m_timeCaller_OutputPort[NUM_TIMECALLER_OUTPUT_PORTS]
PROTECTED EVENTID_CS_CMDSTARTED
virtual void CS_VALIDATE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &fileName)=0
Handler for command CS_VALIDATE.
virtual MsgDispatchStatus doDispatch(void)=0
method to dispatch a single message in the queue.
@ NUM_SCHEDIN_INPUT_PORTS
Fw::OutputTlmPort m_tlmOut_OutputPort[NUM_TLMOUT_OUTPUT_PORTS]
Fw::InputCmdPort m_cmdIn_InputPort[NUM_CMDIN_INPUT_PORTS]
PROTECTED Fw::ComBuffer U32 context
PROTECTED EVENTID_CS_FILECRCFAILURE
void CS_START_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void tlmWrite_CS_CancelCommands(U32 arg)
bool isConnected_pingOut_OutputPort(NATIVE_INT_TYPE portNum)
virtual ~CmdSequencerComponentBase(void)
PROTECTED OPCODE_CS_START
PROTECTED CHANNELID_CS_SEQUENCESCOMPLETED
Channel ID for CS_SequencesCompleted.
@ NUM_LOGTEXT_OUTPUT_PORTS
uint8_t U8
8-bit unsigned integer
void log_ACTIVITY_LO_CS_CommandComplete(Fw::LogStringArg &fileName, U32 recordNumber, U32 opCode)
Svc::InputSchedPort * get_schedIn_InputPort(NATIVE_INT_TYPE portNum)
void log_ACTIVITY_HI_CS_SequenceComplete(Fw::LogStringArg &fileName)
PROTECTED SEQ_READ_HEADER_SIZE
bool isConnected_tlmOut_OutputPort(NATIVE_INT_TYPE portNum)
@ NUM_PINGOUT_OUTPUT_PORTS
virtual void CS_CANCEL_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
Handler for command CS_CANCEL.
void tlmWrite_CS_Errors(U32 arg)
PROTECTED EVENTID_CS_SEQUENCECANCELED
static void m_p_cmdResponseIn_in(Fw::PassiveComponentBase *callComp, NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CommandResponse response)
void set_cmdResponseOut_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputCmdResponsePort *port)
void tlmWrite_CS_SequencesCompleted(U32 arg)
virtual void CS_AUTO_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
@ NUM_CMDRESPONSEIN_INPUT_PORTS
void regCommands(void)
Register commands with the Command Dispatcher.
void log_ACTIVITY_HI_CS_ModeSwitched(SeqMode mode)
void pingOut_out(NATIVE_INT_TYPE portNum, U32 key)
void log_WARNING_HI_CS_SequenceTimeout(Fw::LogStringArg &filename, U32 command)
Fw::OutputComPort m_comCmdOut_OutputPort[NUM_COMCMDOUT_OUTPUT_PORTS]
void seqDone_out(NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CommandResponse response)
PROTECTED OPCODE_CS_VALIDATE
virtual void cmdResponseIn_preMsgHook(NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CommandResponse response)
PRIVATE NATIVE_INT_TYPE portNum
@ NUM_SEQRUNIN_INPUT_PORTS
NATIVE_INT_TYPE getNum_logOut_OutputPorts(void)
@ NUM_COMCMDOUT_OUTPUT_PORTS
void set_logOut_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputLogPort *port)
PROTECTED EVENTID_CS_NOSEQUENCEACTIVE
PROTECTED EVENTID_CS_FILESIZEERROR
PROTECTED Fw::ComBuffer & data
void log_WARNING_LO_CS_NoSequenceActive(void)
PROTECTED U32 Fw::CmdArgBuffer & args
void log_WARNING_HI_CS_FileReadError(Fw::LogStringArg &fileName)
void log_WARNING_HI_CS_FileInvalid(Fw::LogStringArg &fileName, FileReadStage stage, I32 error)
virtual void cmdResponseIn_handler(NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CommandResponse response)=0
Handler for input port cmdResponseIn.
PROTECTED EVENTID_CS_SEQUENCETIMEOUT
Svc::InputPingPort * get_pingIn_InputPort(NATIVE_INT_TYPE portNum)
PROTECTED EVENTID_CS_FILEREADERROR
virtual void CS_CANCEL_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
void init(void)
Object initializer.
PROTECTED EVENTID_CS_TIMECONTEXTMISMATCH
virtual void CS_START_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
Handler for command CS_START.
virtual void CS_STEP_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
void log_WARNING_HI_CS_FileCrcFailure(Fw::LogStringArg &fileName, U32 storedCRC, U32 computedCRC)
@ NUM_LOGOUT_OUTPUT_PORTS
PROTECTED CHANNELID_CS_CANCELCOMMANDS
Channel ID for CS_CancelCommands.
void log_WARNING_HI_CS_TimeContextMismatch(Fw::LogStringArg &fileName, U8 currTimeBase, U8 seqTimeBase)
void log_ACTIVITY_HI_CS_CmdStepped(Fw::LogStringArg &filename, U32 command)
friend class CmdSequencerComponentBaseFriend
PROTECTED U32 Fw::CommandResponse response
void CS_AUTO_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void CS_STEP_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
virtual void CS_START_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
virtual void seqRunIn_preMsgHook(NATIVE_INT_TYPE portNum, Fw::EightyCharString &filename)
void log_WARNING_HI_CS_UnexpectedCompletion(U32 opcode)
bool isConnected_timeCaller_OutputPort(NATIVE_INT_TYPE portNum)
virtual void CS_AUTO_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
Handler for command CS_AUTO.
#define FwOpcodeType
Type representation for a command opcode.
Svc::InputCmdSeqInPort m_seqRunIn_InputPort[NUM_SEQRUNIN_INPUT_PORTS]
Fw::InputCmdPort * get_cmdIn_InputPort(NATIVE_INT_TYPE portNum)
void log_WARNING_HI_CS_CommandError(Fw::LogStringArg &fileName, U32 recordNumber, U32 opCode, U32 errorStatus)
NATIVE_INT_TYPE getNum_cmdResponseOut_OutputPorts(void)
bool isConnected_seqDone_OutputPort(NATIVE_INT_TYPE portNum)
unsigned int NATIVE_UINT_TYPE
native unsigned integer type declaration
@ NUM_TLMOUT_OUTPUT_PORTS
PROTECTED EVENTID_CS_RECORDMISMATCH
NATIVE_INT_TYPE getNum_cmdResponseIn_InputPorts(void)
void log_ACTIVITY_HI_CS_SequenceCanceled(Fw::LogStringArg &fileName)
void cmdResponseIn_handlerBase(NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CommandResponse response)
void CS_CANCEL_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
PROTECTED SEQ_DESER_TIME_CONTEXT
virtual void seqRunIn_handler(NATIVE_INT_TYPE portNum, Fw::EightyCharString &filename)=0
Handler for input port seqRunIn.
PROTECTED EVENTID_CS_COMMANDCOMPLETE
bool isConnected_logOut_OutputPort(NATIVE_INT_TYPE portNum)
PROTECTED SEQ_DESER_TIME_BASE
PROTECTED SEQ_READ_SEQ_CRC
PROTECTED OPCODE_CS_CANCEL
void set_comCmdOut_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputComPort *port)
bool isConnected_comCmdOut_OutputPort(NATIVE_INT_TYPE portNum)
PROTECTED EVENTID_CS_TIMEBASEMISMATCH
PROTECTED EVENTID_CS_CMDSTEPPED
@ NUM_SEQDONE_OUTPUT_PORTS
PROTECTED U32 const Fw::CmdStringArg & fileName
PROTECTED CHANNELID_CS_COMMANDSEXECUTED
Channel ID for CS_CommandsExecuted.
static void m_p_seqRunIn_in(Fw::PassiveComponentBase *callComp, NATIVE_INT_TYPE portNum, Fw::EightyCharString &filename)
Fw::InputCmdResponsePort * get_cmdResponseIn_InputPort(NATIVE_INT_TYPE portNum)
PROTECTED EVENTID_CS_INVALIDMODE
NATIVE_INT_TYPE getNum_timeCaller_OutputPorts(void)
void log_ACTIVITY_HI_CS_CmdStarted(Fw::LogStringArg &filename)
NATIVE_INT_TYPE getNum_seqRunIn_InputPorts(void)
Svc::OutputPingPort m_pingOut_OutputPort[NUM_PINGOUT_OUTPUT_PORTS]
void schedIn_handlerBase(NATIVE_INT_TYPE portNum, NATIVE_UINT_TYPE context)
virtual void CS_MANUAL_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
void log_WARNING_HI_CS_TimeBaseMismatch(Fw::LogStringArg &fileName, U16 time_base, U16 seq_time_base)
PROTECTED EVENTID_CS_SEQUENCECOMPLETE
PROTECTED EVENTID_CS_PORTSEQUENCESTARTED
PROTECTED EVENTID_CS_UNEXPECTEDCOMPLETION
void log_WARNING_HI_CS_RecordMismatch(Fw::LogStringArg &fileName, U32 header_records, U32 extra_bytes)
Fw::OutputLogPort m_logOut_OutputPort[NUM_LOGOUT_OUTPUT_PORTS]
PROTECTED SEQ_DESER_NUM_RECORDS
PROTECTED OPCODE_CS_MANUAL
NATIVE_INT_TYPE getNum_pingOut_OutputPorts(void)
PROTECTED EVENTID_CS_MODESWITCHED
NATIVE_INT_TYPE getNum_comCmdOut_OutputPorts(void)
virtual void schedIn_handler(NATIVE_INT_TYPE portNum, NATIVE_UINT_TYPE context)=0
Handler for input port schedIn.
void tlmWrite_CS_CommandsExecuted(U32 arg)
void set_timeCaller_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputTimePort *port)
NATIVE_INT_TYPE getNum_schedIn_InputPorts(void)
static void m_p_schedIn_in(Fw::PassiveComponentBase *callComp, NATIVE_INT_TYPE portNum, NATIVE_UINT_TYPE context)
virtual void CS_VALIDATE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
PROTECTED CHANNELID_CS_ERRORS
Channel ID for CS_Errors.
Fw::OutputCmdResponsePort m_cmdResponseOut_OutputPort[NUM_CMDRESPONSEOUT_OUTPUT_PORTS]
Svc::InputSchedPort m_schedIn_InputPort[NUM_SCHEDIN_INPUT_PORTS]
int NATIVE_INT_TYPE
native integer type declaration
void set_seqDone_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputCmdResponsePort *port)
@ NUM_TIMECALLER_OUTPUT_PORTS
Fw::InputCmdResponsePort m_cmdResponseIn_InputPort[NUM_CMDRESPONSEIN_INPUT_PORTS]
void set_cmdRegOut_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputCmdRegPort *port)
@ NUM_CMDREGOUT_OUTPUT_PORTS
void log_WARNING_HI_CS_FileNotFound(Fw::LogStringArg &fileName)
PROTECTED EVENTID_CS_FILEINVALID
virtual void CS_MANUAL_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
Handler for command CS_MANUAL.
void log_WARNING_HI_CS_InvalidMode(void)
PROTECTED EVENTID_CS_RECORDINVALID
void log_ACTIVITY_HI_CS_SequenceValid(Fw::LogStringArg &filename)