10#if FW_ENABLE_TEXT_LOGGING
19 CMDRESPONSEIN_CMDRESPONSE,
22 SEQCANCELIN_CMDSEQCANCEL,
46 class ComponentIpcSerializableBuffer :
56 MAX_DATA_SIZE =
sizeof(BuffUnion),
58 SERIALIZATION_SIZE = DATA_OFFSET + MAX_DATA_SIZE
62 return sizeof(m_buff);
69 const U8* getBuffAddr()
const {
75 U8 m_buff[SERIALIZATION_SIZE];
84 void CmdSequencerComponentBase ::
96 port < static_cast<FwIndexType>(this->getNum_cmdIn_InputPorts());
99 this->m_cmdIn_InputPort[port].init();
100 this->m_cmdIn_InputPort[port].addCallComp(
104 this->m_cmdIn_InputPort[port].setPortNum(port);
106#if FW_OBJECT_NAMES == 1
110 this->m_objName.toChar(),
113 this->m_cmdIn_InputPort[port].setObjName(portName.
toChar());
120 port < static_cast<FwIndexType>(this->getNum_cmdResponseIn_InputPorts());
123 this->m_cmdResponseIn_InputPort[port].init();
124 this->m_cmdResponseIn_InputPort[port].addCallComp(
128 this->m_cmdResponseIn_InputPort[port].setPortNum(port);
130#if FW_OBJECT_NAMES == 1
134 this->m_objName.toChar(),
137 this->m_cmdResponseIn_InputPort[port].setObjName(portName.
toChar());
144 port < static_cast<FwIndexType>(this->getNum_pingIn_InputPorts());
147 this->m_pingIn_InputPort[port].init();
148 this->m_pingIn_InputPort[port].addCallComp(
152 this->m_pingIn_InputPort[port].setPortNum(port);
154#if FW_OBJECT_NAMES == 1
158 this->m_objName.toChar(),
161 this->m_pingIn_InputPort[port].setObjName(portName.
toChar());
168 port < static_cast<FwIndexType>(this->getNum_schedIn_InputPorts());
171 this->m_schedIn_InputPort[port].init();
172 this->m_schedIn_InputPort[port].addCallComp(
176 this->m_schedIn_InputPort[port].setPortNum(port);
178#if FW_OBJECT_NAMES == 1
182 this->m_objName.toChar(),
185 this->m_schedIn_InputPort[port].setObjName(portName.
toChar());
192 port < static_cast<FwIndexType>(this->getNum_seqCancelIn_InputPorts());
195 this->m_seqCancelIn_InputPort[port].init();
196 this->m_seqCancelIn_InputPort[port].addCallComp(
200 this->m_seqCancelIn_InputPort[port].setPortNum(port);
202#if FW_OBJECT_NAMES == 1
206 this->m_objName.toChar(),
209 this->m_seqCancelIn_InputPort[port].setObjName(portName.
toChar());
216 port < static_cast<FwIndexType>(this->getNum_seqRunIn_InputPorts());
219 this->m_seqRunIn_InputPort[port].init();
220 this->m_seqRunIn_InputPort[port].addCallComp(
224 this->m_seqRunIn_InputPort[port].setPortNum(port);
226#if FW_OBJECT_NAMES == 1
230 this->m_objName.toChar(),
233 this->m_seqRunIn_InputPort[port].setObjName(portName.
toChar());
237#if FW_ENABLE_TEXT_LOGGING == 1
241 port < static_cast<FwIndexType>(this->getNum_LogText_OutputPorts());
244 this->m_LogText_OutputPort[port].init();
246#if FW_OBJECT_NAMES == 1
250 this->m_objName.toChar(),
253 this->m_LogText_OutputPort[port].setObjName(portName.
toChar());
261 port < static_cast<FwIndexType>(this->getNum_cmdRegOut_OutputPorts());
264 this->m_cmdRegOut_OutputPort[port].init();
266#if FW_OBJECT_NAMES == 1
270 this->m_objName.toChar(),
273 this->m_cmdRegOut_OutputPort[port].setObjName(portName.
toChar());
280 port < static_cast<FwIndexType>(this->getNum_cmdResponseOut_OutputPorts());
283 this->m_cmdResponseOut_OutputPort[port].init();
285#if FW_OBJECT_NAMES == 1
289 this->m_objName.toChar(),
292 this->m_cmdResponseOut_OutputPort[port].setObjName(portName.
toChar());
299 port < static_cast<FwIndexType>(this->getNum_logOut_OutputPorts());
302 this->m_logOut_OutputPort[port].init();
304#if FW_OBJECT_NAMES == 1
308 this->m_objName.toChar(),
311 this->m_logOut_OutputPort[port].setObjName(portName.
toChar());
318 port < static_cast<FwIndexType>(this->getNum_timeCaller_OutputPorts());
321 this->m_timeCaller_OutputPort[port].init();
323#if FW_OBJECT_NAMES == 1
327 this->m_objName.toChar(),
330 this->m_timeCaller_OutputPort[port].setObjName(portName.
toChar());
337 port < static_cast<FwIndexType>(this->getNum_tlmOut_OutputPorts());
340 this->m_tlmOut_OutputPort[port].init();
342#if FW_OBJECT_NAMES == 1
346 this->m_objName.toChar(),
349 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
356 port < static_cast<FwIndexType>(this->getNum_comCmdOut_OutputPorts());
359 this->m_comCmdOut_OutputPort[port].init();
361#if FW_OBJECT_NAMES == 1
365 this->m_objName.toChar(),
368 this->m_comCmdOut_OutputPort[port].setObjName(portName.
toChar());
375 port < static_cast<FwIndexType>(this->getNum_pingOut_OutputPorts());
378 this->m_pingOut_OutputPort[port].init();
380#if FW_OBJECT_NAMES == 1
384 this->m_objName.toChar(),
387 this->m_pingOut_OutputPort[port].setObjName(portName.
toChar());
394 port < static_cast<FwIndexType>(this->getNum_seqDone_OutputPorts());
397 this->m_seqDone_OutputPort[port].init();
399#if FW_OBJECT_NAMES == 1
403 this->m_objName.toChar(),
406 this->m_seqDone_OutputPort[port].setObjName(portName.
toChar());
413 port < static_cast<FwIndexType>(this->getNum_seqStartOut_OutputPorts());
416 this->m_seqStartOut_OutputPort[port].init();
418#if FW_OBJECT_NAMES == 1
422 this->m_objName.toChar(),
425 this->m_seqStartOut_OutputPort[port].setObjName(portName.
toChar());
432 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
448 portNum < this->getNum_cmdIn_InputPorts(),
452 return &this->m_cmdIn_InputPort[portNum];
463 portNum < this->getNum_cmdResponseIn_InputPorts(),
467 return &this->m_cmdResponseIn_InputPort[portNum];
474 portNum < this->getNum_pingIn_InputPorts(),
478 return &this->m_pingIn_InputPort[portNum];
485 portNum < this->getNum_schedIn_InputPorts(),
489 return &this->m_schedIn_InputPort[portNum];
496 portNum < this->getNum_seqCancelIn_InputPorts(),
500 return &this->m_seqCancelIn_InputPort[portNum];
507 portNum < this->getNum_seqRunIn_InputPorts(),
511 return &this->m_seqRunIn_InputPort[portNum];
518#if FW_ENABLE_TEXT_LOGGING == 1
520 void CmdSequencerComponentBase ::
521 set_LogText_OutputPort(
527 portNum < this->getNum_LogText_OutputPorts(),
531 this->m_LogText_OutputPort[portNum].addCallPort(port);
536 void CmdSequencerComponentBase ::
537 set_cmdRegOut_OutputPort(
543 portNum < this->getNum_cmdRegOut_OutputPorts(),
547 this->m_cmdRegOut_OutputPort[portNum].addCallPort(port);
550 void CmdSequencerComponentBase ::
551 set_cmdResponseOut_OutputPort(
557 portNum < this->getNum_cmdResponseOut_OutputPorts(),
561 this->m_cmdResponseOut_OutputPort[portNum].addCallPort(port);
564 void CmdSequencerComponentBase ::
565 set_logOut_OutputPort(
571 portNum < this->getNum_logOut_OutputPorts(),
575 this->m_logOut_OutputPort[portNum].addCallPort(port);
578 void CmdSequencerComponentBase ::
579 set_timeCaller_OutputPort(
585 portNum < this->getNum_timeCaller_OutputPorts(),
589 this->m_timeCaller_OutputPort[portNum].addCallPort(port);
592 void CmdSequencerComponentBase ::
593 set_tlmOut_OutputPort(
599 portNum < this->getNum_tlmOut_OutputPorts(),
603 this->m_tlmOut_OutputPort[portNum].addCallPort(port);
610 void CmdSequencerComponentBase ::
611 set_comCmdOut_OutputPort(
617 portNum < this->getNum_comCmdOut_OutputPorts(),
621 this->m_comCmdOut_OutputPort[portNum].addCallPort(port);
624 void CmdSequencerComponentBase ::
625 set_pingOut_OutputPort(
631 portNum < this->getNum_pingOut_OutputPorts(),
635 this->m_pingOut_OutputPort[portNum].addCallPort(port);
638 void CmdSequencerComponentBase ::
639 set_seqDone_OutputPort(
645 portNum < this->getNum_seqDone_OutputPorts(),
649 this->m_seqDone_OutputPort[portNum].addCallPort(port);
652 void CmdSequencerComponentBase ::
653 set_seqStartOut_OutputPort(
659 portNum < this->getNum_seqStartOut_OutputPorts(),
663 this->m_seqStartOut_OutputPort[portNum].addCallPort(port);
666#if FW_PORT_SERIALIZATION
672#if FW_ENABLE_TEXT_LOGGING == 1
674 void CmdSequencerComponentBase ::
675 set_LogText_OutputPort(
677 Fw::InputSerializePort* port
681 portNum < this->getNum_LogText_OutputPorts(),
685 this->m_LogText_OutputPort[portNum].registerSerialPort(port);
690 void CmdSequencerComponentBase ::
691 set_cmdRegOut_OutputPort(
693 Fw::InputSerializePort* port
697 portNum < this->getNum_cmdRegOut_OutputPorts(),
701 this->m_cmdRegOut_OutputPort[portNum].registerSerialPort(port);
704 void CmdSequencerComponentBase ::
705 set_cmdResponseOut_OutputPort(
707 Fw::InputSerializePort* port
711 portNum < this->getNum_cmdResponseOut_OutputPorts(),
715 this->m_cmdResponseOut_OutputPort[portNum].registerSerialPort(port);
718 void CmdSequencerComponentBase ::
719 set_logOut_OutputPort(
721 Fw::InputSerializePort* port
725 portNum < this->getNum_logOut_OutputPorts(),
729 this->m_logOut_OutputPort[portNum].registerSerialPort(port);
732 void CmdSequencerComponentBase ::
733 set_timeCaller_OutputPort(
735 Fw::InputSerializePort* port
739 portNum < this->getNum_timeCaller_OutputPorts(),
743 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
746 void CmdSequencerComponentBase ::
747 set_tlmOut_OutputPort(
749 Fw::InputSerializePort* port
753 portNum < this->getNum_tlmOut_OutputPorts(),
757 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
762#if FW_PORT_SERIALIZATION
768 void CmdSequencerComponentBase ::
769 set_comCmdOut_OutputPort(
771 Fw::InputSerializePort* port
775 portNum < this->getNum_comCmdOut_OutputPorts(),
779 this->m_comCmdOut_OutputPort[portNum].registerSerialPort(port);
782 void CmdSequencerComponentBase ::
783 set_pingOut_OutputPort(
785 Fw::InputSerializePort* port
789 portNum < this->getNum_pingOut_OutputPorts(),
793 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
796 void CmdSequencerComponentBase ::
797 set_seqDone_OutputPort(
799 Fw::InputSerializePort* port
803 portNum < this->getNum_seqDone_OutputPorts(),
807 this->m_seqDone_OutputPort[portNum].registerSerialPort(port);
810 void CmdSequencerComponentBase ::
811 set_seqStartOut_OutputPort(
813 Fw::InputSerializePort* port
817 portNum < this->getNum_seqStartOut_OutputPorts(),
821 this->m_seqStartOut_OutputPort[portNum].registerSerialPort(port);
830 void CmdSequencerComponentBase ::
833 FW_ASSERT(this->m_cmdRegOut_OutputPort[0].isConnected());
835 this->m_cmdRegOut_OutputPort[0].invoke(
836 this->getIdBase() + OPCODE_CS_RUN
839 this->m_cmdRegOut_OutputPort[0].invoke(
840 this->getIdBase() + OPCODE_CS_VALIDATE
843 this->m_cmdRegOut_OutputPort[0].invoke(
844 this->getIdBase() + OPCODE_CS_CANCEL
847 this->m_cmdRegOut_OutputPort[0].invoke(
848 this->getIdBase() + OPCODE_CS_START
851 this->m_cmdRegOut_OutputPort[0].invoke(
852 this->getIdBase() + OPCODE_CS_STEP
855 this->m_cmdRegOut_OutputPort[0].invoke(
856 this->getIdBase() + OPCODE_CS_AUTO
859 this->m_cmdRegOut_OutputPort[0].invoke(
860 this->getIdBase() + OPCODE_CS_MANUAL
863 this->m_cmdRegOut_OutputPort[0].invoke(
864 this->getIdBase() + OPCODE_CS_JOIN_WAIT
872 CmdSequencerComponentBase ::
873 CmdSequencerComponentBase(
const char* compName) :
874 Fw::ActiveComponentBase(compName)
879 CmdSequencerComponentBase ::
880 ~CmdSequencerComponentBase()
890 getNum_cmdIn_InputPorts()
const
900 getNum_cmdResponseIn_InputPorts()
const
906 getNum_pingIn_InputPorts()
const
912 getNum_schedIn_InputPorts()
const
918 getNum_seqCancelIn_InputPorts()
const
924 getNum_seqRunIn_InputPorts()
const
933#if FW_ENABLE_TEXT_LOGGING == 1
936 getNum_LogText_OutputPorts()
const
944 getNum_cmdRegOut_OutputPorts()
const
950 getNum_cmdResponseOut_OutputPorts()
const
956 getNum_logOut_OutputPorts()
const
962 getNum_timeCaller_OutputPorts()
const
968 getNum_tlmOut_OutputPorts()
const
978 getNum_comCmdOut_OutputPorts()
const
984 getNum_pingOut_OutputPorts()
const
990 getNum_seqDone_OutputPorts()
const
996 getNum_seqStartOut_OutputPorts()
const
1005#if FW_ENABLE_TEXT_LOGGING == 1
1007 bool CmdSequencerComponentBase ::
1008 isConnected_LogText_OutputPort(
FwIndexType portNum)
1011 portNum < this->getNum_LogText_OutputPorts(),
1015 return this->m_LogText_OutputPort[portNum].isConnected();
1020 bool CmdSequencerComponentBase ::
1021 isConnected_cmdRegOut_OutputPort(
FwIndexType portNum)
1024 portNum < this->getNum_cmdRegOut_OutputPorts(),
1028 return this->m_cmdRegOut_OutputPort[portNum].isConnected();
1031 bool CmdSequencerComponentBase ::
1032 isConnected_cmdResponseOut_OutputPort(
FwIndexType portNum)
1035 portNum < this->getNum_cmdResponseOut_OutputPorts(),
1039 return this->m_cmdResponseOut_OutputPort[portNum].isConnected();
1042 bool CmdSequencerComponentBase ::
1043 isConnected_logOut_OutputPort(
FwIndexType portNum)
1046 portNum < this->getNum_logOut_OutputPorts(),
1050 return this->m_logOut_OutputPort[portNum].isConnected();
1053 bool CmdSequencerComponentBase ::
1054 isConnected_timeCaller_OutputPort(
FwIndexType portNum)
1057 portNum < this->getNum_timeCaller_OutputPorts(),
1061 return this->m_timeCaller_OutputPort[portNum].isConnected();
1064 bool CmdSequencerComponentBase ::
1065 isConnected_tlmOut_OutputPort(
FwIndexType portNum)
1068 portNum < this->getNum_tlmOut_OutputPorts(),
1072 return this->m_tlmOut_OutputPort[portNum].isConnected();
1079 bool CmdSequencerComponentBase ::
1080 isConnected_comCmdOut_OutputPort(
FwIndexType portNum)
1083 portNum < this->getNum_comCmdOut_OutputPorts(),
1087 return this->m_comCmdOut_OutputPort[portNum].isConnected();
1090 bool CmdSequencerComponentBase ::
1091 isConnected_pingOut_OutputPort(
FwIndexType portNum)
1094 portNum < this->getNum_pingOut_OutputPorts(),
1098 return this->m_pingOut_OutputPort[portNum].isConnected();
1101 bool CmdSequencerComponentBase ::
1102 isConnected_seqDone_OutputPort(
FwIndexType portNum)
1105 portNum < this->getNum_seqDone_OutputPorts(),
1109 return this->m_seqDone_OutputPort[portNum].isConnected();
1112 bool CmdSequencerComponentBase ::
1113 isConnected_seqStartOut_OutputPort(
FwIndexType portNum)
1116 portNum < this->getNum_seqStartOut_OutputPorts(),
1120 return this->m_seqStartOut_OutputPort[portNum].isConnected();
1129 void CmdSequencerComponentBase ::
1130 cmdResponseIn_handlerBase(
1139 portNum < this->getNum_cmdResponseIn_InputPorts(),
1144 cmdResponseIn_preMsgHook(
1150 ComponentIpcSerializableBuffer msg;
1154 _status = msg.serialize(
1163 _status = msg.serialize(portNum);
1170 _status = msg.serialize(opCode);
1177 _status = msg.serialize(cmdSeq);
1184 _status = msg.serialize(response);
1200 void CmdSequencerComponentBase ::
1208 portNum < this->getNum_pingIn_InputPorts(),
1217 ComponentIpcSerializableBuffer msg;
1221 _status = msg.serialize(
1230 _status = msg.serialize(portNum);
1237 _status = msg.serialize(key);
1253 void CmdSequencerComponentBase ::
1254 schedIn_handlerBase(
1261 portNum < this->getNum_schedIn_InputPorts(),
1270 ComponentIpcSerializableBuffer msg;
1274 _status = msg.serialize(
1283 _status = msg.serialize(portNum);
1290 _status = msg.serialize(context);
1306 void CmdSequencerComponentBase ::
1311 portNum < this->getNum_seqCancelIn_InputPorts(),
1316 seqCancelIn_preMsgHook(portNum);
1317 ComponentIpcSerializableBuffer msg;
1321 _status = msg.serialize(
1330 _status = msg.serialize(portNum);
1346 void CmdSequencerComponentBase ::
1347 seqRunIn_handlerBase(
1354 portNum < this->getNum_seqRunIn_InputPorts(),
1359 seqRunIn_preMsgHook(
1363 ComponentIpcSerializableBuffer msg;
1367 _status = msg.serialize(
1376 _status = msg.serialize(portNum);
1407 void CmdSequencerComponentBase ::
1408 cmdResponseIn_preMsgHook(
1418 void CmdSequencerComponentBase ::
1427 void CmdSequencerComponentBase ::
1436 void CmdSequencerComponentBase ::
1442 void CmdSequencerComponentBase ::
1443 seqRunIn_preMsgHook(
1455 void CmdSequencerComponentBase ::
1463 portNum < this->getNum_comCmdOut_OutputPorts(),
1466 this->m_comCmdOut_OutputPort[portNum].invoke(
1472 void CmdSequencerComponentBase ::
1479 portNum < this->getNum_pingOut_OutputPorts(),
1482 this->m_pingOut_OutputPort[portNum].invoke(
1487 void CmdSequencerComponentBase ::
1496 portNum < this->getNum_seqDone_OutputPorts(),
1499 this->m_seqDone_OutputPort[portNum].invoke(
1506 void CmdSequencerComponentBase ::
1513 portNum < this->getNum_seqStartOut_OutputPorts(),
1516 this->m_seqStartOut_OutputPort[portNum].invoke(
1525 void CmdSequencerComponentBase ::
1532 FW_ASSERT(this->m_cmdResponseOut_OutputPort[0].isConnected());
1533 this->m_cmdResponseOut_OutputPort[0].invoke(opCode, cmdSeq, response);
1542 void CmdSequencerComponentBase ::
1543 CS_RUN_cmdHandlerBase(
1550 this->CS_RUN_preMsgHook(opCode,cmdSeq);
1554 ComponentIpcSerializableBuffer msg;
1567 _status = msg.serialize(port);
1573 _status = msg.serialize(opCode);
1579 _status = msg.serialize(cmdSeq);
1585 _status = msg.serialize(args);
1601 void CmdSequencerComponentBase ::
1602 CS_VALIDATE_cmdHandlerBase(
1609 this->CS_VALIDATE_preMsgHook(opCode,cmdSeq);
1613 ComponentIpcSerializableBuffer msg;
1617 _status = msg.serialize(
static_cast<FwEnumStoreType>(CMD_CS_VALIDATE));
1626 _status = msg.serialize(port);
1632 _status = msg.serialize(opCode);
1638 _status = msg.serialize(cmdSeq);
1644 _status = msg.serialize(args);
1660 void CmdSequencerComponentBase ::
1661 CS_CANCEL_cmdHandlerBase(
1668 this->CS_CANCEL_preMsgHook(opCode,cmdSeq);
1672 ComponentIpcSerializableBuffer msg;
1685 _status = msg.serialize(port);
1691 _status = msg.serialize(opCode);
1697 _status = msg.serialize(cmdSeq);
1703 _status = msg.serialize(args);
1719 void CmdSequencerComponentBase ::
1720 CS_START_cmdHandlerBase(
1727 this->CS_START_preMsgHook(opCode,cmdSeq);
1731 ComponentIpcSerializableBuffer msg;
1744 _status = msg.serialize(port);
1750 _status = msg.serialize(opCode);
1756 _status = msg.serialize(cmdSeq);
1762 _status = msg.serialize(args);
1778 void CmdSequencerComponentBase ::
1779 CS_STEP_cmdHandlerBase(
1786 this->CS_STEP_preMsgHook(opCode,cmdSeq);
1790 ComponentIpcSerializableBuffer msg;
1803 _status = msg.serialize(port);
1809 _status = msg.serialize(opCode);
1815 _status = msg.serialize(cmdSeq);
1821 _status = msg.serialize(args);
1837 void CmdSequencerComponentBase ::
1838 CS_AUTO_cmdHandlerBase(
1845 this->CS_AUTO_preMsgHook(opCode,cmdSeq);
1849 ComponentIpcSerializableBuffer msg;
1862 _status = msg.serialize(port);
1868 _status = msg.serialize(opCode);
1874 _status = msg.serialize(cmdSeq);
1880 _status = msg.serialize(args);
1896 void CmdSequencerComponentBase ::
1897 CS_MANUAL_cmdHandlerBase(
1904 this->CS_MANUAL_preMsgHook(opCode,cmdSeq);
1908 ComponentIpcSerializableBuffer msg;
1921 _status = msg.serialize(port);
1927 _status = msg.serialize(opCode);
1933 _status = msg.serialize(cmdSeq);
1939 _status = msg.serialize(args);
1955 void CmdSequencerComponentBase ::
1956 CS_JOIN_WAIT_cmdHandlerBase(
1963 this->CS_JOIN_WAIT_preMsgHook(opCode,cmdSeq);
1967 ComponentIpcSerializableBuffer msg;
1971 _status = msg.serialize(
static_cast<FwEnumStoreType>(CMD_CS_JOIN_WAIT));
1980 _status = msg.serialize(port);
1986 _status = msg.serialize(opCode);
1992 _status = msg.serialize(cmdSeq);
1998 _status = msg.serialize(args);
2022 void CmdSequencerComponentBase ::
2033 void CmdSequencerComponentBase ::
2034 CS_VALIDATE_preMsgHook(
2044 void CmdSequencerComponentBase ::
2045 CS_CANCEL_preMsgHook(
2055 void CmdSequencerComponentBase ::
2056 CS_START_preMsgHook(
2066 void CmdSequencerComponentBase ::
2077 void CmdSequencerComponentBase ::
2088 void CmdSequencerComponentBase ::
2089 CS_MANUAL_preMsgHook(
2099 void CmdSequencerComponentBase ::
2100 CS_JOIN_WAIT_preMsgHook(
2114 void CmdSequencerComponentBase ::
2115 log_ACTIVITY_LO_CS_SequenceLoaded(
const Fw::StringBase& fileName)
const
2119 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2120 this->m_timeCaller_OutputPort[0].invoke(_logTime);
2125 _id = this->getIdBase() + EVENTID_CS_SEQUENCELOADED;
2128 if (this->m_logOut_OutputPort[0].isConnected()) {
2132#if FW_AMPCS_COMPATIBLE
2147 this->m_logOut_OutputPort[0].invoke(
2156#if FW_ENABLE_TEXT_LOGGING
2157 if (this->m_LogText_OutputPort[0].isConnected()) {
2158#if FW_OBJECT_NAMES == 1
2159 const char* _formatString =
2160 "(%s) %s: Loaded sequence %s";
2162 const char* _formatString =
2163 "%s: Loaded sequence %s";
2170 this->m_objName.toChar(),
2172 "CS_SequenceLoaded ",
2176 this->m_LogText_OutputPort[0].invoke(
2186 void CmdSequencerComponentBase ::
2187 log_ACTIVITY_HI_CS_SequenceCanceled(
const Fw::StringBase& fileName)
const
2191 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2192 this->m_timeCaller_OutputPort[0].invoke(_logTime);
2197 _id = this->getIdBase() + EVENTID_CS_SEQUENCECANCELED;
2200 if (this->m_logOut_OutputPort[0].isConnected()) {
2204#if FW_AMPCS_COMPATIBLE
2219 this->m_logOut_OutputPort[0].invoke(
2228#if FW_ENABLE_TEXT_LOGGING
2229 if (this->m_LogText_OutputPort[0].isConnected()) {
2230#if FW_OBJECT_NAMES == 1
2231 const char* _formatString =
2232 "(%s) %s: Sequence file %s canceled";
2234 const char* _formatString =
2235 "%s: Sequence file %s canceled";
2242 this->m_objName.toChar(),
2244 "CS_SequenceCanceled ",
2248 this->m_LogText_OutputPort[0].invoke(
2258 void CmdSequencerComponentBase ::
2259 log_WARNING_HI_CS_FileReadError(
const Fw::StringBase& fileName)
const
2263 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2264 this->m_timeCaller_OutputPort[0].invoke(_logTime);
2269 _id = this->getIdBase() + EVENTID_CS_FILEREADERROR;
2272 if (this->m_logOut_OutputPort[0].isConnected()) {
2276#if FW_AMPCS_COMPATIBLE
2291 this->m_logOut_OutputPort[0].invoke(
2300#if FW_ENABLE_TEXT_LOGGING
2301 if (this->m_LogText_OutputPort[0].isConnected()) {
2302#if FW_OBJECT_NAMES == 1
2303 const char* _formatString =
2304 "(%s) %s: Error reading sequence file %s";
2306 const char* _formatString =
2307 "%s: Error reading sequence file %s";
2314 this->m_objName.toChar(),
2316 "CS_FileReadError ",
2320 this->m_LogText_OutputPort[0].invoke(
2330 void CmdSequencerComponentBase ::
2331 log_WARNING_HI_CS_FileInvalid(
2339 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2340 this->m_timeCaller_OutputPort[0].invoke(_logTime);
2345 _id = this->getIdBase() + EVENTID_CS_FILEINVALID;
2348 if (this->m_logOut_OutputPort[0].isConnected()) {
2352#if FW_AMPCS_COMPATIBLE
2367#if FW_AMPCS_COMPATIBLE
2383#if FW_AMPCS_COMPATIBLE
2386 static_cast<U8>(
sizeof(I32))
2399 this->m_logOut_OutputPort[0].invoke(
2408#if FW_ENABLE_TEXT_LOGGING
2409 if (this->m_LogText_OutputPort[0].isConnected()) {
2410#if FW_OBJECT_NAMES == 1
2411 const char* _formatString =
2412 "(%s) %s: Sequence file %s invalid. Stage: %s Error: %" PRIi32
"";
2414 const char* _formatString =
2415 "%s: Sequence file %s invalid. Stage: %s Error: %" PRIi32
"";
2419 stage.toString(stageStr);
2425 this->m_objName.toChar(),
2433 this->m_LogText_OutputPort[0].invoke(
2443 void CmdSequencerComponentBase ::
2444 log_WARNING_HI_CS_RecordInvalid(
2452 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2453 this->m_timeCaller_OutputPort[0].invoke(_logTime);
2458 _id = this->getIdBase() + EVENTID_CS_RECORDINVALID;
2461 if (this->m_logOut_OutputPort[0].isConnected()) {
2465#if FW_AMPCS_COMPATIBLE
2480#if FW_AMPCS_COMPATIBLE
2483 static_cast<U8>(
sizeof(U32))
2490 _status = _logBuff.
serialize(recordNumber);
2496#if FW_AMPCS_COMPATIBLE
2499 static_cast<U8>(
sizeof(I32))
2512 this->m_logOut_OutputPort[0].invoke(
2521#if FW_ENABLE_TEXT_LOGGING
2522 if (this->m_LogText_OutputPort[0].isConnected()) {
2523#if FW_OBJECT_NAMES == 1
2524 const char* _formatString =
2525 "(%s) %s: Sequence file %s: Record %" PRIu32
" invalid. Err: %" PRIi32
"";
2527 const char* _formatString =
2528 "%s: Sequence file %s: Record %" PRIu32
" invalid. Err: %" PRIi32
"";
2535 this->m_objName.toChar(),
2537 "CS_RecordInvalid ",
2543 this->m_LogText_OutputPort[0].invoke(
2553 void CmdSequencerComponentBase ::
2554 log_WARNING_HI_CS_FileSizeError(
2561 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2562 this->m_timeCaller_OutputPort[0].invoke(_logTime);
2567 _id = this->getIdBase() + EVENTID_CS_FILESIZEERROR;
2570 if (this->m_logOut_OutputPort[0].isConnected()) {
2574#if FW_AMPCS_COMPATIBLE
2589#if FW_AMPCS_COMPATIBLE
2592 static_cast<U8>(
sizeof(U32))
2605 this->m_logOut_OutputPort[0].invoke(
2614#if FW_ENABLE_TEXT_LOGGING
2615 if (this->m_LogText_OutputPort[0].isConnected()) {
2616#if FW_OBJECT_NAMES == 1
2617 const char* _formatString =
2618 "(%s) %s: Sequence file %s too large. Size: %" PRIu32
"";
2620 const char* _formatString =
2621 "%s: Sequence file %s too large. Size: %" PRIu32
"";
2628 this->m_objName.toChar(),
2630 "CS_FileSizeError ",
2635 this->m_LogText_OutputPort[0].invoke(
2645 void CmdSequencerComponentBase ::
2646 log_WARNING_HI_CS_FileNotFound(
const Fw::StringBase& fileName)
const
2650 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2651 this->m_timeCaller_OutputPort[0].invoke(_logTime);
2656 _id = this->getIdBase() + EVENTID_CS_FILENOTFOUND;
2659 if (this->m_logOut_OutputPort[0].isConnected()) {
2663#if FW_AMPCS_COMPATIBLE
2678 this->m_logOut_OutputPort[0].invoke(
2687#if FW_ENABLE_TEXT_LOGGING
2688 if (this->m_LogText_OutputPort[0].isConnected()) {
2689#if FW_OBJECT_NAMES == 1
2690 const char* _formatString =
2691 "(%s) %s: Sequence file %s not found.";
2693 const char* _formatString =
2694 "%s: Sequence file %s not found.";
2701 this->m_objName.toChar(),
2707 this->m_LogText_OutputPort[0].invoke(
2717 void CmdSequencerComponentBase ::
2718 log_WARNING_HI_CS_FileCrcFailure(
2726 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2727 this->m_timeCaller_OutputPort[0].invoke(_logTime);
2732 _id = this->getIdBase() + EVENTID_CS_FILECRCFAILURE;
2735 if (this->m_logOut_OutputPort[0].isConnected()) {
2739#if FW_AMPCS_COMPATIBLE
2754#if FW_AMPCS_COMPATIBLE
2757 static_cast<U8>(
sizeof(U32))
2764 _status = _logBuff.
serialize(storedCRC);
2770#if FW_AMPCS_COMPATIBLE
2773 static_cast<U8>(
sizeof(U32))
2780 _status = _logBuff.
serialize(computedCRC);
2786 this->m_logOut_OutputPort[0].invoke(
2795#if FW_ENABLE_TEXT_LOGGING
2796 if (this->m_LogText_OutputPort[0].isConnected()) {
2797#if FW_OBJECT_NAMES == 1
2798 const char* _formatString =
2799 "(%s) %s: Sequence file %s had invalid CRC. Stored 0x%" PRIx32
", Computed 0x%" PRIx32
".";
2801 const char* _formatString =
2802 "%s: Sequence file %s had invalid CRC. Stored 0x%" PRIx32
", Computed 0x%" PRIx32
".";
2809 this->m_objName.toChar(),
2811 "CS_FileCrcFailure ",
2817 this->m_LogText_OutputPort[0].invoke(
2827 void CmdSequencerComponentBase ::
2828 log_ACTIVITY_LO_CS_CommandComplete(
2836 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2837 this->m_timeCaller_OutputPort[0].invoke(_logTime);
2842 _id = this->getIdBase() + EVENTID_CS_COMMANDCOMPLETE;
2845 if (this->m_logOut_OutputPort[0].isConnected()) {
2849#if FW_AMPCS_COMPATIBLE
2864#if FW_AMPCS_COMPATIBLE
2867 static_cast<U8>(
sizeof(U32))
2874 _status = _logBuff.
serialize(recordNumber);
2880#if FW_AMPCS_COMPATIBLE
2883 static_cast<U8>(
sizeof(U32))
2896 this->m_logOut_OutputPort[0].invoke(
2905#if FW_ENABLE_TEXT_LOGGING
2906 if (this->m_LogText_OutputPort[0].isConnected()) {
2907#if FW_OBJECT_NAMES == 1
2908 const char* _formatString =
2909 "(%s) %s: Sequence file %s: Command %" PRIu32
" (opcode %" PRIu32
") complete";
2911 const char* _formatString =
2912 "%s: Sequence file %s: Command %" PRIu32
" (opcode %" PRIu32
") complete";
2919 this->m_objName.toChar(),
2921 "CS_CommandComplete ",
2927 this->m_LogText_OutputPort[0].invoke(
2937 void CmdSequencerComponentBase ::
2938 log_ACTIVITY_HI_CS_SequenceComplete(
const Fw::StringBase& fileName)
const
2942 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2943 this->m_timeCaller_OutputPort[0].invoke(_logTime);
2948 _id = this->getIdBase() + EVENTID_CS_SEQUENCECOMPLETE;
2951 if (this->m_logOut_OutputPort[0].isConnected()) {
2955#if FW_AMPCS_COMPATIBLE
2970 this->m_logOut_OutputPort[0].invoke(
2979#if FW_ENABLE_TEXT_LOGGING
2980 if (this->m_LogText_OutputPort[0].isConnected()) {
2981#if FW_OBJECT_NAMES == 1
2982 const char* _formatString =
2983 "(%s) %s: Sequence file %s complete";
2985 const char* _formatString =
2986 "%s: Sequence file %s complete";
2993 this->m_objName.toChar(),
2995 "CS_SequenceComplete ",
2999 this->m_LogText_OutputPort[0].invoke(
3009 void CmdSequencerComponentBase ::
3010 log_WARNING_HI_CS_CommandError(
3019 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3020 this->m_timeCaller_OutputPort[0].invoke(_logTime);
3025 _id = this->getIdBase() + EVENTID_CS_COMMANDERROR;
3028 if (this->m_logOut_OutputPort[0].isConnected()) {
3032#if FW_AMPCS_COMPATIBLE
3047#if FW_AMPCS_COMPATIBLE
3050 static_cast<U8>(
sizeof(U32))
3057 _status = _logBuff.
serialize(recordNumber);
3063#if FW_AMPCS_COMPATIBLE
3066 static_cast<U8>(
sizeof(U32))
3079#if FW_AMPCS_COMPATIBLE
3082 static_cast<U8>(
sizeof(U32))
3089 _status = _logBuff.
serialize(errorStatus);
3095 this->m_logOut_OutputPort[0].invoke(
3104#if FW_ENABLE_TEXT_LOGGING
3105 if (this->m_LogText_OutputPort[0].isConnected()) {
3106#if FW_OBJECT_NAMES == 1
3107 const char* _formatString =
3108 "(%s) %s: Sequence file %s: Command %" PRIu32
" (opcode %" PRIu32
") completed with error %" PRIu32
"";
3110 const char* _formatString =
3111 "%s: Sequence file %s: Command %" PRIu32
" (opcode %" PRIu32
") completed with error %" PRIu32
"";
3118 this->m_objName.toChar(),
3127 this->m_LogText_OutputPort[0].invoke(
3137 void CmdSequencerComponentBase ::
3138 log_WARNING_HI_CS_InvalidMode()
const
3142 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3143 this->m_timeCaller_OutputPort[0].invoke(_logTime);
3148 _id = this->getIdBase() + EVENTID_CS_INVALIDMODE;
3151 if (this->m_logOut_OutputPort[0].isConnected()) {
3154#if FW_AMPCS_COMPATIBLE
3164 this->m_logOut_OutputPort[0].invoke(
3173#if FW_ENABLE_TEXT_LOGGING
3174 if (this->m_LogText_OutputPort[0].isConnected()) {
3175#if FW_OBJECT_NAMES == 1
3176 const char* _formatString =
3177 "(%s) %s: Invalid mode";
3179 const char* _formatString =
3187 this->m_objName.toChar(),
3192 this->m_LogText_OutputPort[0].invoke(
3202 void CmdSequencerComponentBase ::
3203 log_WARNING_HI_CS_RecordMismatch(
3211 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3212 this->m_timeCaller_OutputPort[0].invoke(_logTime);
3217 _id = this->getIdBase() + EVENTID_CS_RECORDMISMATCH;
3220 if (this->m_logOut_OutputPort[0].isConnected()) {
3224#if FW_AMPCS_COMPATIBLE
3239#if FW_AMPCS_COMPATIBLE
3242 static_cast<U8>(
sizeof(U32))
3249 _status = _logBuff.
serialize(header_records);
3255#if FW_AMPCS_COMPATIBLE
3258 static_cast<U8>(
sizeof(U32))
3265 _status = _logBuff.
serialize(extra_bytes);
3271 this->m_logOut_OutputPort[0].invoke(
3280#if FW_ENABLE_TEXT_LOGGING
3281 if (this->m_LogText_OutputPort[0].isConnected()) {
3282#if FW_OBJECT_NAMES == 1
3283 const char* _formatString =
3284 "(%s) %s: Sequence file %s header records mismatch: %" PRIu32
" in header, found %" PRIu32
" extra bytes.";
3286 const char* _formatString =
3287 "%s: Sequence file %s header records mismatch: %" PRIu32
" in header, found %" PRIu32
" extra bytes.";
3294 this->m_objName.toChar(),
3296 "CS_RecordMismatch ",
3302 this->m_LogText_OutputPort[0].invoke(
3312 void CmdSequencerComponentBase ::
3313 log_WARNING_HI_CS_TimeBaseMismatch(
3321 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3322 this->m_timeCaller_OutputPort[0].invoke(_logTime);
3327 _id = this->getIdBase() + EVENTID_CS_TIMEBASEMISMATCH;
3330 if (this->m_logOut_OutputPort[0].isConnected()) {
3334#if FW_AMPCS_COMPATIBLE
3349#if FW_AMPCS_COMPATIBLE
3352 static_cast<U8>(
sizeof(U16))
3359 _status = _logBuff.
serialize(time_base);
3365#if FW_AMPCS_COMPATIBLE
3368 static_cast<U8>(
sizeof(U16))
3375 _status = _logBuff.
serialize(seq_time_base);
3381 this->m_logOut_OutputPort[0].invoke(
3390#if FW_ENABLE_TEXT_LOGGING
3391 if (this->m_LogText_OutputPort[0].isConnected()) {
3392#if FW_OBJECT_NAMES == 1
3393 const char* _formatString =
3394 "(%s) %s: Sequence file %s: Current time base doesn't match sequence time: base: %" PRIu16
" seq: %" PRIu16
"";
3396 const char* _formatString =
3397 "%s: Sequence file %s: Current time base doesn't match sequence time: base: %" PRIu16
" seq: %" PRIu16
"";
3404 this->m_objName.toChar(),
3406 "CS_TimeBaseMismatch ",
3412 this->m_LogText_OutputPort[0].invoke(
3422 void CmdSequencerComponentBase ::
3423 log_WARNING_HI_CS_TimeContextMismatch(
3431 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3432 this->m_timeCaller_OutputPort[0].invoke(_logTime);
3437 _id = this->getIdBase() + EVENTID_CS_TIMECONTEXTMISMATCH;
3440 if (this->m_logOut_OutputPort[0].isConnected()) {
3444#if FW_AMPCS_COMPATIBLE
3459#if FW_AMPCS_COMPATIBLE
3462 static_cast<U8>(
sizeof(
U8))
3469 _status = _logBuff.
serialize(currTimeBase);
3475#if FW_AMPCS_COMPATIBLE
3478 static_cast<U8>(
sizeof(
U8))
3485 _status = _logBuff.
serialize(seqTimeBase);
3491 this->m_logOut_OutputPort[0].invoke(
3500#if FW_ENABLE_TEXT_LOGGING
3501 if (this->m_LogText_OutputPort[0].isConnected()) {
3502#if FW_OBJECT_NAMES == 1
3503 const char* _formatString =
3504 "(%s) %s: Sequence file %s: Current time context doesn't match sequence context: base: %" PRIu8
" seq: %" PRIu8
"";
3506 const char* _formatString =
3507 "%s: Sequence file %s: Current time context doesn't match sequence context: base: %" PRIu8
" seq: %" PRIu8
"";
3514 this->m_objName.toChar(),
3516 "CS_TimeContextMismatch ",
3522 this->m_LogText_OutputPort[0].invoke(
3532 void CmdSequencerComponentBase ::
3533 log_ACTIVITY_HI_CS_PortSequenceStarted(
const Fw::StringBase& filename)
const
3537 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3538 this->m_timeCaller_OutputPort[0].invoke(_logTime);
3543 _id = this->getIdBase() + EVENTID_CS_PORTSEQUENCESTARTED;
3546 if (this->m_logOut_OutputPort[0].isConnected()) {
3550#if FW_AMPCS_COMPATIBLE
3565 this->m_logOut_OutputPort[0].invoke(
3574#if FW_ENABLE_TEXT_LOGGING
3575 if (this->m_LogText_OutputPort[0].isConnected()) {
3576#if FW_OBJECT_NAMES == 1
3577 const char* _formatString =
3578 "(%s) %s: Local request for sequence %s started.";
3580 const char* _formatString =
3581 "%s: Local request for sequence %s started.";
3588 this->m_objName.toChar(),
3590 "CS_PortSequenceStarted ",
3594 this->m_LogText_OutputPort[0].invoke(
3604 void CmdSequencerComponentBase ::
3605 log_WARNING_HI_CS_UnexpectedCompletion(U32 opcode)
const
3609 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3610 this->m_timeCaller_OutputPort[0].invoke(_logTime);
3615 _id = this->getIdBase() + EVENTID_CS_UNEXPECTEDCOMPLETION;
3618 if (this->m_logOut_OutputPort[0].isConnected()) {
3622#if FW_AMPCS_COMPATIBLE
3631#if FW_AMPCS_COMPATIBLE
3634 static_cast<U8>(
sizeof(U32))
3647 this->m_logOut_OutputPort[0].invoke(
3656#if FW_ENABLE_TEXT_LOGGING
3657 if (this->m_LogText_OutputPort[0].isConnected()) {
3658#if FW_OBJECT_NAMES == 1
3659 const char* _formatString =
3660 "(%s) %s: Command complete status received while no sequences active. Opcode: %" PRIu32
"";
3662 const char* _formatString =
3663 "%s: Command complete status received while no sequences active. Opcode: %" PRIu32
"";
3670 this->m_objName.toChar(),
3672 "CS_UnexpectedCompletion ",
3676 this->m_LogText_OutputPort[0].invoke(
3686 void CmdSequencerComponentBase ::
3691 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3692 this->m_timeCaller_OutputPort[0].invoke(_logTime);
3697 _id = this->getIdBase() + EVENTID_CS_MODESWITCHED;
3700 if (this->m_logOut_OutputPort[0].isConnected()) {
3704#if FW_AMPCS_COMPATIBLE
3713#if FW_AMPCS_COMPATIBLE
3729 this->m_logOut_OutputPort[0].invoke(
3738#if FW_ENABLE_TEXT_LOGGING
3739 if (this->m_LogText_OutputPort[0].isConnected()) {
3740#if FW_OBJECT_NAMES == 1
3741 const char* _formatString =
3742 "(%s) %s: Sequencer switched to %s step mode";
3744 const char* _formatString =
3745 "%s: Sequencer switched to %s step mode";
3749 mode.toString(modeStr);
3755 this->m_objName.toChar(),
3761 this->m_LogText_OutputPort[0].invoke(
3771 void CmdSequencerComponentBase ::
3772 log_WARNING_LO_CS_NoSequenceActive()
const
3776 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3777 this->m_timeCaller_OutputPort[0].invoke(_logTime);
3782 _id = this->getIdBase() + EVENTID_CS_NOSEQUENCEACTIVE;
3785 if (this->m_logOut_OutputPort[0].isConnected()) {
3788#if FW_AMPCS_COMPATIBLE
3798 this->m_logOut_OutputPort[0].invoke(
3807#if FW_ENABLE_TEXT_LOGGING
3808 if (this->m_LogText_OutputPort[0].isConnected()) {
3809#if FW_OBJECT_NAMES == 1
3810 const char* _formatString =
3811 "(%s) %s: No sequence active.";
3813 const char* _formatString =
3814 "%s: No sequence active.";
3821 this->m_objName.toChar(),
3823 "CS_NoSequenceActive "
3826 this->m_LogText_OutputPort[0].invoke(
3836 void CmdSequencerComponentBase ::
3837 log_ACTIVITY_HI_CS_SequenceValid(
const Fw::StringBase& filename)
const
3841 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3842 this->m_timeCaller_OutputPort[0].invoke(_logTime);
3847 _id = this->getIdBase() + EVENTID_CS_SEQUENCEVALID;
3850 if (this->m_logOut_OutputPort[0].isConnected()) {
3854#if FW_AMPCS_COMPATIBLE
3869 this->m_logOut_OutputPort[0].invoke(
3878#if FW_ENABLE_TEXT_LOGGING
3879 if (this->m_LogText_OutputPort[0].isConnected()) {
3880#if FW_OBJECT_NAMES == 1
3881 const char* _formatString =
3882 "(%s) %s: Sequence %s is valid.";
3884 const char* _formatString =
3885 "%s: Sequence %s is valid.";
3892 this->m_objName.toChar(),
3894 "CS_SequenceValid ",
3898 this->m_LogText_OutputPort[0].invoke(
3908 void CmdSequencerComponentBase ::
3909 log_WARNING_HI_CS_SequenceTimeout(
3916 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3917 this->m_timeCaller_OutputPort[0].invoke(_logTime);
3922 _id = this->getIdBase() + EVENTID_CS_SEQUENCETIMEOUT;
3925 if (this->m_logOut_OutputPort[0].isConnected()) {
3929#if FW_AMPCS_COMPATIBLE
3944#if FW_AMPCS_COMPATIBLE
3947 static_cast<U8>(
sizeof(U32))
3960 this->m_logOut_OutputPort[0].invoke(
3969#if FW_ENABLE_TEXT_LOGGING
3970 if (this->m_LogText_OutputPort[0].isConnected()) {
3971#if FW_OBJECT_NAMES == 1
3972 const char* _formatString =
3973 "(%s) %s: Sequence %s timed out on command %" PRIu32
"";
3975 const char* _formatString =
3976 "%s: Sequence %s timed out on command %" PRIu32
"";
3983 this->m_objName.toChar(),
3985 "CS_SequenceTimeout ",
3990 this->m_LogText_OutputPort[0].invoke(
4000 void CmdSequencerComponentBase ::
4001 log_ACTIVITY_HI_CS_CmdStepped(
4008 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4009 this->m_timeCaller_OutputPort[0].invoke(_logTime);
4014 _id = this->getIdBase() + EVENTID_CS_CMDSTEPPED;
4017 if (this->m_logOut_OutputPort[0].isConnected()) {
4021#if FW_AMPCS_COMPATIBLE
4036#if FW_AMPCS_COMPATIBLE
4039 static_cast<U8>(
sizeof(U32))
4052 this->m_logOut_OutputPort[0].invoke(
4061#if FW_ENABLE_TEXT_LOGGING
4062 if (this->m_LogText_OutputPort[0].isConnected()) {
4063#if FW_OBJECT_NAMES == 1
4064 const char* _formatString =
4065 "(%s) %s: Sequence %s command %" PRIu32
" stepped";
4067 const char* _formatString =
4068 "%s: Sequence %s command %" PRIu32
" stepped";
4075 this->m_objName.toChar(),
4082 this->m_LogText_OutputPort[0].invoke(
4092 void CmdSequencerComponentBase ::
4093 log_ACTIVITY_HI_CS_CmdStarted(
const Fw::StringBase& filename)
const
4097 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4098 this->m_timeCaller_OutputPort[0].invoke(_logTime);
4103 _id = this->getIdBase() + EVENTID_CS_CMDSTARTED;
4106 if (this->m_logOut_OutputPort[0].isConnected()) {
4110#if FW_AMPCS_COMPATIBLE
4125 this->m_logOut_OutputPort[0].invoke(
4134#if FW_ENABLE_TEXT_LOGGING
4135 if (this->m_LogText_OutputPort[0].isConnected()) {
4136#if FW_OBJECT_NAMES == 1
4137 const char* _formatString =
4138 "(%s) %s: Sequence %s started";
4140 const char* _formatString =
4141 "%s: Sequence %s started";
4148 this->m_objName.toChar(),
4154 this->m_LogText_OutputPort[0].invoke(
4164 void CmdSequencerComponentBase ::
4165 log_ACTIVITY_HI_CS_JoinWaiting(
4173 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4174 this->m_timeCaller_OutputPort[0].invoke(_logTime);
4179 _id = this->getIdBase() + EVENTID_CS_JOINWAITING;
4182 if (this->m_logOut_OutputPort[0].isConnected()) {
4186#if FW_AMPCS_COMPATIBLE
4201#if FW_AMPCS_COMPATIBLE
4204 static_cast<U8>(
sizeof(U32))
4211 _status = _logBuff.
serialize(recordNumber);
4217#if FW_AMPCS_COMPATIBLE
4220 static_cast<U8>(
sizeof(U32))
4233 this->m_logOut_OutputPort[0].invoke(
4242#if FW_ENABLE_TEXT_LOGGING
4243 if (this->m_LogText_OutputPort[0].isConnected()) {
4244#if FW_OBJECT_NAMES == 1
4245 const char* _formatString =
4246 "(%s) %s: Start waiting for sequence file %s: Command %" PRIu32
" (opcode %" PRIu32
") to complete";
4248 const char* _formatString =
4249 "%s: Start waiting for sequence file %s: Command %" PRIu32
" (opcode %" PRIu32
") to complete";
4256 this->m_objName.toChar(),
4264 this->m_LogText_OutputPort[0].invoke(
4274 void CmdSequencerComponentBase ::
4275 log_WARNING_HI_CS_JoinWaitingNotComplete()
const
4279 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4280 this->m_timeCaller_OutputPort[0].invoke(_logTime);
4285 _id = this->getIdBase() + EVENTID_CS_JOINWAITINGNOTCOMPLETE;
4288 if (this->m_logOut_OutputPort[0].isConnected()) {
4291#if FW_AMPCS_COMPATIBLE
4301 this->m_logOut_OutputPort[0].invoke(
4310#if FW_ENABLE_TEXT_LOGGING
4311 if (this->m_LogText_OutputPort[0].isConnected()) {
4312#if FW_OBJECT_NAMES == 1
4313 const char* _formatString =
4314 "(%s) %s: Still waiting for sequence file to complete";
4316 const char* _formatString =
4317 "%s: Still waiting for sequence file to complete";
4324 this->m_objName.toChar(),
4326 "CS_JoinWaitingNotComplete "
4329 this->m_LogText_OutputPort[0].invoke(
4339 void CmdSequencerComponentBase ::
4340 log_WARNING_LO_CS_NoRecords(
const Fw::StringBase& fileName)
const
4344 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4345 this->m_timeCaller_OutputPort[0].invoke(_logTime);
4350 _id = this->getIdBase() + EVENTID_CS_NORECORDS;
4353 if (this->m_logOut_OutputPort[0].isConnected()) {
4357#if FW_AMPCS_COMPATIBLE
4372 this->m_logOut_OutputPort[0].invoke(
4381#if FW_ENABLE_TEXT_LOGGING
4382 if (this->m_LogText_OutputPort[0].isConnected()) {
4383#if FW_OBJECT_NAMES == 1
4384 const char* _formatString =
4385 "(%s) %s: Sequence file %s has no records. Ignoring.";
4387 const char* _formatString =
4388 "%s: Sequence file %s has no records. Ignoring.";
4395 this->m_objName.toChar(),
4401 this->m_LogText_OutputPort[0].invoke(
4415 void CmdSequencerComponentBase ::
4416 tlmWrite_CS_LoadCommands(
4421 if (this->m_tlmOut_OutputPort[0].isConnected()) {
4423 this->m_timeCaller_OutputPort[0].isConnected() &&
4426 this->m_timeCaller_OutputPort[0].invoke(_tlmTime);
4438 _id = this->getIdBase() + CHANNELID_CS_LOADCOMMANDS;
4440 this->m_tlmOut_OutputPort[0].invoke(
4448 void CmdSequencerComponentBase ::
4449 tlmWrite_CS_CancelCommands(
4454 if (this->m_tlmOut_OutputPort[0].isConnected()) {
4456 this->m_timeCaller_OutputPort[0].isConnected() &&
4459 this->m_timeCaller_OutputPort[0].invoke(_tlmTime);
4471 _id = this->getIdBase() + CHANNELID_CS_CANCELCOMMANDS;
4473 this->m_tlmOut_OutputPort[0].invoke(
4481 void CmdSequencerComponentBase ::
4487 if (this->m_tlmOut_OutputPort[0].isConnected()) {
4489 this->m_timeCaller_OutputPort[0].isConnected() &&
4492 this->m_timeCaller_OutputPort[0].invoke(_tlmTime);
4504 _id = this->getIdBase() + CHANNELID_CS_ERRORS;
4506 this->m_tlmOut_OutputPort[0].invoke(
4514 void CmdSequencerComponentBase ::
4515 tlmWrite_CS_CommandsExecuted(
4520 if (this->m_tlmOut_OutputPort[0].isConnected()) {
4522 this->m_timeCaller_OutputPort[0].isConnected() &&
4525 this->m_timeCaller_OutputPort[0].invoke(_tlmTime);
4537 _id = this->getIdBase() + CHANNELID_CS_COMMANDSEXECUTED;
4539 this->m_tlmOut_OutputPort[0].invoke(
4547 void CmdSequencerComponentBase ::
4548 tlmWrite_CS_SequencesCompleted(
4553 if (this->m_tlmOut_OutputPort[0].isConnected()) {
4555 this->m_timeCaller_OutputPort[0].isConnected() &&
4558 this->m_timeCaller_OutputPort[0].invoke(_tlmTime);
4570 _id = this->getIdBase() + CHANNELID_CS_SEQUENCESCOMPLETED;
4572 this->m_tlmOut_OutputPort[0].invoke(
4587 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4589 this->m_timeCaller_OutputPort[0].invoke(_time);
4604 ComponentIpcSerializableBuffer msg;
4627 MsgTypeEnum msgType =
static_cast<MsgTypeEnum
>(desMsg);
4629 if (msgType == CMDSEQUENCER_COMPONENT_EXIT) {
4630 return MSG_DISPATCH_EXIT;
4634 deserStatus = msg.deserialize(portNum);
4642 case CMDRESPONSEIN_CMDRESPONSE: {
4645 deserStatus = msg.deserialize(opCode);
4653 deserStatus = msg.deserialize(cmdSeq);
4661 deserStatus = msg.deserialize(response);
4667 this->cmdResponseIn_handler(
4681 deserStatus = msg.deserialize(key);
4687 this->pingIn_handler(
4696 case SCHEDIN_SCHED: {
4699 deserStatus = msg.deserialize(context);
4705 this->schedIn_handler(
4714 case SEQCANCELIN_CMDSEQCANCEL: {
4716 this->seqCancelIn_handler(portNum);
4722 case SEQRUNIN_CMDSEQIN: {
4725 Fw::ExternalString filename(__fprime_ac_filename_buffer,
sizeof __fprime_ac_filename_buffer);
4726 deserStatus = msg.deserialize(filename);
4732 this->seqRunIn_handler(
4744 deserStatus = msg.deserialize(opCode);
4752 deserStatus = msg.deserialize(cmdSeq);
4760 deserStatus = msg.deserialize(args);
4773 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
4774 this->cmdResponse_out(
4788 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
4789 this->cmdResponse_out(
4801#if FW_CMD_CHECK_RESIDUAL
4803 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
4812 this->CS_RUN_cmdHandler(
4822 case CMD_CS_VALIDATE: {
4825 deserStatus = msg.deserialize(opCode);
4833 deserStatus = msg.deserialize(cmdSeq);
4841 deserStatus = msg.deserialize(args);
4854 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
4855 this->cmdResponse_out(
4867#if FW_CMD_CHECK_RESIDUAL
4869 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
4878 this->CS_VALIDATE_cmdHandler(
4887 case CMD_CS_CANCEL: {
4890 deserStatus = msg.deserialize(opCode);
4898 deserStatus = msg.deserialize(cmdSeq);
4906 deserStatus = msg.deserialize(args);
4917#if FW_CMD_CHECK_RESIDUAL
4919 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
4928 this->CS_CANCEL_cmdHandler(opCode, cmdSeq);
4934 case CMD_CS_START: {
4937 deserStatus = msg.deserialize(opCode);
4945 deserStatus = msg.deserialize(cmdSeq);
4953 deserStatus = msg.deserialize(args);
4964#if FW_CMD_CHECK_RESIDUAL
4966 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
4975 this->CS_START_cmdHandler(opCode, cmdSeq);
4984 deserStatus = msg.deserialize(opCode);
4992 deserStatus = msg.deserialize(cmdSeq);
5000 deserStatus = msg.deserialize(args);
5011#if FW_CMD_CHECK_RESIDUAL
5013 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
5022 this->CS_STEP_cmdHandler(opCode, cmdSeq);
5031 deserStatus = msg.deserialize(opCode);
5039 deserStatus = msg.deserialize(cmdSeq);
5047 deserStatus = msg.deserialize(args);
5058#if FW_CMD_CHECK_RESIDUAL
5060 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
5069 this->CS_AUTO_cmdHandler(opCode, cmdSeq);
5075 case CMD_CS_MANUAL: {
5078 deserStatus = msg.deserialize(opCode);
5086 deserStatus = msg.deserialize(cmdSeq);
5094 deserStatus = msg.deserialize(args);
5105#if FW_CMD_CHECK_RESIDUAL
5107 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
5116 this->CS_MANUAL_cmdHandler(opCode, cmdSeq);
5122 case CMD_CS_JOIN_WAIT: {
5125 deserStatus = msg.deserialize(opCode);
5133 deserStatus = msg.deserialize(cmdSeq);
5141 deserStatus = msg.deserialize(args);
5152#if FW_CMD_CHECK_RESIDUAL
5154 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
5163 this->CS_JOIN_WAIT_cmdHandler(opCode, cmdSeq);
5169 return MSG_DISPATCH_ERROR;
5172 return MSG_DISPATCH_OK;
5179 void CmdSequencerComponentBase ::
5189 CmdSequencerComponentBase* compPtr =
static_cast<CmdSequencerComponentBase*
>(callComp);
5191 const U32 idBase = callComp->
getIdBase();
5195 switch (opCode - idBase) {
5196 case OPCODE_CS_RUN: {
5197 compPtr->CS_RUN_cmdHandlerBase(
5205 case OPCODE_CS_VALIDATE: {
5206 compPtr->CS_VALIDATE_cmdHandlerBase(
5214 case OPCODE_CS_CANCEL: {
5215 compPtr->CS_CANCEL_cmdHandlerBase(
5223 case OPCODE_CS_START: {
5224 compPtr->CS_START_cmdHandlerBase(
5232 case OPCODE_CS_STEP: {
5233 compPtr->CS_STEP_cmdHandlerBase(
5241 case OPCODE_CS_AUTO: {
5242 compPtr->CS_AUTO_cmdHandlerBase(
5250 case OPCODE_CS_MANUAL: {
5251 compPtr->CS_MANUAL_cmdHandlerBase(
5259 case OPCODE_CS_JOIN_WAIT: {
5260 compPtr->CS_JOIN_WAIT_cmdHandlerBase(
5274 void CmdSequencerComponentBase ::
5275 m_p_cmdResponseIn_in(
5284 CmdSequencerComponentBase* compPtr =
static_cast<CmdSequencerComponentBase*
>(callComp);
5285 compPtr->cmdResponseIn_handlerBase(
5293 void CmdSequencerComponentBase ::
5301 CmdSequencerComponentBase* compPtr =
static_cast<CmdSequencerComponentBase*
>(callComp);
5302 compPtr->pingIn_handlerBase(
5308 void CmdSequencerComponentBase ::
5316 CmdSequencerComponentBase* compPtr =
static_cast<CmdSequencerComponentBase*
>(callComp);
5317 compPtr->schedIn_handlerBase(
5323 void CmdSequencerComponentBase ::
5330 CmdSequencerComponentBase* compPtr =
static_cast<CmdSequencerComponentBase*
>(callComp);
5331 compPtr->seqCancelIn_handlerBase(portNum);
5334 void CmdSequencerComponentBase ::
5342 CmdSequencerComponentBase* compPtr =
static_cast<CmdSequencerComponentBase*
>(callComp);
5343 compPtr->seqRunIn_handlerBase(
#define FW_MIN(a, b)
MIN macro.
uint8_t U8
8-bit unsigned integer
#define FW_NUM_ARRAY_ELEMENTS(a)
number of elements in an array
#define PRI_PlatformIntType
@ TB_NONE
No time base has been established.
PlatformAssertArgType FwAssertArgType
PlatformSizeType FwSizeType
#define FW_LOG_STRING_MAX_SIZE
Max size of log string parameter type.
PlatformQueuePriorityType FwQueuePriorityType
PlatformIndexType FwIndexType
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects)/*#en...
@ ACTIVE_COMPONENT_EXIT
message to exit active component task
Enum representing a command response.
@ FORMAT_ERROR
Command failed to deserialize.
A string backed by an external buffer.
@ WARNING_HI
A serious but recoverable event.
@ ACTIVITY_HI
Important informational events.
@ WARNING_LO
A less serious but recoverable event.
@ ACTIVITY_LO
Less important informational events.
void init()
Object initializer.
const char * toChar() const
NATIVE_UINT_TYPE SizeType
void resetDeser()
reset deserialization to beginning
Serializable::SizeType getBuffLeft() const
returns how much deserialization buffer is left
SerializeStatus deserialize(U8 &val)
deserialize 8-bit unsigned int
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
void format(const CHAR *formatString,...)
write formatted string to buffer
virtual SerializeStatus serialize(SerializeBufferBase &buffer) const
serialization function
virtual const CHAR * toChar() const =0
static constexpr SizeType BUFFER_SIZE(SizeType maxLength)
Get the size of a null-terminated string buffer.
const char * toChar() const
@ BLOCKING
Message will block until space is available.
@ NONBLOCKING
Message will return with status when space is unavailable.
Status
status returned from the queue send function
@ OP_OK
message sent/received okay
Sequencer blocking state.
The stage of the file read operation.
@ SERIALIZED_SIZE
The size of the serial representation.
@ SERIALIZED_SIZE
The size of the serial representation.
SerializeStatus
forward declaration for string
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.