9 #if FW_ENABLE_TEXT_LOGGING 19 CMDRESPONSEIN_CMDRESPONSE,
22 SEQCANCELIN_CMDSEQCANCEL,
23 SEQDISPATCHIN_FILEDISPATCH,
48 class ComponentIpcSerializableBuffer :
58 MAX_DATA_SIZE =
sizeof(BuffUnion),
60 SERIALIZATION_SIZE = DATA_OFFSET + MAX_DATA_SIZE
64 return sizeof(m_buff);
71 const U8* getBuffAddr()
const {
77 U8 m_buff[SERIALIZATION_SIZE];
101 this->m_cmdIn_InputPort[port].
init();
106 this->m_cmdIn_InputPort[port].
setPortNum(port);
108 #if FW_OBJECT_NAMES == 1 112 this->m_objName.toChar(),
115 this->m_cmdIn_InputPort[port].setObjName(portName.
toChar());
125 this->m_cmdResponseIn_InputPort[port].
init();
130 this->m_cmdResponseIn_InputPort[port].
setPortNum(port);
132 #if FW_OBJECT_NAMES == 1 136 this->m_objName.toChar(),
139 this->m_cmdResponseIn_InputPort[port].setObjName(portName.
toChar());
149 this->m_pingIn_InputPort[port].
init();
154 this->m_pingIn_InputPort[port].
setPortNum(port);
156 #if FW_OBJECT_NAMES == 1 160 this->m_objName.toChar(),
163 this->m_pingIn_InputPort[port].setObjName(portName.
toChar());
173 this->m_schedIn_InputPort[port].
init();
178 this->m_schedIn_InputPort[port].
setPortNum(port);
180 #if FW_OBJECT_NAMES == 1 184 this->m_objName.toChar(),
187 this->m_schedIn_InputPort[port].setObjName(portName.
toChar());
197 this->m_seqCancelIn_InputPort[port].
init();
202 this->m_seqCancelIn_InputPort[port].
setPortNum(port);
204 #if FW_OBJECT_NAMES == 1 208 this->m_objName.toChar(),
211 this->m_seqCancelIn_InputPort[port].setObjName(portName.
toChar());
221 this->m_seqDispatchIn_InputPort[port].
init();
226 this->m_seqDispatchIn_InputPort[port].
setPortNum(port);
228 #if FW_OBJECT_NAMES == 1 232 this->m_objName.toChar(),
235 this->m_seqDispatchIn_InputPort[port].setObjName(portName.
toChar());
245 this->m_seqRunIn_InputPort[port].
init();
250 this->m_seqRunIn_InputPort[port].
setPortNum(port);
252 #if FW_OBJECT_NAMES == 1 256 this->m_objName.toChar(),
259 this->m_seqRunIn_InputPort[port].setObjName(portName.
toChar());
263 #if FW_ENABLE_TEXT_LOGGING == 1 267 port < static_cast<FwIndexType>(this->getNum_LogText_OutputPorts());
270 this->m_LogText_OutputPort[port].
init();
272 #if FW_OBJECT_NAMES == 1 276 this->m_objName.toChar(),
279 this->m_LogText_OutputPort[port].setObjName(portName.
toChar());
290 this->m_cmdRegOut_OutputPort[port].
init();
292 #if FW_OBJECT_NAMES == 1 296 this->m_objName.toChar(),
299 this->m_cmdRegOut_OutputPort[port].setObjName(portName.
toChar());
309 this->m_cmdResponseOut_OutputPort[port].
init();
311 #if FW_OBJECT_NAMES == 1 315 this->m_objName.toChar(),
318 this->m_cmdResponseOut_OutputPort[port].setObjName(portName.
toChar());
328 this->m_logOut_OutputPort[port].
init();
330 #if FW_OBJECT_NAMES == 1 334 this->m_objName.toChar(),
337 this->m_logOut_OutputPort[port].setObjName(portName.
toChar());
347 this->m_timeCaller_OutputPort[port].
init();
349 #if FW_OBJECT_NAMES == 1 353 this->m_objName.toChar(),
356 this->m_timeCaller_OutputPort[port].setObjName(portName.
toChar());
366 this->m_tlmOut_OutputPort[port].
init();
368 #if FW_OBJECT_NAMES == 1 372 this->m_objName.toChar(),
375 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
385 this->m_comCmdOut_OutputPort[port].
init();
387 #if FW_OBJECT_NAMES == 1 391 this->m_objName.toChar(),
394 this->m_comCmdOut_OutputPort[port].setObjName(portName.
toChar());
404 this->m_pingOut_OutputPort[port].
init();
406 #if FW_OBJECT_NAMES == 1 410 this->m_objName.toChar(),
413 this->m_pingOut_OutputPort[port].setObjName(portName.
toChar());
423 this->m_seqDone_OutputPort[port].
init();
425 #if FW_OBJECT_NAMES == 1 429 this->m_objName.toChar(),
432 this->m_seqDone_OutputPort[port].setObjName(portName.
toChar());
442 this->m_seqStartOut_OutputPort[port].
init();
444 #if FW_OBJECT_NAMES == 1 448 this->m_objName.toChar(),
451 this->m_seqStartOut_OutputPort[port].setObjName(portName.
toChar());
458 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
462 static_cast<FwAssertArgType>(qStat)
475 static_cast<FwAssertArgType>(portNum)
478 return &this->m_cmdIn_InputPort[portNum];
490 static_cast<FwAssertArgType>(portNum)
493 return &this->m_cmdResponseIn_InputPort[portNum];
501 static_cast<FwAssertArgType>(portNum)
504 return &this->m_pingIn_InputPort[portNum];
512 static_cast<FwAssertArgType>(portNum)
515 return &this->m_schedIn_InputPort[portNum];
523 static_cast<FwAssertArgType>(portNum)
526 return &this->m_seqCancelIn_InputPort[portNum];
534 static_cast<FwAssertArgType>(portNum)
537 return &this->m_seqDispatchIn_InputPort[portNum];
545 static_cast<FwAssertArgType>(portNum)
548 return &this->m_seqRunIn_InputPort[portNum];
555 #if FW_ENABLE_TEXT_LOGGING == 1 557 void CmdSequencerComponentBase ::
558 set_LogText_OutputPort(
564 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
565 static_cast<FwAssertArgType>(portNum)
568 this->m_LogText_OutputPort[portNum].addCallPort(port);
581 static_cast<FwAssertArgType>(portNum)
584 this->m_cmdRegOut_OutputPort[portNum].
addCallPort(port);
595 static_cast<FwAssertArgType>(portNum)
598 this->m_cmdResponseOut_OutputPort[portNum].
addCallPort(port);
609 static_cast<FwAssertArgType>(portNum)
612 this->m_logOut_OutputPort[portNum].
addCallPort(port);
623 static_cast<FwAssertArgType>(portNum)
626 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
637 static_cast<FwAssertArgType>(portNum)
640 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
655 static_cast<FwAssertArgType>(portNum)
658 this->m_comCmdOut_OutputPort[portNum].
addCallPort(port);
669 static_cast<FwAssertArgType>(portNum)
672 this->m_pingOut_OutputPort[portNum].
addCallPort(port);
683 static_cast<FwAssertArgType>(portNum)
686 this->m_seqDone_OutputPort[portNum].
addCallPort(port);
697 static_cast<FwAssertArgType>(portNum)
700 this->m_seqStartOut_OutputPort[portNum].
addCallPort(port);
703 #if FW_PORT_SERIALIZATION 709 #if FW_ENABLE_TEXT_LOGGING == 1 711 void CmdSequencerComponentBase ::
712 set_LogText_OutputPort(
714 Fw::InputSerializePort* port
718 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
719 static_cast<FwAssertArgType>(portNum)
722 this->m_LogText_OutputPort[portNum].registerSerialPort(port);
730 Fw::InputSerializePort* port
735 static_cast<FwAssertArgType>(portNum)
738 this->m_cmdRegOut_OutputPort[portNum].registerSerialPort(port);
744 Fw::InputSerializePort* port
749 static_cast<FwAssertArgType>(portNum)
752 this->m_cmdResponseOut_OutputPort[portNum].registerSerialPort(port);
758 Fw::InputSerializePort* port
763 static_cast<FwAssertArgType>(portNum)
766 this->m_logOut_OutputPort[portNum].registerSerialPort(port);
772 Fw::InputSerializePort* port
777 static_cast<FwAssertArgType>(portNum)
780 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
786 Fw::InputSerializePort* port
791 static_cast<FwAssertArgType>(portNum)
794 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
799 #if FW_PORT_SERIALIZATION 808 Fw::InputSerializePort* port
813 static_cast<FwAssertArgType>(portNum)
816 this->m_comCmdOut_OutputPort[portNum].registerSerialPort(port);
822 Fw::InputSerializePort* port
827 static_cast<FwAssertArgType>(portNum)
830 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
836 Fw::InputSerializePort* port
841 static_cast<FwAssertArgType>(portNum)
844 this->m_seqDone_OutputPort[portNum].registerSerialPort(port);
850 Fw::InputSerializePort* port
855 static_cast<FwAssertArgType>(portNum)
858 this->m_seqStartOut_OutputPort[portNum].registerSerialPort(port);
870 FW_ASSERT(this->m_cmdRegOut_OutputPort[0].isConnected());
872 this->m_cmdRegOut_OutputPort[0].
invoke(
876 this->m_cmdRegOut_OutputPort[0].
invoke(
880 this->m_cmdRegOut_OutputPort[0].
invoke(
884 this->m_cmdRegOut_OutputPort[0].
invoke(
888 this->m_cmdRegOut_OutputPort[0].
invoke(
892 this->m_cmdRegOut_OutputPort[0].
invoke(
896 this->m_cmdRegOut_OutputPort[0].
invoke(
900 this->m_cmdRegOut_OutputPort[0].
invoke(
911 Fw::ActiveComponentBase(compName)
926 #if FW_ENABLE_TEXT_LOGGING == 1 928 bool CmdSequencerComponentBase ::
929 isConnected_LogText_OutputPort(
FwIndexType portNum)
932 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
933 static_cast<FwAssertArgType>(portNum)
936 return this->m_LogText_OutputPort[portNum].isConnected();
946 static_cast<FwAssertArgType>(portNum)
949 return this->m_cmdRegOut_OutputPort[portNum].
isConnected();
957 static_cast<FwAssertArgType>(portNum)
960 return this->m_cmdResponseOut_OutputPort[portNum].
isConnected();
968 static_cast<FwAssertArgType>(portNum)
971 return this->m_logOut_OutputPort[portNum].
isConnected();
979 static_cast<FwAssertArgType>(portNum)
982 return this->m_timeCaller_OutputPort[portNum].
isConnected();
990 static_cast<FwAssertArgType>(portNum)
993 return this->m_tlmOut_OutputPort[portNum].
isConnected();
1005 static_cast<FwAssertArgType>(portNum)
1008 return this->m_comCmdOut_OutputPort[portNum].
isConnected();
1016 static_cast<FwAssertArgType>(portNum)
1019 return this->m_pingOut_OutputPort[portNum].
isConnected();
1027 static_cast<FwAssertArgType>(portNum)
1030 return this->m_seqDone_OutputPort[portNum].
isConnected();
1038 static_cast<FwAssertArgType>(portNum)
1041 return this->m_seqStartOut_OutputPort[portNum].
isConnected();
1061 static_cast<FwAssertArgType>(portNum)
1071 ComponentIpcSerializableBuffer msg;
1075 _status = msg.serializeFrom(
1076 static_cast<FwEnumStoreType>(CMDRESPONSEIN_CMDRESPONSE)
1080 static_cast<FwAssertArgType>(_status)
1084 _status = msg.serializeFrom(portNum);
1087 static_cast<FwAssertArgType>(_status)
1091 _status = msg.serializeFrom(opCode);
1094 static_cast<FwAssertArgType>(_status)
1098 _status = msg.serializeFrom(cmdSeq);
1101 static_cast<FwAssertArgType>(_status)
1105 _status = msg.serializeFrom(response);
1108 static_cast<FwAssertArgType>(_status)
1117 static_cast<FwAssertArgType>(qStatus)
1130 static_cast<FwAssertArgType>(portNum)
1138 ComponentIpcSerializableBuffer msg;
1142 _status = msg.serializeFrom(
1143 static_cast<FwEnumStoreType>(PINGIN_PING)
1147 static_cast<FwAssertArgType>(_status)
1151 _status = msg.serializeFrom(portNum);
1154 static_cast<FwAssertArgType>(_status)
1158 _status = msg.serializeFrom(key);
1161 static_cast<FwAssertArgType>(_status)
1170 static_cast<FwAssertArgType>(qStatus)
1183 static_cast<FwAssertArgType>(portNum)
1191 ComponentIpcSerializableBuffer msg;
1195 _status = msg.serializeFrom(
1196 static_cast<FwEnumStoreType>(SCHEDIN_SCHED)
1200 static_cast<FwAssertArgType>(_status)
1204 _status = msg.serializeFrom(portNum);
1207 static_cast<FwAssertArgType>(_status)
1211 _status = msg.serializeFrom(context);
1214 static_cast<FwAssertArgType>(_status)
1223 static_cast<FwAssertArgType>(qStatus)
1233 static_cast<FwAssertArgType>(portNum)
1238 ComponentIpcSerializableBuffer msg;
1242 _status = msg.serializeFrom(
1243 static_cast<FwEnumStoreType>(SEQCANCELIN_CMDSEQCANCEL)
1247 static_cast<FwAssertArgType>(_status)
1251 _status = msg.serializeFrom(portNum);
1254 static_cast<FwAssertArgType>(_status)
1263 static_cast<FwAssertArgType>(qStatus)
1276 static_cast<FwAssertArgType>(portNum)
1284 ComponentIpcSerializableBuffer msg;
1288 _status = msg.serializeFrom(
1289 static_cast<FwEnumStoreType>(SEQDISPATCHIN_FILEDISPATCH)
1293 static_cast<FwAssertArgType>(_status)
1297 _status = msg.serializeFrom(portNum);
1300 static_cast<FwAssertArgType>(_status)
1307 static_cast<FwAssertArgType>(_status)
1316 static_cast<FwAssertArgType>(qStatus)
1329 static_cast<FwAssertArgType>(portNum)
1337 ComponentIpcSerializableBuffer msg;
1341 _status = msg.serializeFrom(
1342 static_cast<FwEnumStoreType>(SEQRUNIN_CMDSEQIN)
1346 static_cast<FwAssertArgType>(_status)
1350 _status = msg.serializeFrom(portNum);
1353 static_cast<FwAssertArgType>(_status)
1360 static_cast<FwAssertArgType>(_status)
1369 static_cast<FwAssertArgType>(qStatus)
1447 static_cast<FwAssertArgType>(portNum)
1451 this->m_comCmdOut_OutputPort[portNum].isConnected(),
1452 static_cast<FwAssertArgType>(portNum)
1454 this->m_comCmdOut_OutputPort[portNum].
invoke(
1468 static_cast<FwAssertArgType>(portNum)
1472 this->m_pingOut_OutputPort[portNum].isConnected(),
1473 static_cast<FwAssertArgType>(portNum)
1475 this->m_pingOut_OutputPort[portNum].
invoke(
1490 static_cast<FwAssertArgType>(portNum)
1494 this->m_seqDone_OutputPort[portNum].isConnected(),
1495 static_cast<FwAssertArgType>(portNum)
1497 this->m_seqDone_OutputPort[portNum].
invoke(
1512 static_cast<FwAssertArgType>(portNum)
1516 this->m_seqStartOut_OutputPort[portNum].isConnected(),
1517 static_cast<FwAssertArgType>(portNum)
1519 this->m_seqStartOut_OutputPort[portNum].
invoke(
1535 FW_ASSERT(this->m_cmdResponseOut_OutputPort[0].isConnected());
1536 this->m_cmdResponseOut_OutputPort[0].
invoke(opCode, cmdSeq, response);
1557 ComponentIpcSerializableBuffer msg;
1561 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CS_RUN));
1564 static_cast<FwAssertArgType>(_status)
1570 _status = msg.serializeFrom(port);
1573 static_cast<FwAssertArgType>(_status)
1576 _status = msg.serializeFrom(opCode);
1579 static_cast<FwAssertArgType>(_status)
1582 _status = msg.serializeFrom(cmdSeq);
1585 static_cast<FwAssertArgType>(_status)
1588 _status = msg.serializeFrom(args);
1591 static_cast<FwAssertArgType>(_status)
1600 static_cast<FwAssertArgType>(qStatus)
1616 ComponentIpcSerializableBuffer msg;
1620 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CS_VALIDATE));
1623 static_cast<FwAssertArgType>(_status)
1629 _status = msg.serializeFrom(port);
1632 static_cast<FwAssertArgType>(_status)
1635 _status = msg.serializeFrom(opCode);
1638 static_cast<FwAssertArgType>(_status)
1641 _status = msg.serializeFrom(cmdSeq);
1644 static_cast<FwAssertArgType>(_status)
1647 _status = msg.serializeFrom(args);
1650 static_cast<FwAssertArgType>(_status)
1659 static_cast<FwAssertArgType>(qStatus)
1675 ComponentIpcSerializableBuffer msg;
1679 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CS_CANCEL));
1682 static_cast<FwAssertArgType>(_status)
1688 _status = msg.serializeFrom(port);
1691 static_cast<FwAssertArgType>(_status)
1694 _status = msg.serializeFrom(opCode);
1697 static_cast<FwAssertArgType>(_status)
1700 _status = msg.serializeFrom(cmdSeq);
1703 static_cast<FwAssertArgType>(_status)
1706 _status = msg.serializeFrom(args);
1709 static_cast<FwAssertArgType>(_status)
1718 static_cast<FwAssertArgType>(qStatus)
1734 ComponentIpcSerializableBuffer msg;
1738 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CS_START));
1741 static_cast<FwAssertArgType>(_status)
1747 _status = msg.serializeFrom(port);
1750 static_cast<FwAssertArgType>(_status)
1753 _status = msg.serializeFrom(opCode);
1756 static_cast<FwAssertArgType>(_status)
1759 _status = msg.serializeFrom(cmdSeq);
1762 static_cast<FwAssertArgType>(_status)
1765 _status = msg.serializeFrom(args);
1768 static_cast<FwAssertArgType>(_status)
1777 static_cast<FwAssertArgType>(qStatus)
1793 ComponentIpcSerializableBuffer msg;
1797 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CS_STEP));
1800 static_cast<FwAssertArgType>(_status)
1806 _status = msg.serializeFrom(port);
1809 static_cast<FwAssertArgType>(_status)
1812 _status = msg.serializeFrom(opCode);
1815 static_cast<FwAssertArgType>(_status)
1818 _status = msg.serializeFrom(cmdSeq);
1821 static_cast<FwAssertArgType>(_status)
1824 _status = msg.serializeFrom(args);
1827 static_cast<FwAssertArgType>(_status)
1836 static_cast<FwAssertArgType>(qStatus)
1852 ComponentIpcSerializableBuffer msg;
1856 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CS_AUTO));
1859 static_cast<FwAssertArgType>(_status)
1865 _status = msg.serializeFrom(port);
1868 static_cast<FwAssertArgType>(_status)
1871 _status = msg.serializeFrom(opCode);
1874 static_cast<FwAssertArgType>(_status)
1877 _status = msg.serializeFrom(cmdSeq);
1880 static_cast<FwAssertArgType>(_status)
1883 _status = msg.serializeFrom(args);
1886 static_cast<FwAssertArgType>(_status)
1895 static_cast<FwAssertArgType>(qStatus)
1911 ComponentIpcSerializableBuffer msg;
1915 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CS_MANUAL));
1918 static_cast<FwAssertArgType>(_status)
1924 _status = msg.serializeFrom(port);
1927 static_cast<FwAssertArgType>(_status)
1930 _status = msg.serializeFrom(opCode);
1933 static_cast<FwAssertArgType>(_status)
1936 _status = msg.serializeFrom(cmdSeq);
1939 static_cast<FwAssertArgType>(_status)
1942 _status = msg.serializeFrom(args);
1945 static_cast<FwAssertArgType>(_status)
1954 static_cast<FwAssertArgType>(qStatus)
1970 ComponentIpcSerializableBuffer msg;
1974 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CS_JOIN_WAIT));
1977 static_cast<FwAssertArgType>(_status)
1983 _status = msg.serializeFrom(port);
1986 static_cast<FwAssertArgType>(_status)
1989 _status = msg.serializeFrom(opCode);
1992 static_cast<FwAssertArgType>(_status)
1995 _status = msg.serializeFrom(cmdSeq);
1998 static_cast<FwAssertArgType>(_status)
2001 _status = msg.serializeFrom(args);
2004 static_cast<FwAssertArgType>(_status)
2013 static_cast<FwAssertArgType>(qStatus)
2122 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2123 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
2131 if (this->m_logOut_OutputPort[0].isConnected()) {
2135 #if FW_AMPCS_COMPATIBLE 2140 static_cast<FwAssertArgType>(_status)
2147 static_cast<FwAssertArgType>(_status)
2150 this->m_logOut_OutputPort[0].
invoke(
2159 #if FW_ENABLE_TEXT_LOGGING 2160 if (this->m_LogText_OutputPort[0].isConnected()) {
2161 #if FW_OBJECT_NAMES == 1 2162 const char* _formatString =
2163 "(%s) %s: Loaded sequence %s";
2165 const char* _formatString =
2166 "%s: Loaded sequence %s";
2173 this->m_objName.toChar(),
2175 "CS_SequenceLoaded ",
2179 this->m_LogText_OutputPort[0].invoke(
2194 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2195 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
2203 if (this->m_logOut_OutputPort[0].isConnected()) {
2207 #if FW_AMPCS_COMPATIBLE 2212 static_cast<FwAssertArgType>(_status)
2219 static_cast<FwAssertArgType>(_status)
2222 this->m_logOut_OutputPort[0].
invoke(
2231 #if FW_ENABLE_TEXT_LOGGING 2232 if (this->m_LogText_OutputPort[0].isConnected()) {
2233 #if FW_OBJECT_NAMES == 1 2234 const char* _formatString =
2235 "(%s) %s: Sequence file %s canceled";
2237 const char* _formatString =
2238 "%s: Sequence file %s canceled";
2245 this->m_objName.toChar(),
2247 "CS_SequenceCanceled ",
2251 this->m_LogText_OutputPort[0].invoke(
2266 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2267 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
2275 if (this->m_logOut_OutputPort[0].isConnected()) {
2279 #if FW_AMPCS_COMPATIBLE 2284 static_cast<FwAssertArgType>(_status)
2291 static_cast<FwAssertArgType>(_status)
2294 this->m_logOut_OutputPort[0].
invoke(
2303 #if FW_ENABLE_TEXT_LOGGING 2304 if (this->m_LogText_OutputPort[0].isConnected()) {
2305 #if FW_OBJECT_NAMES == 1 2306 const char* _formatString =
2307 "(%s) %s: Error reading sequence file %s";
2309 const char* _formatString =
2310 "%s: Error reading sequence file %s";
2317 this->m_objName.toChar(),
2319 "CS_FileReadError ",
2323 this->m_LogText_OutputPort[0].invoke(
2342 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2343 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
2351 if (this->m_logOut_OutputPort[0].isConnected()) {
2355 #if FW_AMPCS_COMPATIBLE 2360 static_cast<FwAssertArgType>(_status)
2367 static_cast<FwAssertArgType>(_status)
2370 #if FW_AMPCS_COMPATIBLE 2377 static_cast<FwAssertArgType>(_status)
2383 static_cast<FwAssertArgType>(_status)
2386 #if FW_AMPCS_COMPATIBLE 2389 static_cast<U8>(
sizeof(I32))
2393 static_cast<FwAssertArgType>(_status)
2399 static_cast<FwAssertArgType>(_status)
2402 this->m_logOut_OutputPort[0].
invoke(
2411 #if FW_ENABLE_TEXT_LOGGING 2412 if (this->m_LogText_OutputPort[0].isConnected()) {
2413 #if FW_OBJECT_NAMES == 1 2414 const char* _formatString =
2415 "(%s) %s: Sequence file %s invalid. Stage: %s Error: %" PRIi32
"";
2417 const char* _formatString =
2418 "%s: Sequence file %s invalid. Stage: %s Error: %" PRIi32
"";
2422 stage.toString(stageStr);
2428 this->m_objName.toChar(),
2436 this->m_LogText_OutputPort[0].invoke(
2455 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2456 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
2464 if (this->m_logOut_OutputPort[0].isConnected()) {
2468 #if FW_AMPCS_COMPATIBLE 2473 static_cast<FwAssertArgType>(_status)
2480 static_cast<FwAssertArgType>(_status)
2483 #if FW_AMPCS_COMPATIBLE 2486 static_cast<U8>(
sizeof(U32))
2490 static_cast<FwAssertArgType>(_status)
2496 static_cast<FwAssertArgType>(_status)
2499 #if FW_AMPCS_COMPATIBLE 2502 static_cast<U8>(
sizeof(I32))
2506 static_cast<FwAssertArgType>(_status)
2512 static_cast<FwAssertArgType>(_status)
2515 this->m_logOut_OutputPort[0].
invoke(
2524 #if FW_ENABLE_TEXT_LOGGING 2525 if (this->m_LogText_OutputPort[0].isConnected()) {
2526 #if FW_OBJECT_NAMES == 1 2527 const char* _formatString =
2528 "(%s) %s: Sequence file %s: Record %" PRIu32
" invalid. Err: %" PRIi32
"";
2530 const char* _formatString =
2531 "%s: Sequence file %s: Record %" PRIu32
" invalid. Err: %" PRIi32
"";
2538 this->m_objName.toChar(),
2540 "CS_RecordInvalid ",
2546 this->m_LogText_OutputPort[0].invoke(
2564 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2565 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
2573 if (this->m_logOut_OutputPort[0].isConnected()) {
2577 #if FW_AMPCS_COMPATIBLE 2582 static_cast<FwAssertArgType>(_status)
2589 static_cast<FwAssertArgType>(_status)
2592 #if FW_AMPCS_COMPATIBLE 2595 static_cast<U8>(
sizeof(U32))
2599 static_cast<FwAssertArgType>(_status)
2605 static_cast<FwAssertArgType>(_status)
2608 this->m_logOut_OutputPort[0].
invoke(
2617 #if FW_ENABLE_TEXT_LOGGING 2618 if (this->m_LogText_OutputPort[0].isConnected()) {
2619 #if FW_OBJECT_NAMES == 1 2620 const char* _formatString =
2621 "(%s) %s: Sequence file %s too large. Size: %" PRIu32
"";
2623 const char* _formatString =
2624 "%s: Sequence file %s too large. Size: %" PRIu32
"";
2631 this->m_objName.toChar(),
2633 "CS_FileSizeError ",
2638 this->m_LogText_OutputPort[0].invoke(
2653 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2654 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
2662 if (this->m_logOut_OutputPort[0].isConnected()) {
2666 #if FW_AMPCS_COMPATIBLE 2671 static_cast<FwAssertArgType>(_status)
2678 static_cast<FwAssertArgType>(_status)
2681 this->m_logOut_OutputPort[0].
invoke(
2690 #if FW_ENABLE_TEXT_LOGGING 2691 if (this->m_LogText_OutputPort[0].isConnected()) {
2692 #if FW_OBJECT_NAMES == 1 2693 const char* _formatString =
2694 "(%s) %s: Sequence file %s not found.";
2696 const char* _formatString =
2697 "%s: Sequence file %s not found.";
2704 this->m_objName.toChar(),
2710 this->m_LogText_OutputPort[0].invoke(
2729 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2730 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
2738 if (this->m_logOut_OutputPort[0].isConnected()) {
2742 #if FW_AMPCS_COMPATIBLE 2747 static_cast<FwAssertArgType>(_status)
2754 static_cast<FwAssertArgType>(_status)
2757 #if FW_AMPCS_COMPATIBLE 2760 static_cast<U8>(
sizeof(U32))
2764 static_cast<FwAssertArgType>(_status)
2770 static_cast<FwAssertArgType>(_status)
2773 #if FW_AMPCS_COMPATIBLE 2776 static_cast<U8>(
sizeof(U32))
2780 static_cast<FwAssertArgType>(_status)
2786 static_cast<FwAssertArgType>(_status)
2789 this->m_logOut_OutputPort[0].
invoke(
2798 #if FW_ENABLE_TEXT_LOGGING 2799 if (this->m_LogText_OutputPort[0].isConnected()) {
2800 #if FW_OBJECT_NAMES == 1 2801 const char* _formatString =
2802 "(%s) %s: Sequence file %s had invalid CRC. Stored 0x%" PRIx32
", Computed 0x%" PRIx32
".";
2804 const char* _formatString =
2805 "%s: Sequence file %s had invalid CRC. Stored 0x%" PRIx32
", Computed 0x%" PRIx32
".";
2812 this->m_objName.toChar(),
2814 "CS_FileCrcFailure ",
2820 this->m_LogText_OutputPort[0].invoke(
2839 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2840 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
2848 if (this->m_logOut_OutputPort[0].isConnected()) {
2852 #if FW_AMPCS_COMPATIBLE 2857 static_cast<FwAssertArgType>(_status)
2864 static_cast<FwAssertArgType>(_status)
2867 #if FW_AMPCS_COMPATIBLE 2870 static_cast<U8>(
sizeof(U32))
2874 static_cast<FwAssertArgType>(_status)
2880 static_cast<FwAssertArgType>(_status)
2883 #if FW_AMPCS_COMPATIBLE 2890 static_cast<FwAssertArgType>(_status)
2896 static_cast<FwAssertArgType>(_status)
2899 this->m_logOut_OutputPort[0].
invoke(
2908 #if FW_ENABLE_TEXT_LOGGING 2909 if (this->m_LogText_OutputPort[0].isConnected()) {
2910 #if FW_OBJECT_NAMES == 1 2911 const char* _formatString =
2912 "(%s) %s: Sequence file %s: Command %" PRIu32
" (opcode %" PRIu32
") complete";
2914 const char* _formatString =
2915 "%s: Sequence file %s: Command %" PRIu32
" (opcode %" PRIu32
") complete";
2922 this->m_objName.toChar(),
2924 "CS_CommandComplete ",
2930 this->m_LogText_OutputPort[0].invoke(
2945 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2946 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
2954 if (this->m_logOut_OutputPort[0].isConnected()) {
2958 #if FW_AMPCS_COMPATIBLE 2963 static_cast<FwAssertArgType>(_status)
2970 static_cast<FwAssertArgType>(_status)
2973 this->m_logOut_OutputPort[0].
invoke(
2982 #if FW_ENABLE_TEXT_LOGGING 2983 if (this->m_LogText_OutputPort[0].isConnected()) {
2984 #if FW_OBJECT_NAMES == 1 2985 const char* _formatString =
2986 "(%s) %s: Sequence file %s complete";
2988 const char* _formatString =
2989 "%s: Sequence file %s complete";
2996 this->m_objName.toChar(),
2998 "CS_SequenceComplete ",
3002 this->m_LogText_OutputPort[0].invoke(
3022 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3023 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
3031 if (this->m_logOut_OutputPort[0].isConnected()) {
3035 #if FW_AMPCS_COMPATIBLE 3040 static_cast<FwAssertArgType>(_status)
3047 static_cast<FwAssertArgType>(_status)
3050 #if FW_AMPCS_COMPATIBLE 3053 static_cast<U8>(
sizeof(U32))
3057 static_cast<FwAssertArgType>(_status)
3063 static_cast<FwAssertArgType>(_status)
3066 #if FW_AMPCS_COMPATIBLE 3073 static_cast<FwAssertArgType>(_status)
3079 static_cast<FwAssertArgType>(_status)
3082 #if FW_AMPCS_COMPATIBLE 3085 static_cast<U8>(
sizeof(U32))
3089 static_cast<FwAssertArgType>(_status)
3095 static_cast<FwAssertArgType>(_status)
3098 this->m_logOut_OutputPort[0].
invoke(
3107 #if FW_ENABLE_TEXT_LOGGING 3108 if (this->m_LogText_OutputPort[0].isConnected()) {
3109 #if FW_OBJECT_NAMES == 1 3110 const char* _formatString =
3111 "(%s) %s: Sequence file %s: Command %" PRIu32
" (opcode %" PRIu32
") completed with error %" PRIu32
"";
3113 const char* _formatString =
3114 "%s: Sequence file %s: Command %" PRIu32
" (opcode %" PRIu32
") completed with error %" PRIu32
"";
3121 this->m_objName.toChar(),
3130 this->m_LogText_OutputPort[0].invoke(
3145 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3146 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
3154 if (this->m_logOut_OutputPort[0].isConnected()) {
3157 #if FW_AMPCS_COMPATIBLE 3163 static_cast<FwAssertArgType>(_status)
3167 this->m_logOut_OutputPort[0].
invoke(
3176 #if FW_ENABLE_TEXT_LOGGING 3177 if (this->m_LogText_OutputPort[0].isConnected()) {
3178 #if FW_OBJECT_NAMES == 1 3179 const char* _formatString =
3180 "(%s) %s: Invalid mode";
3182 const char* _formatString =
3190 this->m_objName.toChar(),
3195 this->m_LogText_OutputPort[0].invoke(
3214 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3215 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
3223 if (this->m_logOut_OutputPort[0].isConnected()) {
3227 #if FW_AMPCS_COMPATIBLE 3232 static_cast<FwAssertArgType>(_status)
3239 static_cast<FwAssertArgType>(_status)
3242 #if FW_AMPCS_COMPATIBLE 3245 static_cast<U8>(
sizeof(U32))
3249 static_cast<FwAssertArgType>(_status)
3255 static_cast<FwAssertArgType>(_status)
3258 #if FW_AMPCS_COMPATIBLE 3261 static_cast<U8>(
sizeof(U32))
3265 static_cast<FwAssertArgType>(_status)
3271 static_cast<FwAssertArgType>(_status)
3274 this->m_logOut_OutputPort[0].
invoke(
3283 #if FW_ENABLE_TEXT_LOGGING 3284 if (this->m_LogText_OutputPort[0].isConnected()) {
3285 #if FW_OBJECT_NAMES == 1 3286 const char* _formatString =
3287 "(%s) %s: Sequence file %s header records mismatch: %" PRIu32
" in header, found %" PRIu32
" extra bytes.";
3289 const char* _formatString =
3290 "%s: Sequence file %s header records mismatch: %" PRIu32
" in header, found %" PRIu32
" extra bytes.";
3297 this->m_objName.toChar(),
3299 "CS_RecordMismatch ",
3305 this->m_LogText_OutputPort[0].invoke(
3324 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3325 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
3333 if (this->m_logOut_OutputPort[0].isConnected()) {
3337 #if FW_AMPCS_COMPATIBLE 3342 static_cast<FwAssertArgType>(_status)
3349 static_cast<FwAssertArgType>(_status)
3352 #if FW_AMPCS_COMPATIBLE 3355 static_cast<U8>(
sizeof(U16))
3359 static_cast<FwAssertArgType>(_status)
3365 static_cast<FwAssertArgType>(_status)
3368 #if FW_AMPCS_COMPATIBLE 3371 static_cast<U8>(
sizeof(U16))
3375 static_cast<FwAssertArgType>(_status)
3381 static_cast<FwAssertArgType>(_status)
3384 this->m_logOut_OutputPort[0].
invoke(
3393 #if FW_ENABLE_TEXT_LOGGING 3394 if (this->m_LogText_OutputPort[0].isConnected()) {
3395 #if FW_OBJECT_NAMES == 1 3396 const char* _formatString =
3397 "(%s) %s: Sequence file %s: Current time base doesn't match sequence time: base: %" PRIu16
" seq: %" PRIu16
"";
3399 const char* _formatString =
3400 "%s: Sequence file %s: Current time base doesn't match sequence time: base: %" PRIu16
" seq: %" PRIu16
"";
3407 this->m_objName.toChar(),
3409 "CS_TimeBaseMismatch ",
3415 this->m_LogText_OutputPort[0].invoke(
3434 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3435 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
3443 if (this->m_logOut_OutputPort[0].isConnected()) {
3447 #if FW_AMPCS_COMPATIBLE 3452 static_cast<FwAssertArgType>(_status)
3459 static_cast<FwAssertArgType>(_status)
3462 #if FW_AMPCS_COMPATIBLE 3465 static_cast<U8>(
sizeof(
U8))
3469 static_cast<FwAssertArgType>(_status)
3475 static_cast<FwAssertArgType>(_status)
3478 #if FW_AMPCS_COMPATIBLE 3481 static_cast<U8>(
sizeof(
U8))
3485 static_cast<FwAssertArgType>(_status)
3491 static_cast<FwAssertArgType>(_status)
3494 this->m_logOut_OutputPort[0].
invoke(
3503 #if FW_ENABLE_TEXT_LOGGING 3504 if (this->m_LogText_OutputPort[0].isConnected()) {
3505 #if FW_OBJECT_NAMES == 1 3506 const char* _formatString =
3507 "(%s) %s: Sequence file %s: Current time context doesn't match sequence context: base: %" PRIu8
" seq: %" PRIu8
"";
3509 const char* _formatString =
3510 "%s: Sequence file %s: Current time context doesn't match sequence context: base: %" PRIu8
" seq: %" PRIu8
"";
3517 this->m_objName.toChar(),
3519 "CS_TimeContextMismatch ",
3525 this->m_LogText_OutputPort[0].invoke(
3540 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3541 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
3549 if (this->m_logOut_OutputPort[0].isConnected()) {
3553 #if FW_AMPCS_COMPATIBLE 3558 static_cast<FwAssertArgType>(_status)
3565 static_cast<FwAssertArgType>(_status)
3568 this->m_logOut_OutputPort[0].
invoke(
3577 #if FW_ENABLE_TEXT_LOGGING 3578 if (this->m_LogText_OutputPort[0].isConnected()) {
3579 #if FW_OBJECT_NAMES == 1 3580 const char* _formatString =
3581 "(%s) %s: Local request for sequence %s started.";
3583 const char* _formatString =
3584 "%s: Local request for sequence %s started.";
3591 this->m_objName.toChar(),
3593 "CS_PortSequenceStarted ",
3597 this->m_LogText_OutputPort[0].invoke(
3612 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3613 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
3621 if (this->m_logOut_OutputPort[0].isConnected()) {
3625 #if FW_AMPCS_COMPATIBLE 3630 static_cast<FwAssertArgType>(_status)
3634 #if FW_AMPCS_COMPATIBLE 3641 static_cast<FwAssertArgType>(_status)
3647 static_cast<FwAssertArgType>(_status)
3650 this->m_logOut_OutputPort[0].
invoke(
3659 #if FW_ENABLE_TEXT_LOGGING 3660 if (this->m_LogText_OutputPort[0].isConnected()) {
3661 #if FW_OBJECT_NAMES == 1 3662 const char* _formatString =
3663 "(%s) %s: Command complete status received while no sequences active. Opcode: %" PRIu32
"";
3665 const char* _formatString =
3666 "%s: Command complete status received while no sequences active. Opcode: %" PRIu32
"";
3673 this->m_objName.toChar(),
3675 "CS_UnexpectedCompletion ",
3679 this->m_LogText_OutputPort[0].invoke(
3694 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3695 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
3703 if (this->m_logOut_OutputPort[0].isConnected()) {
3707 #if FW_AMPCS_COMPATIBLE 3712 static_cast<FwAssertArgType>(_status)
3716 #if FW_AMPCS_COMPATIBLE 3723 static_cast<FwAssertArgType>(_status)
3729 static_cast<FwAssertArgType>(_status)
3732 this->m_logOut_OutputPort[0].
invoke(
3741 #if FW_ENABLE_TEXT_LOGGING 3742 if (this->m_LogText_OutputPort[0].isConnected()) {
3743 #if FW_OBJECT_NAMES == 1 3744 const char* _formatString =
3745 "(%s) %s: Sequencer switched to %s step mode";
3747 const char* _formatString =
3748 "%s: Sequencer switched to %s step mode";
3752 mode.toString(modeStr);
3758 this->m_objName.toChar(),
3764 this->m_LogText_OutputPort[0].invoke(
3779 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3780 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
3788 if (this->m_logOut_OutputPort[0].isConnected()) {
3791 #if FW_AMPCS_COMPATIBLE 3797 static_cast<FwAssertArgType>(_status)
3801 this->m_logOut_OutputPort[0].
invoke(
3810 #if FW_ENABLE_TEXT_LOGGING 3811 if (this->m_LogText_OutputPort[0].isConnected()) {
3812 #if FW_OBJECT_NAMES == 1 3813 const char* _formatString =
3814 "(%s) %s: No sequence active.";
3816 const char* _formatString =
3817 "%s: No sequence active.";
3824 this->m_objName.toChar(),
3826 "CS_NoSequenceActive " 3829 this->m_LogText_OutputPort[0].invoke(
3844 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3845 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
3853 if (this->m_logOut_OutputPort[0].isConnected()) {
3857 #if FW_AMPCS_COMPATIBLE 3862 static_cast<FwAssertArgType>(_status)
3869 static_cast<FwAssertArgType>(_status)
3872 this->m_logOut_OutputPort[0].
invoke(
3881 #if FW_ENABLE_TEXT_LOGGING 3882 if (this->m_LogText_OutputPort[0].isConnected()) {
3883 #if FW_OBJECT_NAMES == 1 3884 const char* _formatString =
3885 "(%s) %s: Sequence %s is valid.";
3887 const char* _formatString =
3888 "%s: Sequence %s is valid.";
3895 this->m_objName.toChar(),
3897 "CS_SequenceValid ",
3901 this->m_LogText_OutputPort[0].invoke(
3919 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3920 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
3928 if (this->m_logOut_OutputPort[0].isConnected()) {
3932 #if FW_AMPCS_COMPATIBLE 3937 static_cast<FwAssertArgType>(_status)
3944 static_cast<FwAssertArgType>(_status)
3947 #if FW_AMPCS_COMPATIBLE 3950 static_cast<U8>(
sizeof(U32))
3954 static_cast<FwAssertArgType>(_status)
3960 static_cast<FwAssertArgType>(_status)
3963 this->m_logOut_OutputPort[0].
invoke(
3972 #if FW_ENABLE_TEXT_LOGGING 3973 if (this->m_LogText_OutputPort[0].isConnected()) {
3974 #if FW_OBJECT_NAMES == 1 3975 const char* _formatString =
3976 "(%s) %s: Sequence %s timed out on command %" PRIu32
"";
3978 const char* _formatString =
3979 "%s: Sequence %s timed out on command %" PRIu32
"";
3986 this->m_objName.toChar(),
3988 "CS_SequenceTimeout ",
3993 this->m_LogText_OutputPort[0].invoke(
4011 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4012 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
4020 if (this->m_logOut_OutputPort[0].isConnected()) {
4024 #if FW_AMPCS_COMPATIBLE 4029 static_cast<FwAssertArgType>(_status)
4036 static_cast<FwAssertArgType>(_status)
4039 #if FW_AMPCS_COMPATIBLE 4042 static_cast<U8>(
sizeof(U32))
4046 static_cast<FwAssertArgType>(_status)
4052 static_cast<FwAssertArgType>(_status)
4055 this->m_logOut_OutputPort[0].
invoke(
4064 #if FW_ENABLE_TEXT_LOGGING 4065 if (this->m_LogText_OutputPort[0].isConnected()) {
4066 #if FW_OBJECT_NAMES == 1 4067 const char* _formatString =
4068 "(%s) %s: Sequence %s command %" PRIu32
" stepped";
4070 const char* _formatString =
4071 "%s: Sequence %s command %" PRIu32
" stepped";
4078 this->m_objName.toChar(),
4085 this->m_LogText_OutputPort[0].invoke(
4100 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4101 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
4109 if (this->m_logOut_OutputPort[0].isConnected()) {
4113 #if FW_AMPCS_COMPATIBLE 4118 static_cast<FwAssertArgType>(_status)
4125 static_cast<FwAssertArgType>(_status)
4128 this->m_logOut_OutputPort[0].
invoke(
4137 #if FW_ENABLE_TEXT_LOGGING 4138 if (this->m_LogText_OutputPort[0].isConnected()) {
4139 #if FW_OBJECT_NAMES == 1 4140 const char* _formatString =
4141 "(%s) %s: Sequence %s started";
4143 const char* _formatString =
4144 "%s: Sequence %s started";
4151 this->m_objName.toChar(),
4157 this->m_LogText_OutputPort[0].invoke(
4176 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4177 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
4185 if (this->m_logOut_OutputPort[0].isConnected()) {
4189 #if FW_AMPCS_COMPATIBLE 4194 static_cast<FwAssertArgType>(_status)
4201 static_cast<FwAssertArgType>(_status)
4204 #if FW_AMPCS_COMPATIBLE 4207 static_cast<U8>(
sizeof(U32))
4211 static_cast<FwAssertArgType>(_status)
4217 static_cast<FwAssertArgType>(_status)
4220 #if FW_AMPCS_COMPATIBLE 4227 static_cast<FwAssertArgType>(_status)
4233 static_cast<FwAssertArgType>(_status)
4236 this->m_logOut_OutputPort[0].
invoke(
4245 #if FW_ENABLE_TEXT_LOGGING 4246 if (this->m_LogText_OutputPort[0].isConnected()) {
4247 #if FW_OBJECT_NAMES == 1 4248 const char* _formatString =
4249 "(%s) %s: Start waiting for sequence file %s: Command %" PRIu32
" (opcode %" PRIu32
") to complete";
4251 const char* _formatString =
4252 "%s: Start waiting for sequence file %s: Command %" PRIu32
" (opcode %" PRIu32
") to complete";
4259 this->m_objName.toChar(),
4267 this->m_LogText_OutputPort[0].invoke(
4282 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4283 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
4291 if (this->m_logOut_OutputPort[0].isConnected()) {
4294 #if FW_AMPCS_COMPATIBLE 4300 static_cast<FwAssertArgType>(_status)
4304 this->m_logOut_OutputPort[0].
invoke(
4313 #if FW_ENABLE_TEXT_LOGGING 4314 if (this->m_LogText_OutputPort[0].isConnected()) {
4315 #if FW_OBJECT_NAMES == 1 4316 const char* _formatString =
4317 "(%s) %s: Still waiting for sequence file to complete";
4319 const char* _formatString =
4320 "%s: Still waiting for sequence file to complete";
4327 this->m_objName.toChar(),
4329 "CS_JoinWaitingNotComplete " 4332 this->m_LogText_OutputPort[0].invoke(
4347 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4348 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
4356 if (this->m_logOut_OutputPort[0].isConnected()) {
4360 #if FW_AMPCS_COMPATIBLE 4365 static_cast<FwAssertArgType>(_status)
4372 static_cast<FwAssertArgType>(_status)
4375 this->m_logOut_OutputPort[0].
invoke(
4384 #if FW_ENABLE_TEXT_LOGGING 4385 if (this->m_LogText_OutputPort[0].isConnected()) {
4386 #if FW_OBJECT_NAMES == 1 4387 const char* _formatString =
4388 "(%s) %s: Sequence file %s has no records. Ignoring.";
4390 const char* _formatString =
4391 "%s: Sequence file %s has no records. Ignoring.";
4398 this->m_objName.toChar(),
4404 this->m_LogText_OutputPort[0].invoke(
4424 if (this->m_tlmOut_OutputPort[0].isConnected()) {
4426 this->m_timeCaller_OutputPort[0].isConnected() &&
4429 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
4436 static_cast<FwAssertArgType>(_stat)
4443 this->m_tlmOut_OutputPort[0].
invoke(
4457 if (this->m_tlmOut_OutputPort[0].isConnected()) {
4459 this->m_timeCaller_OutputPort[0].isConnected() &&
4462 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
4469 static_cast<FwAssertArgType>(_stat)
4476 this->m_tlmOut_OutputPort[0].
invoke(
4490 if (this->m_tlmOut_OutputPort[0].isConnected()) {
4492 this->m_timeCaller_OutputPort[0].isConnected() &&
4495 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
4502 static_cast<FwAssertArgType>(_stat)
4509 this->m_tlmOut_OutputPort[0].
invoke(
4523 if (this->m_tlmOut_OutputPort[0].isConnected()) {
4525 this->m_timeCaller_OutputPort[0].isConnected() &&
4528 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
4535 static_cast<FwAssertArgType>(_stat)
4542 this->m_tlmOut_OutputPort[0].
invoke(
4556 if (this->m_tlmOut_OutputPort[0].isConnected()) {
4558 this->m_timeCaller_OutputPort[0].isConnected() &&
4561 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
4568 static_cast<FwAssertArgType>(_stat)
4575 this->m_tlmOut_OutputPort[0].
invoke(
4590 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4592 this->m_timeCaller_OutputPort[0].
invoke(_time);
4607 ComponentIpcSerializableBuffer _msg;
4617 static_cast<FwAssertArgType>(_msgStatus)
4627 static_cast<FwAssertArgType>(_deserStatus)
4630 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
4632 if (_msgType == CMDSEQUENCER_COMPONENT_EXIT) {
4637 _deserStatus = _msg.deserializeTo(portNum);
4640 static_cast<FwAssertArgType>(_deserStatus)
4645 case CMDRESPONSEIN_CMDRESPONSE: {
4648 _deserStatus = _msg.deserializeTo(opCode);
4651 static_cast<FwAssertArgType>(_deserStatus)
4656 _deserStatus = _msg.deserializeTo(cmdSeq);
4659 static_cast<FwAssertArgType>(_deserStatus)
4664 _deserStatus = _msg.deserializeTo(response);
4667 static_cast<FwAssertArgType>(_deserStatus)
4684 _deserStatus = _msg.deserializeTo(key);
4687 static_cast<FwAssertArgType>(_deserStatus)
4699 case SCHEDIN_SCHED: {
4702 _deserStatus = _msg.deserializeTo(context);
4705 static_cast<FwAssertArgType>(_deserStatus)
4717 case SEQCANCELIN_CMDSEQCANCEL: {
4725 case SEQDISPATCHIN_FILEDISPATCH: {
4728 Fw::ExternalString file_name(__fprime_ac_file_name_buffer,
sizeof __fprime_ac_file_name_buffer);
4729 _deserStatus = _msg.deserializeTo(file_name);
4732 static_cast<FwAssertArgType>(_deserStatus)
4744 case SEQRUNIN_CMDSEQIN: {
4747 Fw::ExternalString filename(__fprime_ac_filename_buffer,
sizeof __fprime_ac_filename_buffer);
4748 _deserStatus = _msg.deserializeTo(filename);
4751 static_cast<FwAssertArgType>(_deserStatus)
4766 _deserStatus = _msg.deserializeTo(_opCode);
4769 static_cast<FwAssertArgType>(_deserStatus)
4774 _deserStatus = _msg.deserializeTo(_cmdSeq);
4777 static_cast<FwAssertArgType>(_deserStatus)
4782 _deserStatus = _msg.deserializeTo(args);
4785 static_cast<FwAssertArgType>(_deserStatus)
4795 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
4810 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
4823 #if FW_CMD_CHECK_RESIDUAL 4825 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
4844 case CMD_CS_VALIDATE: {
4847 _deserStatus = _msg.deserializeTo(_opCode);
4850 static_cast<FwAssertArgType>(_deserStatus)
4855 _deserStatus = _msg.deserializeTo(_cmdSeq);
4858 static_cast<FwAssertArgType>(_deserStatus)
4863 _deserStatus = _msg.deserializeTo(args);
4866 static_cast<FwAssertArgType>(_deserStatus)
4876 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
4889 #if FW_CMD_CHECK_RESIDUAL 4891 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
4909 case CMD_CS_CANCEL: {
4912 _deserStatus = _msg.deserializeTo(_opCode);
4915 static_cast<FwAssertArgType>(_deserStatus)
4920 _deserStatus = _msg.deserializeTo(_cmdSeq);
4923 static_cast<FwAssertArgType>(_deserStatus)
4928 _deserStatus = _msg.deserializeTo(args);
4931 static_cast<FwAssertArgType>(_deserStatus)
4939 #if FW_CMD_CHECK_RESIDUAL 4941 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
4956 case CMD_CS_START: {
4959 _deserStatus = _msg.deserializeTo(_opCode);
4962 static_cast<FwAssertArgType>(_deserStatus)
4967 _deserStatus = _msg.deserializeTo(_cmdSeq);
4970 static_cast<FwAssertArgType>(_deserStatus)
4975 _deserStatus = _msg.deserializeTo(args);
4978 static_cast<FwAssertArgType>(_deserStatus)
4986 #if FW_CMD_CHECK_RESIDUAL 4988 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
5006 _deserStatus = _msg.deserializeTo(_opCode);
5009 static_cast<FwAssertArgType>(_deserStatus)
5014 _deserStatus = _msg.deserializeTo(_cmdSeq);
5017 static_cast<FwAssertArgType>(_deserStatus)
5022 _deserStatus = _msg.deserializeTo(args);
5025 static_cast<FwAssertArgType>(_deserStatus)
5033 #if FW_CMD_CHECK_RESIDUAL 5035 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
5053 _deserStatus = _msg.deserializeTo(_opCode);
5056 static_cast<FwAssertArgType>(_deserStatus)
5061 _deserStatus = _msg.deserializeTo(_cmdSeq);
5064 static_cast<FwAssertArgType>(_deserStatus)
5069 _deserStatus = _msg.deserializeTo(args);
5072 static_cast<FwAssertArgType>(_deserStatus)
5080 #if FW_CMD_CHECK_RESIDUAL 5082 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
5097 case CMD_CS_MANUAL: {
5100 _deserStatus = _msg.deserializeTo(_opCode);
5103 static_cast<FwAssertArgType>(_deserStatus)
5108 _deserStatus = _msg.deserializeTo(_cmdSeq);
5111 static_cast<FwAssertArgType>(_deserStatus)
5116 _deserStatus = _msg.deserializeTo(args);
5119 static_cast<FwAssertArgType>(_deserStatus)
5127 #if FW_CMD_CHECK_RESIDUAL 5129 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
5144 case CMD_CS_JOIN_WAIT: {
5147 _deserStatus = _msg.deserializeTo(_opCode);
5150 static_cast<FwAssertArgType>(_deserStatus)
5155 _deserStatus = _msg.deserializeTo(_cmdSeq);
5158 static_cast<FwAssertArgType>(_deserStatus)
5163 _deserStatus = _msg.deserializeTo(args);
5166 static_cast<FwAssertArgType>(_deserStatus)
5174 #if FW_CMD_CHECK_RESIDUAL 5176 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
5201 void CmdSequencerComponentBase ::
5213 const U32 idBase = callComp->
getIdBase();
5214 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
5217 switch (opCode - idBase) {
5219 compPtr->CS_RUN_cmdHandlerBase(
5228 compPtr->CS_VALIDATE_cmdHandlerBase(
5237 compPtr->CS_CANCEL_cmdHandlerBase(
5246 compPtr->CS_START_cmdHandlerBase(
5255 compPtr->CS_STEP_cmdHandlerBase(
5264 compPtr->CS_AUTO_cmdHandlerBase(
5273 compPtr->CS_MANUAL_cmdHandlerBase(
5282 compPtr->CS_JOIN_WAIT_cmdHandlerBase(
5296 void CmdSequencerComponentBase ::
5297 m_p_cmdResponseIn_in(
5307 compPtr->cmdResponseIn_handlerBase(
5315 void CmdSequencerComponentBase ::
5324 compPtr->pingIn_handlerBase(
5330 void CmdSequencerComponentBase ::
5339 compPtr->schedIn_handlerBase(
5345 void CmdSequencerComponentBase ::
5353 compPtr->seqCancelIn_handlerBase(portNum);
5356 void CmdSequencerComponentBase ::
5357 m_p_seqDispatchIn_in(
5365 compPtr->seqDispatchIn_handlerBase(
5371 void CmdSequencerComponentBase ::
5380 compPtr->seqRunIn_handlerBase(
A sequence related command came with no active sequence.
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
static constexpr FwIndexType getNum_cmdIn_InputPorts()
Serialization/Deserialization operation was successful.
void log_WARNING_HI_CS_TimeContextMismatch(const Fw::StringBase &fileName, U8 currTimeBase, U8 seqTimeBase) const
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
void log_WARNING_HI_CS_FileInvalid(const Fw::StringBase &fileName, Svc::CmdSequencer_FileReadStage stage, I32 error) const
void addCallPort(InputTimePort *callPort)
Register an input port.
void tlmWrite_CS_LoadCommands(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
void invoke(Fw::ComBuffer &data, U32 context) const
Invoke a port interface.
void log_WARNING_HI_CS_InvalidMode() const
void init()
Initialization function.
The Command Sequencer issued a command and received an error status in return.
static constexpr FwIndexType getNum_cmdResponseIn_InputPorts()
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()
FwIdType FwOpcodeType
The type of a command opcode.
static constexpr FwIndexType getNum_logOut_OutputPorts()
virtual void seqDispatchIn_handler(FwIndexType portNum, Fw::StringBase &file_name)=0
Handler for input port seqDispatchIn.
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
void log_WARNING_HI_CS_FileSizeError(const Fw::StringBase &fileName, U32 size) const
void log_ACTIVITY_HI_CS_ModeSwitched(Svc::CmdSequencer_SeqMode mode) const
bool isConnected_comCmdOut_OutputPort(FwIndexType portNum)
void cmdResponseIn_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Handler base-class function for input port cmdResponseIn.
FwIdType getIdBase() const
PlatformSizeType FwSizeType
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
void tlmWrite_CS_Errors(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
void log_WARNING_HI_CS_FileNotFound(const Fw::StringBase &fileName) const
void CS_VALIDATE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
static constexpr FwIndexType getNum_seqDispatchIn_InputPorts()
Number of records in header doesn't match number in file.
A command sequence was successfully canceled.
void log_ACTIVITY_HI_CS_JoinWaiting(const Fw::StringBase &filename, U32 recordNumber, FwOpcodeType opCode) const
Run a command sequence file.
Status
status returned from the queue send function
void log_WARNING_HI_CS_JoinWaitingNotComplete() const
void CS_MANUAL_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
const char * toChar() const
Convert to a C-style char*.
void regCommands()
Register commands with the Command Dispatcher.
void init()
Initialization function.
virtual void schedIn_preMsgHook(FwIndexType portNum, U32 context)
Pre-message hook for async input port schedIn.
void log_WARNING_HI_CS_UnexpectedCompletion(FwOpcodeType opcode) const
virtual void CS_AUTO_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CS_AUTO.
The stage of the file read operation.
void log_ACTIVITY_LO_CS_SequenceLoaded(const Fw::StringBase &fileName) const
void CS_STEP_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
A sequence passed validation.
void invoke(U32 key) const
Invoke a port interface.
static constexpr FwIndexType getNum_seqRunIn_InputPorts()
virtual const CHAR * toChar() const =0
Convert to a C-style char*.
void pingOut_out(FwIndexType portNum, U32 key)
Invoke output port pingOut.
static constexpr FwIndexType getNum_schedIn_InputPorts()
Start running a command sequence.
void log_ACTIVITY_HI_CS_CmdStarted(const Fw::StringBase &filename) const
virtual void CS_VALIDATE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &fileName)=0
Fw::InputCmdResponsePort * get_cmdResponseIn_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_seqDone_OutputPorts()
void comCmdOut_out(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Invoke output port comCmdOut.
virtual void seqCancelIn_handler(FwIndexType portNum)=0
Handler for input port seqCancelIn.
Set the run mode to AUTO.
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
void init()
Initialization function.
void seqDone_out(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Invoke output port seqDone.
Enum representing a command response.
The sequence file was too large.
void schedIn_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port schedIn.
No time base has been established (Required)
void seqRunIn_handlerBase(FwIndexType portNum, const Fw::StringBase &filename)
Handler base-class function for input port seqRunIn.
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
Sequence file was successfully loaded.
void log_WARNING_LO_CS_NoSequenceActive() const
Channel ID for CS_CancelCommands.
void CS_START_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void log_WARNING_HI_CS_SequenceTimeout(const Fw::StringBase &filename, U32 command) const
virtual void CS_CANCEL_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CS_CANCEL.
Os::Queue m_queue
queue object for active component
void addCallPort(InputTlmPort *callPort)
Register an input port.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum)
void init()
Object initializer.
void seqStartOut_out(FwIndexType portNum, const Fw::StringBase &filename)
Invoke output port seqStartOut.
SerializeStatus
forward declaration for string
void set_seqDone_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to seqDone[portNum].
The Command Sequencer received a command that was invalid for its current mode.
Message will block until space is available.
virtual void CS_RUN_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CS_RUN.
void tlmWrite_CS_CancelCommands(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
FwIdType FwEventIdType
The type of an event identifier.
virtual ~CmdSequencerComponentBase()
Destroy CmdSequencerComponentBase object.
void tlmWrite_CS_CommandsExecuted(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
The sequence file was not found.
The size of the serial representation.
void invoke(FwOpcodeType opCode) const
Invoke a port interface.
static constexpr FwIndexType getNum_pingOut_OutputPorts()
virtual void seqRunIn_preMsgHook(FwIndexType portNum, const Fw::StringBase &filename)
Pre-message hook for async input port seqRunIn.
void log_ACTIVITY_HI_CS_PortSequenceStarted(const Fw::StringBase &filename) const
void log_WARNING_HI_CS_RecordInvalid(const Fw::StringBase &fileName, U32 recordNumber, I32 error) const
void log_ACTIVITY_HI_CS_SequenceCanceled(const Fw::StringBase &fileName) const
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
virtual void CS_RUN_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &fileName, Svc::CmdSequencer_BlockState block)=0
void init()
Initialization function.
A local port request to run a sequence was started.
Less important informational events.
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
void log_WARNING_HI_CS_RecordMismatch(const Fw::StringBase &fileName, U32 header_records, U32 extra_bytes) const
A command in a sequence was stepped through.
Validate a command sequence file.
#define FW_MIN(a, b)
MIN macro (deprecated in C++, use std::min)
A less serious but recoverable event.
Channel ID for CS_CommandsExecuted.
void init()
Initialization function.
bool isConnected_pingOut_OutputPort(FwIndexType portNum)
virtual void cmdResponseIn_preMsgHook(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Pre-message hook for async input port cmdResponseIn.
void invoke(Fw::Time &time) const
Invoke a port interface.
bool isConnected_seqStartOut_OutputPort(FwIndexType portNum)
void CS_JOIN_WAIT_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Svc::InputCmdSeqInPort * get_seqRunIn_InputPort(FwIndexType portNum)
Cancel a command sequence.
Serializable::SizeType getDeserializeSizeLeft() const override
Get remaining deserialization buffer size.
Channel ID for CS_LoadCommands.
The format of a command record was invalid.
const char * toChar() const
Convert to a C-style char*.
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) const
Invoke a port interface.
The sequence file validation failed.
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
FwIdType FwChanIdType
The type of a telemetry channel identifier.
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].
virtual void CS_START_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
void addCallPort(InputPingPort *callPort)
Register an input port.
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
virtual void seqRunIn_handler(FwIndexType portNum, const Fw::StringBase &filename)=0
Handler for input port seqRunIn.
void resetDeser() override
Reset deserialization pointer to beginning of buffer.
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts()
A string backed by an external buffer.
A serious but recoverable event.
Errors dispatching messages.
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val) const
Invoke a port interface.
bool isConnected_timeCaller_OutputPort(FwIndexType portNum)
void CS_AUTO_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void invoke(const Fw::StringBase &filename) const
Invoke a port interface.
virtual void CS_START_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CS_START.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
The running time base doesn't match the time base in the sequence files.
bool isConnected_seqDone_OutputPort(FwIndexType portNum)
uint8_t U8
8-bit unsigned integer
void set_comCmdOut_OutputPort(FwIndexType portNum, Fw::InputComPort *port)
Connect port to comCmdOut[portNum].
A sequence passed validation.
static constexpr FwIndexType getNum_seqStartOut_OutputPorts()
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
Svc::InputSchedPort * get_schedIn_InputPort(FwIndexType portNum)
virtual void CS_AUTO_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
Command failed to deserialize.
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
void log_WARNING_HI_CS_FileCrcFailure(const Fw::StringBase &fileName, U32 storedCRC, U32 computedCRC) const
Important informational events.
A command sequence successfully completed.
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port interface.
virtual void CS_MANUAL_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CS_MANUAL.
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum)
void CS_CANCEL_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
The running time base doesn't match the time base in the sequence files.
void set_seqStartOut_OutputPort(FwIndexType portNum, Svc::InputCmdSeqInPort *port)
Connect port to seqStartOut[portNum].
void log_WARNING_HI_CS_TimeBaseMismatch(const Fw::StringBase &fileName, U16 time_base, U16 seq_time_base) const
A message was sent requesting an exit of the loop.
virtual void CS_STEP_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CS_STEP.
PlatformIndexType FwIndexType
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
The Command Sequencer issued a command and received a success status in return.
void seqCancelIn_handlerBase(FwIndexType portNum)
Handler base-class function for input port seqCancelIn.
void addCallPort(InputLogPort *callPort)
Register an input port.
void addCallPort(InputCmdSeqInPort *callPort)
Register an input port.
The sequence file format was invalid.
Set the run mode to MANUAL.
void init()
Initialization function.
Channel ID for CS_SequencesCompleted.
void CS_RUN_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Svc::InputFileDispatchPort * get_seqDispatchIn_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_seqCancelIn_InputPorts()
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
RateGroupDivider component implementation.
virtual void CS_VALIDATE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CS_VALIDATE.
void log_ACTIVITY_HI_CS_SequenceComplete(const Fw::StringBase &fileName) const
virtual void CS_STEP_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
void log_ACTIVITY_LO_CS_CommandComplete(const Fw::StringBase &fileName, U32 recordNumber, FwOpcodeType opCode) const
Channel ID for CS_Errors.
message sent/received okay
SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG) override
Deserialize an 8-bit unsigned integer value.
Wait for sequences that are running to finish. Allow user to run multiple seq files in SEQ_NO_BLOCK m...
void addCallPort(InputComPort *callPort)
Register an input port.
virtual void CS_MANUAL_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
CmdSequencerComponentBase(const char *compName="")
Construct CmdSequencerComponentBase object.
void seqDispatchIn_handlerBase(FwIndexType portNum, Fw::StringBase &file_name)
Handler base-class function for input port seqDispatchIn.
The Sequence File Loader could not read the sequence file.
Message will return with status when space is unavailable.
Implementation of malloc based allocator.
Perform one step in a command sequence. Valid only if CmdSequencer is in MANUAL run mode...
A command status came back when no sequence was running.
static constexpr FwIndexType getNum_pingIn_InputPorts()
virtual void cmdResponseIn_handler(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)=0
Handler for input port cmdResponseIn.
void log_WARNING_LO_CS_NoRecords(const Fw::StringBase &fileName) const
Log event CS_NoRecords.
virtual void CS_JOIN_WAIT_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
virtual void seqCancelIn_preMsgHook(FwIndexType portNum)
Pre-message hook for async input port seqCancelIn.
virtual void schedIn_handler(FwIndexType portNum, U32 context)=0
Handler for input port schedIn.
static constexpr SizeType BUFFER_SIZE(SizeType maxLength)
Get the size of a null-terminated string buffer.
void log_WARNING_HI_CS_CommandError(const Fw::StringBase &fileName, U32 recordNumber, FwOpcodeType opCode, U32 errorStatus) const
void init()
Initialization function.
Wait for the current running sequence file complete.
Sequencer blocking state.
message to exit active component task
virtual void CS_CANCEL_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
void set_logOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to logOut[portNum].
static constexpr FwIndexType getNum_comCmdOut_OutputPorts()
Svc::InputCmdSeqCancelPort * get_seqCancelIn_InputPort(FwIndexType portNum)
Cannot run new sequence when current sequence file is still running.
A manual sequence was started.
The size of the serial representation.
virtual void seqDispatchIn_preMsgHook(FwIndexType portNum, Fw::StringBase &file_name)
Pre-message hook for async input port seqDispatchIn.
void log_ACTIVITY_HI_CS_SequenceValid(const Fw::StringBase &filename) const
bool isConnected_logOut_OutputPort(FwIndexType portNum)
void log_WARNING_HI_CS_FileReadError(const Fw::StringBase &fileName) const
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
void tlmWrite_CS_SequencesCompleted(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
void log_ACTIVITY_HI_CS_CmdStepped(const Fw::StringBase &filename, U32 command) const
SerializeStatus serializeTo(SerialBufferBase &buffer, Endianness mode=Endianness::BIG) const override
Serialize the contents of this object to a buffer.
virtual void CS_JOIN_WAIT_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CS_JOIN_WAIT.