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];
95 #if !FW_DIRECT_PORT_CALLS 102 this->m_cmdIn_InputPort[port].
init();
107 this->m_cmdIn_InputPort[port].
setPortNum(port);
109 #if FW_OBJECT_NAMES == 1 113 this->m_objName.toChar(),
116 this->m_cmdIn_InputPort[port].setObjName(portName.
toChar());
121 #if !FW_DIRECT_PORT_CALLS 128 this->m_cmdResponseIn_InputPort[port].
init();
133 this->m_cmdResponseIn_InputPort[port].
setPortNum(port);
135 #if FW_OBJECT_NAMES == 1 139 this->m_objName.toChar(),
142 this->m_cmdResponseIn_InputPort[port].setObjName(portName.
toChar());
147 #if !FW_DIRECT_PORT_CALLS 154 this->m_pingIn_InputPort[port].
init();
159 this->m_pingIn_InputPort[port].
setPortNum(port);
161 #if FW_OBJECT_NAMES == 1 165 this->m_objName.toChar(),
168 this->m_pingIn_InputPort[port].setObjName(portName.
toChar());
173 #if !FW_DIRECT_PORT_CALLS 180 this->m_schedIn_InputPort[port].
init();
185 this->m_schedIn_InputPort[port].
setPortNum(port);
187 #if FW_OBJECT_NAMES == 1 191 this->m_objName.toChar(),
194 this->m_schedIn_InputPort[port].setObjName(portName.
toChar());
199 #if !FW_DIRECT_PORT_CALLS 206 this->m_seqCancelIn_InputPort[port].
init();
211 this->m_seqCancelIn_InputPort[port].
setPortNum(port);
213 #if FW_OBJECT_NAMES == 1 217 this->m_objName.toChar(),
220 this->m_seqCancelIn_InputPort[port].setObjName(portName.
toChar());
225 #if !FW_DIRECT_PORT_CALLS 232 this->m_seqDispatchIn_InputPort[port].
init();
237 this->m_seqDispatchIn_InputPort[port].
setPortNum(port);
239 #if FW_OBJECT_NAMES == 1 243 this->m_objName.toChar(),
246 this->m_seqDispatchIn_InputPort[port].setObjName(portName.
toChar());
251 #if !FW_DIRECT_PORT_CALLS 258 this->m_seqRunIn_InputPort[port].
init();
263 this->m_seqRunIn_InputPort[port].
setPortNum(port);
265 #if FW_OBJECT_NAMES == 1 269 this->m_objName.toChar(),
272 this->m_seqRunIn_InputPort[port].setObjName(portName.
toChar());
277 #if !FW_DIRECT_PORT_CALLS && FW_ENABLE_TEXT_LOGGING 281 port < static_cast<FwIndexType>(this->getNum_LogText_OutputPorts());
284 this->m_LogText_OutputPort[port].
init();
286 #if FW_OBJECT_NAMES == 1 290 this->m_objName.toChar(),
293 this->m_LogText_OutputPort[port].setObjName(portName.
toChar());
298 #if !FW_DIRECT_PORT_CALLS 305 this->m_cmdRegOut_OutputPort[port].
init();
307 #if FW_OBJECT_NAMES == 1 311 this->m_objName.toChar(),
314 this->m_cmdRegOut_OutputPort[port].setObjName(portName.
toChar());
319 #if !FW_DIRECT_PORT_CALLS 326 this->m_cmdResponseOut_OutputPort[port].
init();
328 #if FW_OBJECT_NAMES == 1 332 this->m_objName.toChar(),
335 this->m_cmdResponseOut_OutputPort[port].setObjName(portName.
toChar());
340 #if !FW_DIRECT_PORT_CALLS 347 this->m_logOut_OutputPort[port].
init();
349 #if FW_OBJECT_NAMES == 1 353 this->m_objName.toChar(),
356 this->m_logOut_OutputPort[port].setObjName(portName.
toChar());
361 #if !FW_DIRECT_PORT_CALLS 368 this->m_timeCaller_OutputPort[port].
init();
370 #if FW_OBJECT_NAMES == 1 374 this->m_objName.toChar(),
377 this->m_timeCaller_OutputPort[port].setObjName(portName.
toChar());
382 #if !FW_DIRECT_PORT_CALLS 389 this->m_tlmOut_OutputPort[port].
init();
391 #if FW_OBJECT_NAMES == 1 395 this->m_objName.toChar(),
398 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
403 #if !FW_DIRECT_PORT_CALLS 410 this->m_comCmdOut_OutputPort[port].
init();
412 #if FW_OBJECT_NAMES == 1 416 this->m_objName.toChar(),
419 this->m_comCmdOut_OutputPort[port].setObjName(portName.
toChar());
424 #if !FW_DIRECT_PORT_CALLS 431 this->m_pingOut_OutputPort[port].
init();
433 #if FW_OBJECT_NAMES == 1 437 this->m_objName.toChar(),
440 this->m_pingOut_OutputPort[port].setObjName(portName.
toChar());
445 #if !FW_DIRECT_PORT_CALLS 452 this->m_seqDone_OutputPort[port].
init();
454 #if FW_OBJECT_NAMES == 1 458 this->m_objName.toChar(),
461 this->m_seqDone_OutputPort[port].setObjName(portName.
toChar());
466 #if !FW_DIRECT_PORT_CALLS 473 this->m_seqStartOut_OutputPort[port].
init();
475 #if FW_OBJECT_NAMES == 1 479 this->m_objName.toChar(),
482 this->m_seqStartOut_OutputPort[port].setObjName(portName.
toChar());
490 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
494 static_cast<FwAssertArgType>(qStat)
498 #if !FW_DIRECT_PORT_CALLS 509 static_cast<FwAssertArgType>(portNum)
512 return &this->m_cmdIn_InputPort[portNum];
517 #if !FW_DIRECT_PORT_CALLS 528 static_cast<FwAssertArgType>(portNum)
531 return &this->m_cmdResponseIn_InputPort[portNum];
539 static_cast<FwAssertArgType>(portNum)
542 return &this->m_pingIn_InputPort[portNum];
550 static_cast<FwAssertArgType>(portNum)
553 return &this->m_schedIn_InputPort[portNum];
561 static_cast<FwAssertArgType>(portNum)
564 return &this->m_seqCancelIn_InputPort[portNum];
572 static_cast<FwAssertArgType>(portNum)
575 return &this->m_seqDispatchIn_InputPort[portNum];
583 static_cast<FwAssertArgType>(portNum)
586 return &this->m_seqRunIn_InputPort[portNum];
591 #if !FW_DIRECT_PORT_CALLS 597 #if FW_ENABLE_TEXT_LOGGING == 1 599 void CmdSequencerComponentBase ::
600 set_LogText_OutputPort(
606 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
607 static_cast<FwAssertArgType>(portNum)
610 this->m_LogText_OutputPort[portNum].addCallPort(port);
623 static_cast<FwAssertArgType>(portNum)
626 this->m_cmdRegOut_OutputPort[portNum].
addCallPort(port);
637 static_cast<FwAssertArgType>(portNum)
640 this->m_cmdResponseOut_OutputPort[portNum].
addCallPort(port);
651 static_cast<FwAssertArgType>(portNum)
654 this->m_logOut_OutputPort[portNum].
addCallPort(port);
665 static_cast<FwAssertArgType>(portNum)
668 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
679 static_cast<FwAssertArgType>(portNum)
682 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
687 #if !FW_DIRECT_PORT_CALLS 701 static_cast<FwAssertArgType>(portNum)
704 this->m_comCmdOut_OutputPort[portNum].
addCallPort(port);
715 static_cast<FwAssertArgType>(portNum)
718 this->m_pingOut_OutputPort[portNum].
addCallPort(port);
729 static_cast<FwAssertArgType>(portNum)
732 this->m_seqDone_OutputPort[portNum].
addCallPort(port);
743 static_cast<FwAssertArgType>(portNum)
746 this->m_seqStartOut_OutputPort[portNum].
addCallPort(port);
751 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 757 #if FW_ENABLE_TEXT_LOGGING == 1 759 void CmdSequencerComponentBase ::
760 set_LogText_OutputPort(
762 Fw::InputSerializePort* port
766 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
767 static_cast<FwAssertArgType>(portNum)
770 this->m_LogText_OutputPort[portNum].registerSerialPort(port);
778 Fw::InputSerializePort* port
783 static_cast<FwAssertArgType>(portNum)
786 this->m_cmdRegOut_OutputPort[portNum].registerSerialPort(port);
792 Fw::InputSerializePort* port
797 static_cast<FwAssertArgType>(portNum)
800 this->m_cmdResponseOut_OutputPort[portNum].registerSerialPort(port);
806 Fw::InputSerializePort* port
811 static_cast<FwAssertArgType>(portNum)
814 this->m_logOut_OutputPort[portNum].registerSerialPort(port);
820 Fw::InputSerializePort* port
825 static_cast<FwAssertArgType>(portNum)
828 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
834 Fw::InputSerializePort* port
839 static_cast<FwAssertArgType>(portNum)
842 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
847 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 856 Fw::InputSerializePort* port
861 static_cast<FwAssertArgType>(portNum)
864 this->m_comCmdOut_OutputPort[portNum].registerSerialPort(port);
870 Fw::InputSerializePort* port
875 static_cast<FwAssertArgType>(portNum)
878 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
884 Fw::InputSerializePort* port
889 static_cast<FwAssertArgType>(portNum)
892 this->m_seqDone_OutputPort[portNum].registerSerialPort(port);
898 Fw::InputSerializePort* port
903 static_cast<FwAssertArgType>(portNum)
906 this->m_seqStartOut_OutputPort[portNum].registerSerialPort(port);
967 Fw::ActiveComponentBase(compName)
978 #if !FW_DIRECT_PORT_CALLS 984 #if FW_ENABLE_TEXT_LOGGING == 1 986 bool CmdSequencerComponentBase ::
987 isConnected_LogText_OutputPort(
FwIndexType portNum)
const 990 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
991 static_cast<FwAssertArgType>(portNum)
994 return this->m_LogText_OutputPort[portNum].isConnected();
1004 static_cast<FwAssertArgType>(portNum)
1007 return this->m_cmdRegOut_OutputPort[portNum].
isConnected();
1015 static_cast<FwAssertArgType>(portNum)
1018 return this->m_cmdResponseOut_OutputPort[portNum].
isConnected();
1026 static_cast<FwAssertArgType>(portNum)
1029 return this->m_logOut_OutputPort[portNum].
isConnected();
1037 static_cast<FwAssertArgType>(portNum)
1040 return this->m_timeCaller_OutputPort[portNum].
isConnected();
1048 static_cast<FwAssertArgType>(portNum)
1051 return this->m_tlmOut_OutputPort[portNum].
isConnected();
1056 #if !FW_DIRECT_PORT_CALLS 1067 static_cast<FwAssertArgType>(portNum)
1070 return this->m_comCmdOut_OutputPort[portNum].
isConnected();
1078 static_cast<FwAssertArgType>(portNum)
1081 return this->m_pingOut_OutputPort[portNum].
isConnected();
1089 static_cast<FwAssertArgType>(portNum)
1092 return this->m_seqDone_OutputPort[portNum].
isConnected();
1100 static_cast<FwAssertArgType>(portNum)
1103 return this->m_seqStartOut_OutputPort[portNum].
isConnected();
1124 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
1127 switch (opCode - idBase) {
1222 static_cast<FwAssertArgType>(portNum)
1232 ComponentIpcSerializableBuffer msg;
1236 _status = msg.serializeFrom(
1237 static_cast<FwEnumStoreType>(CMDRESPONSEIN_CMDRESPONSE)
1241 static_cast<FwAssertArgType>(_status)
1245 _status = msg.serializeFrom(portNum);
1248 static_cast<FwAssertArgType>(_status)
1252 _status = msg.serializeFrom(opCode);
1255 static_cast<FwAssertArgType>(_status)
1259 _status = msg.serializeFrom(cmdSeq);
1262 static_cast<FwAssertArgType>(_status)
1266 _status = msg.serializeFrom(response);
1269 static_cast<FwAssertArgType>(_status)
1278 static_cast<FwAssertArgType>(qStatus)
1291 static_cast<FwAssertArgType>(portNum)
1299 ComponentIpcSerializableBuffer msg;
1303 _status = msg.serializeFrom(
1304 static_cast<FwEnumStoreType>(PINGIN_PING)
1308 static_cast<FwAssertArgType>(_status)
1312 _status = msg.serializeFrom(portNum);
1315 static_cast<FwAssertArgType>(_status)
1319 _status = msg.serializeFrom(key);
1322 static_cast<FwAssertArgType>(_status)
1331 static_cast<FwAssertArgType>(qStatus)
1344 static_cast<FwAssertArgType>(portNum)
1352 ComponentIpcSerializableBuffer msg;
1356 _status = msg.serializeFrom(
1357 static_cast<FwEnumStoreType>(SCHEDIN_SCHED)
1361 static_cast<FwAssertArgType>(_status)
1365 _status = msg.serializeFrom(portNum);
1368 static_cast<FwAssertArgType>(_status)
1372 _status = msg.serializeFrom(context);
1375 static_cast<FwAssertArgType>(_status)
1384 static_cast<FwAssertArgType>(qStatus)
1394 static_cast<FwAssertArgType>(portNum)
1399 ComponentIpcSerializableBuffer msg;
1403 _status = msg.serializeFrom(
1404 static_cast<FwEnumStoreType>(SEQCANCELIN_CMDSEQCANCEL)
1408 static_cast<FwAssertArgType>(_status)
1412 _status = msg.serializeFrom(portNum);
1415 static_cast<FwAssertArgType>(_status)
1424 static_cast<FwAssertArgType>(qStatus)
1437 static_cast<FwAssertArgType>(portNum)
1445 ComponentIpcSerializableBuffer msg;
1449 _status = msg.serializeFrom(
1450 static_cast<FwEnumStoreType>(SEQDISPATCHIN_FILEDISPATCH)
1454 static_cast<FwAssertArgType>(_status)
1458 _status = msg.serializeFrom(portNum);
1461 static_cast<FwAssertArgType>(_status)
1468 static_cast<FwAssertArgType>(_status)
1477 static_cast<FwAssertArgType>(qStatus)
1490 static_cast<FwAssertArgType>(portNum)
1498 ComponentIpcSerializableBuffer msg;
1502 _status = msg.serializeFrom(
1503 static_cast<FwEnumStoreType>(SEQRUNIN_CMDSEQIN)
1507 static_cast<FwAssertArgType>(_status)
1511 _status = msg.serializeFrom(portNum);
1514 static_cast<FwAssertArgType>(_status)
1521 static_cast<FwAssertArgType>(_status)
1530 static_cast<FwAssertArgType>(qStatus)
1595 #if !FW_DIRECT_PORT_CALLS 1610 static_cast<FwAssertArgType>(portNum)
1614 this->m_comCmdOut_OutputPort[portNum].isConnected(),
1615 static_cast<FwAssertArgType>(portNum)
1617 this->m_comCmdOut_OutputPort[portNum].
invoke(
1631 static_cast<FwAssertArgType>(portNum)
1635 this->m_pingOut_OutputPort[portNum].isConnected(),
1636 static_cast<FwAssertArgType>(portNum)
1638 this->m_pingOut_OutputPort[portNum].
invoke(
1653 static_cast<FwAssertArgType>(portNum)
1657 this->m_seqDone_OutputPort[portNum].isConnected(),
1658 static_cast<FwAssertArgType>(portNum)
1660 this->m_seqDone_OutputPort[portNum].
invoke(
1675 static_cast<FwAssertArgType>(portNum)
1679 this->m_seqStartOut_OutputPort[portNum].isConnected(),
1680 static_cast<FwAssertArgType>(portNum)
1682 this->m_seqStartOut_OutputPort[portNum].
invoke(
1701 this->cmdResponseOut_out(0, opCode, cmdSeq, response);
1722 ComponentIpcSerializableBuffer msg;
1726 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CS_RUN));
1729 static_cast<FwAssertArgType>(_status)
1735 _status = msg.serializeFrom(port);
1738 static_cast<FwAssertArgType>(_status)
1741 _status = msg.serializeFrom(opCode);
1744 static_cast<FwAssertArgType>(_status)
1747 _status = msg.serializeFrom(cmdSeq);
1750 static_cast<FwAssertArgType>(_status)
1753 _status = msg.serializeFrom(args);
1756 static_cast<FwAssertArgType>(_status)
1765 static_cast<FwAssertArgType>(qStatus)
1781 ComponentIpcSerializableBuffer msg;
1785 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CS_VALIDATE));
1788 static_cast<FwAssertArgType>(_status)
1794 _status = msg.serializeFrom(port);
1797 static_cast<FwAssertArgType>(_status)
1800 _status = msg.serializeFrom(opCode);
1803 static_cast<FwAssertArgType>(_status)
1806 _status = msg.serializeFrom(cmdSeq);
1809 static_cast<FwAssertArgType>(_status)
1812 _status = msg.serializeFrom(args);
1815 static_cast<FwAssertArgType>(_status)
1824 static_cast<FwAssertArgType>(qStatus)
1840 ComponentIpcSerializableBuffer msg;
1844 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CS_CANCEL));
1847 static_cast<FwAssertArgType>(_status)
1853 _status = msg.serializeFrom(port);
1856 static_cast<FwAssertArgType>(_status)
1859 _status = msg.serializeFrom(opCode);
1862 static_cast<FwAssertArgType>(_status)
1865 _status = msg.serializeFrom(cmdSeq);
1868 static_cast<FwAssertArgType>(_status)
1871 _status = msg.serializeFrom(args);
1874 static_cast<FwAssertArgType>(_status)
1883 static_cast<FwAssertArgType>(qStatus)
1899 ComponentIpcSerializableBuffer msg;
1903 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CS_START));
1906 static_cast<FwAssertArgType>(_status)
1912 _status = msg.serializeFrom(port);
1915 static_cast<FwAssertArgType>(_status)
1918 _status = msg.serializeFrom(opCode);
1921 static_cast<FwAssertArgType>(_status)
1924 _status = msg.serializeFrom(cmdSeq);
1927 static_cast<FwAssertArgType>(_status)
1930 _status = msg.serializeFrom(args);
1933 static_cast<FwAssertArgType>(_status)
1942 static_cast<FwAssertArgType>(qStatus)
1958 ComponentIpcSerializableBuffer msg;
1962 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CS_STEP));
1965 static_cast<FwAssertArgType>(_status)
1971 _status = msg.serializeFrom(port);
1974 static_cast<FwAssertArgType>(_status)
1977 _status = msg.serializeFrom(opCode);
1980 static_cast<FwAssertArgType>(_status)
1983 _status = msg.serializeFrom(cmdSeq);
1986 static_cast<FwAssertArgType>(_status)
1989 _status = msg.serializeFrom(args);
1992 static_cast<FwAssertArgType>(_status)
2001 static_cast<FwAssertArgType>(qStatus)
2017 ComponentIpcSerializableBuffer msg;
2021 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CS_AUTO));
2024 static_cast<FwAssertArgType>(_status)
2030 _status = msg.serializeFrom(port);
2033 static_cast<FwAssertArgType>(_status)
2036 _status = msg.serializeFrom(opCode);
2039 static_cast<FwAssertArgType>(_status)
2042 _status = msg.serializeFrom(cmdSeq);
2045 static_cast<FwAssertArgType>(_status)
2048 _status = msg.serializeFrom(args);
2051 static_cast<FwAssertArgType>(_status)
2060 static_cast<FwAssertArgType>(qStatus)
2076 ComponentIpcSerializableBuffer msg;
2080 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CS_MANUAL));
2083 static_cast<FwAssertArgType>(_status)
2089 _status = msg.serializeFrom(port);
2092 static_cast<FwAssertArgType>(_status)
2095 _status = msg.serializeFrom(opCode);
2098 static_cast<FwAssertArgType>(_status)
2101 _status = msg.serializeFrom(cmdSeq);
2104 static_cast<FwAssertArgType>(_status)
2107 _status = msg.serializeFrom(args);
2110 static_cast<FwAssertArgType>(_status)
2119 static_cast<FwAssertArgType>(qStatus)
2135 ComponentIpcSerializableBuffer msg;
2139 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CS_JOIN_WAIT));
2142 static_cast<FwAssertArgType>(_status)
2148 _status = msg.serializeFrom(port);
2151 static_cast<FwAssertArgType>(_status)
2154 _status = msg.serializeFrom(opCode);
2157 static_cast<FwAssertArgType>(_status)
2160 _status = msg.serializeFrom(cmdSeq);
2163 static_cast<FwAssertArgType>(_status)
2166 _status = msg.serializeFrom(args);
2169 static_cast<FwAssertArgType>(_status)
2178 static_cast<FwAssertArgType>(qStatus)
2288 this->timeCaller_out(0, _logTime);
2298 #if FW_AMPCS_COMPATIBLE 2303 static_cast<FwAssertArgType>(_status)
2313 static_cast<FwAssertArgType>(_status)
2326 #if FW_ENABLE_TEXT_LOGGING 2327 if (this->isConnected_LogText_OutputPort(0)) {
2328 #if FW_OBJECT_NAMES == 1 2329 const char* _formatString =
2330 "(%s) %s: Loaded sequence %s";
2332 const char* _formatString =
2333 "%s: Loaded sequence %s";
2340 this->m_objName.toChar(),
2342 "CS_SequenceLoaded ",
2363 this->timeCaller_out(0, _logTime);
2373 #if FW_AMPCS_COMPATIBLE 2378 static_cast<FwAssertArgType>(_status)
2388 static_cast<FwAssertArgType>(_status)
2401 #if FW_ENABLE_TEXT_LOGGING 2402 if (this->isConnected_LogText_OutputPort(0)) {
2403 #if FW_OBJECT_NAMES == 1 2404 const char* _formatString =
2405 "(%s) %s: Sequence file %s canceled";
2407 const char* _formatString =
2408 "%s: Sequence file %s canceled";
2415 this->m_objName.toChar(),
2417 "CS_SequenceCanceled ",
2438 this->timeCaller_out(0, _logTime);
2448 #if FW_AMPCS_COMPATIBLE 2453 static_cast<FwAssertArgType>(_status)
2463 static_cast<FwAssertArgType>(_status)
2476 #if FW_ENABLE_TEXT_LOGGING 2477 if (this->isConnected_LogText_OutputPort(0)) {
2478 #if FW_OBJECT_NAMES == 1 2479 const char* _formatString =
2480 "(%s) %s: Error reading sequence file %s";
2482 const char* _formatString =
2483 "%s: Error reading sequence file %s";
2490 this->m_objName.toChar(),
2492 "CS_FileReadError ",
2517 this->timeCaller_out(0, _logTime);
2527 #if FW_AMPCS_COMPATIBLE 2532 static_cast<FwAssertArgType>(_status)
2542 static_cast<FwAssertArgType>(_status)
2545 #if FW_AMPCS_COMPATIBLE 2552 static_cast<FwAssertArgType>(_status)
2558 static_cast<FwAssertArgType>(_status)
2561 #if FW_AMPCS_COMPATIBLE 2564 static_cast<U8>(
sizeof(I32))
2568 static_cast<FwAssertArgType>(_status)
2574 static_cast<FwAssertArgType>(_status)
2587 #if FW_ENABLE_TEXT_LOGGING 2588 if (this->isConnected_LogText_OutputPort(0)) {
2589 #if FW_OBJECT_NAMES == 1 2590 const char* _formatString =
2591 "(%s) %s: Sequence file %s invalid. Stage: %s Error: %" PRIi32
"";
2593 const char* _formatString =
2594 "%s: Sequence file %s invalid. Stage: %s Error: %" PRIi32
"";
2598 stage.toString(stageStr);
2604 this->m_objName.toChar(),
2633 this->timeCaller_out(0, _logTime);
2643 #if FW_AMPCS_COMPATIBLE 2648 static_cast<FwAssertArgType>(_status)
2658 static_cast<FwAssertArgType>(_status)
2661 #if FW_AMPCS_COMPATIBLE 2664 static_cast<U8>(
sizeof(U32))
2668 static_cast<FwAssertArgType>(_status)
2674 static_cast<FwAssertArgType>(_status)
2677 #if FW_AMPCS_COMPATIBLE 2680 static_cast<U8>(
sizeof(I32))
2684 static_cast<FwAssertArgType>(_status)
2690 static_cast<FwAssertArgType>(_status)
2703 #if FW_ENABLE_TEXT_LOGGING 2704 if (this->isConnected_LogText_OutputPort(0)) {
2705 #if FW_OBJECT_NAMES == 1 2706 const char* _formatString =
2707 "(%s) %s: Sequence file %s: Record %" PRIu32
" invalid. Err: %" PRIi32
"";
2709 const char* _formatString =
2710 "%s: Sequence file %s: Record %" PRIu32
" invalid. Err: %" PRIi32
"";
2717 this->m_objName.toChar(),
2719 "CS_RecordInvalid ",
2745 this->timeCaller_out(0, _logTime);
2755 #if FW_AMPCS_COMPATIBLE 2760 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)
2799 #if FW_ENABLE_TEXT_LOGGING 2800 if (this->isConnected_LogText_OutputPort(0)) {
2801 #if FW_OBJECT_NAMES == 1 2802 const char* _formatString =
2803 "(%s) %s: Sequence file %s too large. Size: %" PRIu32
"";
2805 const char* _formatString =
2806 "%s: Sequence file %s too large. Size: %" PRIu32
"";
2813 this->m_objName.toChar(),
2815 "CS_FileSizeError ",
2837 this->timeCaller_out(0, _logTime);
2847 #if FW_AMPCS_COMPATIBLE 2852 static_cast<FwAssertArgType>(_status)
2862 static_cast<FwAssertArgType>(_status)
2875 #if FW_ENABLE_TEXT_LOGGING 2876 if (this->isConnected_LogText_OutputPort(0)) {
2877 #if FW_OBJECT_NAMES == 1 2878 const char* _formatString =
2879 "(%s) %s: Sequence file %s not found.";
2881 const char* _formatString =
2882 "%s: Sequence file %s not found.";
2889 this->m_objName.toChar(),
2916 this->timeCaller_out(0, _logTime);
2926 #if FW_AMPCS_COMPATIBLE 2931 static_cast<FwAssertArgType>(_status)
2941 static_cast<FwAssertArgType>(_status)
2944 #if FW_AMPCS_COMPATIBLE 2947 static_cast<U8>(
sizeof(U32))
2951 static_cast<FwAssertArgType>(_status)
2957 static_cast<FwAssertArgType>(_status)
2960 #if FW_AMPCS_COMPATIBLE 2963 static_cast<U8>(
sizeof(U32))
2967 static_cast<FwAssertArgType>(_status)
2973 static_cast<FwAssertArgType>(_status)
2986 #if FW_ENABLE_TEXT_LOGGING 2987 if (this->isConnected_LogText_OutputPort(0)) {
2988 #if FW_OBJECT_NAMES == 1 2989 const char* _formatString =
2990 "(%s) %s: Sequence file %s had invalid CRC. Stored 0x%" PRIx32
", Computed 0x%" PRIx32
".";
2992 const char* _formatString =
2993 "%s: Sequence file %s had invalid CRC. Stored 0x%" PRIx32
", Computed 0x%" PRIx32
".";
3000 this->m_objName.toChar(),
3002 "CS_FileCrcFailure ",
3029 this->timeCaller_out(0, _logTime);
3039 #if FW_AMPCS_COMPATIBLE 3044 static_cast<FwAssertArgType>(_status)
3054 static_cast<FwAssertArgType>(_status)
3057 #if FW_AMPCS_COMPATIBLE 3060 static_cast<U8>(
sizeof(U32))
3064 static_cast<FwAssertArgType>(_status)
3070 static_cast<FwAssertArgType>(_status)
3073 #if FW_AMPCS_COMPATIBLE 3080 static_cast<FwAssertArgType>(_status)
3086 static_cast<FwAssertArgType>(_status)
3099 #if FW_ENABLE_TEXT_LOGGING 3100 if (this->isConnected_LogText_OutputPort(0)) {
3101 #if FW_OBJECT_NAMES == 1 3102 const char* _formatString =
3103 "(%s) %s: Sequence file %s: Command %" PRIu32
" (opcode %" PRIu32
") complete";
3105 const char* _formatString =
3106 "%s: Sequence file %s: Command %" PRIu32
" (opcode %" PRIu32
") complete";
3113 this->m_objName.toChar(),
3115 "CS_CommandComplete ",
3138 this->timeCaller_out(0, _logTime);
3148 #if FW_AMPCS_COMPATIBLE 3153 static_cast<FwAssertArgType>(_status)
3163 static_cast<FwAssertArgType>(_status)
3176 #if FW_ENABLE_TEXT_LOGGING 3177 if (this->isConnected_LogText_OutputPort(0)) {
3178 #if FW_OBJECT_NAMES == 1 3179 const char* _formatString =
3180 "(%s) %s: Sequence file %s complete";
3182 const char* _formatString =
3183 "%s: Sequence file %s complete";
3190 this->m_objName.toChar(),
3192 "CS_SequenceComplete ",
3218 this->timeCaller_out(0, _logTime);
3228 #if FW_AMPCS_COMPATIBLE 3233 static_cast<FwAssertArgType>(_status)
3243 static_cast<FwAssertArgType>(_status)
3246 #if FW_AMPCS_COMPATIBLE 3249 static_cast<U8>(
sizeof(U32))
3253 static_cast<FwAssertArgType>(_status)
3259 static_cast<FwAssertArgType>(_status)
3262 #if FW_AMPCS_COMPATIBLE 3269 static_cast<FwAssertArgType>(_status)
3275 static_cast<FwAssertArgType>(_status)
3278 #if FW_AMPCS_COMPATIBLE 3281 static_cast<U8>(
sizeof(U32))
3285 static_cast<FwAssertArgType>(_status)
3291 static_cast<FwAssertArgType>(_status)
3304 #if FW_ENABLE_TEXT_LOGGING 3305 if (this->isConnected_LogText_OutputPort(0)) {
3306 #if FW_OBJECT_NAMES == 1 3307 const char* _formatString =
3308 "(%s) %s: Sequence file %s: Command %" PRIu32
" (opcode %" PRIu32
") completed with error %" PRIu32
"";
3310 const char* _formatString =
3311 "%s: Sequence file %s: Command %" PRIu32
" (opcode %" PRIu32
") completed with error %" PRIu32
"";
3318 this->m_objName.toChar(),
3344 this->timeCaller_out(0, _logTime);
3353 #if FW_AMPCS_COMPATIBLE 3359 static_cast<FwAssertArgType>(_status)
3373 #if FW_ENABLE_TEXT_LOGGING 3374 if (this->isConnected_LogText_OutputPort(0)) {
3375 #if FW_OBJECT_NAMES == 1 3376 const char* _formatString =
3377 "(%s) %s: Invalid mode";
3379 const char* _formatString =
3387 this->m_objName.toChar(),
3413 this->timeCaller_out(0, _logTime);
3423 #if FW_AMPCS_COMPATIBLE 3428 static_cast<FwAssertArgType>(_status)
3438 static_cast<FwAssertArgType>(_status)
3441 #if FW_AMPCS_COMPATIBLE 3444 static_cast<U8>(
sizeof(U32))
3448 static_cast<FwAssertArgType>(_status)
3454 static_cast<FwAssertArgType>(_status)
3457 #if FW_AMPCS_COMPATIBLE 3460 static_cast<U8>(
sizeof(U32))
3464 static_cast<FwAssertArgType>(_status)
3470 static_cast<FwAssertArgType>(_status)
3483 #if FW_ENABLE_TEXT_LOGGING 3484 if (this->isConnected_LogText_OutputPort(0)) {
3485 #if FW_OBJECT_NAMES == 1 3486 const char* _formatString =
3487 "(%s) %s: Sequence file %s header records mismatch: %" PRIu32
" in header, found %" PRIu32
" extra bytes.";
3489 const char* _formatString =
3490 "%s: Sequence file %s header records mismatch: %" PRIu32
" in header, found %" PRIu32
" extra bytes.";
3497 this->m_objName.toChar(),
3499 "CS_RecordMismatch ",
3526 this->timeCaller_out(0, _logTime);
3536 #if FW_AMPCS_COMPATIBLE 3541 static_cast<FwAssertArgType>(_status)
3551 static_cast<FwAssertArgType>(_status)
3554 #if FW_AMPCS_COMPATIBLE 3557 static_cast<U8>(
sizeof(U16))
3561 static_cast<FwAssertArgType>(_status)
3567 static_cast<FwAssertArgType>(_status)
3570 #if FW_AMPCS_COMPATIBLE 3573 static_cast<U8>(
sizeof(U16))
3577 static_cast<FwAssertArgType>(_status)
3583 static_cast<FwAssertArgType>(_status)
3596 #if FW_ENABLE_TEXT_LOGGING 3597 if (this->isConnected_LogText_OutputPort(0)) {
3598 #if FW_OBJECT_NAMES == 1 3599 const char* _formatString =
3600 "(%s) %s: Sequence file %s: Current time base doesn't match sequence time: base: %" PRIu16
" seq: %" PRIu16
"";
3602 const char* _formatString =
3603 "%s: Sequence file %s: Current time base doesn't match sequence time: base: %" PRIu16
" seq: %" PRIu16
"";
3610 this->m_objName.toChar(),
3612 "CS_TimeBaseMismatch ",
3639 this->timeCaller_out(0, _logTime);
3649 #if FW_AMPCS_COMPATIBLE 3654 static_cast<FwAssertArgType>(_status)
3664 static_cast<FwAssertArgType>(_status)
3667 #if FW_AMPCS_COMPATIBLE 3670 static_cast<U8>(
sizeof(
U8))
3674 static_cast<FwAssertArgType>(_status)
3680 static_cast<FwAssertArgType>(_status)
3683 #if FW_AMPCS_COMPATIBLE 3686 static_cast<U8>(
sizeof(
U8))
3690 static_cast<FwAssertArgType>(_status)
3696 static_cast<FwAssertArgType>(_status)
3709 #if FW_ENABLE_TEXT_LOGGING 3710 if (this->isConnected_LogText_OutputPort(0)) {
3711 #if FW_OBJECT_NAMES == 1 3712 const char* _formatString =
3713 "(%s) %s: Sequence file %s: Current time context doesn't match sequence context: base: %" PRIu8
" seq: %" PRIu8
"";
3715 const char* _formatString =
3716 "%s: Sequence file %s: Current time context doesn't match sequence context: base: %" PRIu8
" seq: %" PRIu8
"";
3723 this->m_objName.toChar(),
3725 "CS_TimeContextMismatch ",
3748 this->timeCaller_out(0, _logTime);
3758 #if FW_AMPCS_COMPATIBLE 3763 static_cast<FwAssertArgType>(_status)
3773 static_cast<FwAssertArgType>(_status)
3786 #if FW_ENABLE_TEXT_LOGGING 3787 if (this->isConnected_LogText_OutputPort(0)) {
3788 #if FW_OBJECT_NAMES == 1 3789 const char* _formatString =
3790 "(%s) %s: Local request for sequence %s started.";
3792 const char* _formatString =
3793 "%s: Local request for sequence %s started.";
3800 this->m_objName.toChar(),
3802 "CS_PortSequenceStarted ",
3823 this->timeCaller_out(0, _logTime);
3833 #if FW_AMPCS_COMPATIBLE 3838 static_cast<FwAssertArgType>(_status)
3842 #if FW_AMPCS_COMPATIBLE 3849 static_cast<FwAssertArgType>(_status)
3855 static_cast<FwAssertArgType>(_status)
3868 #if FW_ENABLE_TEXT_LOGGING 3869 if (this->isConnected_LogText_OutputPort(0)) {
3870 #if FW_OBJECT_NAMES == 1 3871 const char* _formatString =
3872 "(%s) %s: Command complete status received while no sequences active. Opcode: %" PRIu32
"";
3874 const char* _formatString =
3875 "%s: Command complete status received while no sequences active. Opcode: %" PRIu32
"";
3882 this->m_objName.toChar(),
3884 "CS_UnexpectedCompletion ",
3905 this->timeCaller_out(0, _logTime);
3915 #if FW_AMPCS_COMPATIBLE 3920 static_cast<FwAssertArgType>(_status)
3924 #if FW_AMPCS_COMPATIBLE 3931 static_cast<FwAssertArgType>(_status)
3937 static_cast<FwAssertArgType>(_status)
3950 #if FW_ENABLE_TEXT_LOGGING 3951 if (this->isConnected_LogText_OutputPort(0)) {
3952 #if FW_OBJECT_NAMES == 1 3953 const char* _formatString =
3954 "(%s) %s: Sequencer switched to %s step mode";
3956 const char* _formatString =
3957 "%s: Sequencer switched to %s step mode";
3961 mode.toString(modeStr);
3967 this->m_objName.toChar(),
3990 this->timeCaller_out(0, _logTime);
3999 #if FW_AMPCS_COMPATIBLE 4005 static_cast<FwAssertArgType>(_status)
4019 #if FW_ENABLE_TEXT_LOGGING 4020 if (this->isConnected_LogText_OutputPort(0)) {
4021 #if FW_OBJECT_NAMES == 1 4022 const char* _formatString =
4023 "(%s) %s: No sequence active.";
4025 const char* _formatString =
4026 "%s: No sequence active.";
4033 this->m_objName.toChar(),
4035 "CS_NoSequenceActive " 4055 this->timeCaller_out(0, _logTime);
4065 #if FW_AMPCS_COMPATIBLE 4070 static_cast<FwAssertArgType>(_status)
4080 static_cast<FwAssertArgType>(_status)
4093 #if FW_ENABLE_TEXT_LOGGING 4094 if (this->isConnected_LogText_OutputPort(0)) {
4095 #if FW_OBJECT_NAMES == 1 4096 const char* _formatString =
4097 "(%s) %s: Sequence %s is valid.";
4099 const char* _formatString =
4100 "%s: Sequence %s is valid.";
4107 this->m_objName.toChar(),
4109 "CS_SequenceValid ",
4133 this->timeCaller_out(0, _logTime);
4143 #if FW_AMPCS_COMPATIBLE 4148 static_cast<FwAssertArgType>(_status)
4158 static_cast<FwAssertArgType>(_status)
4161 #if FW_AMPCS_COMPATIBLE 4164 static_cast<U8>(
sizeof(U32))
4168 static_cast<FwAssertArgType>(_status)
4174 static_cast<FwAssertArgType>(_status)
4187 #if FW_ENABLE_TEXT_LOGGING 4188 if (this->isConnected_LogText_OutputPort(0)) {
4189 #if FW_OBJECT_NAMES == 1 4190 const char* _formatString =
4191 "(%s) %s: Sequence %s timed out on command %" PRIu32
"";
4193 const char* _formatString =
4194 "%s: Sequence %s timed out on command %" PRIu32
"";
4201 this->m_objName.toChar(),
4203 "CS_SequenceTimeout ",
4228 this->timeCaller_out(0, _logTime);
4238 #if FW_AMPCS_COMPATIBLE 4243 static_cast<FwAssertArgType>(_status)
4253 static_cast<FwAssertArgType>(_status)
4256 #if FW_AMPCS_COMPATIBLE 4259 static_cast<U8>(
sizeof(U32))
4263 static_cast<FwAssertArgType>(_status)
4269 static_cast<FwAssertArgType>(_status)
4282 #if FW_ENABLE_TEXT_LOGGING 4283 if (this->isConnected_LogText_OutputPort(0)) {
4284 #if FW_OBJECT_NAMES == 1 4285 const char* _formatString =
4286 "(%s) %s: Sequence %s command %" PRIu32
" stepped";
4288 const char* _formatString =
4289 "%s: Sequence %s command %" PRIu32
" stepped";
4296 this->m_objName.toChar(),
4320 this->timeCaller_out(0, _logTime);
4330 #if FW_AMPCS_COMPATIBLE 4335 static_cast<FwAssertArgType>(_status)
4345 static_cast<FwAssertArgType>(_status)
4358 #if FW_ENABLE_TEXT_LOGGING 4359 if (this->isConnected_LogText_OutputPort(0)) {
4360 #if FW_OBJECT_NAMES == 1 4361 const char* _formatString =
4362 "(%s) %s: Sequence %s started";
4364 const char* _formatString =
4365 "%s: Sequence %s started";
4372 this->m_objName.toChar(),
4399 this->timeCaller_out(0, _logTime);
4409 #if FW_AMPCS_COMPATIBLE 4414 static_cast<FwAssertArgType>(_status)
4424 static_cast<FwAssertArgType>(_status)
4427 #if FW_AMPCS_COMPATIBLE 4430 static_cast<U8>(
sizeof(U32))
4434 static_cast<FwAssertArgType>(_status)
4440 static_cast<FwAssertArgType>(_status)
4443 #if FW_AMPCS_COMPATIBLE 4450 static_cast<FwAssertArgType>(_status)
4456 static_cast<FwAssertArgType>(_status)
4469 #if FW_ENABLE_TEXT_LOGGING 4470 if (this->isConnected_LogText_OutputPort(0)) {
4471 #if FW_OBJECT_NAMES == 1 4472 const char* _formatString =
4473 "(%s) %s: Start waiting for sequence file %s: Command %" PRIu32
" (opcode %" PRIu32
") to complete";
4475 const char* _formatString =
4476 "%s: Start waiting for sequence file %s: Command %" PRIu32
" (opcode %" PRIu32
") to complete";
4483 this->m_objName.toChar(),
4508 this->timeCaller_out(0, _logTime);
4517 #if FW_AMPCS_COMPATIBLE 4523 static_cast<FwAssertArgType>(_status)
4537 #if FW_ENABLE_TEXT_LOGGING 4538 if (this->isConnected_LogText_OutputPort(0)) {
4539 #if FW_OBJECT_NAMES == 1 4540 const char* _formatString =
4541 "(%s) %s: Still waiting for sequence file to complete";
4543 const char* _formatString =
4544 "%s: Still waiting for sequence file to complete";
4551 this->m_objName.toChar(),
4553 "CS_JoinWaitingNotComplete " 4573 this->timeCaller_out(0, _logTime);
4583 #if FW_AMPCS_COMPATIBLE 4588 static_cast<FwAssertArgType>(_status)
4598 static_cast<FwAssertArgType>(_status)
4611 #if FW_ENABLE_TEXT_LOGGING 4612 if (this->isConnected_LogText_OutputPort(0)) {
4613 #if FW_OBJECT_NAMES == 1 4614 const char* _formatString =
4615 "(%s) %s: Sequence file %s has no records. Ignoring.";
4617 const char* _formatString =
4618 "%s: Sequence file %s has no records. Ignoring.";
4625 this->m_objName.toChar(),
4658 this->timeCaller_out(0, _tlmTime);
4688 static_cast<FwAssertArgType>(_stat)
4710 static_cast<FwAssertArgType>(_stat)
4732 static_cast<FwAssertArgType>(_stat)
4754 static_cast<FwAssertArgType>(_stat)
4776 static_cast<FwAssertArgType>(_stat)
4796 this->timeCaller_out(0, _time);
4811 ComponentIpcSerializableBuffer _msg;
4821 static_cast<FwAssertArgType>(_msgStatus)
4831 static_cast<FwAssertArgType>(_deserStatus)
4834 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
4836 if (_msgType == CMDSEQUENCER_COMPONENT_EXIT) {
4841 _deserStatus = _msg.deserializeTo(portNum);
4844 static_cast<FwAssertArgType>(_deserStatus)
4849 case CMDRESPONSEIN_CMDRESPONSE: {
4852 _deserStatus = _msg.deserializeTo(opCode);
4855 static_cast<FwAssertArgType>(_deserStatus)
4860 _deserStatus = _msg.deserializeTo(cmdSeq);
4863 static_cast<FwAssertArgType>(_deserStatus)
4868 _deserStatus = _msg.deserializeTo(response);
4871 static_cast<FwAssertArgType>(_deserStatus)
4888 _deserStatus = _msg.deserializeTo(key);
4891 static_cast<FwAssertArgType>(_deserStatus)
4903 case SCHEDIN_SCHED: {
4906 _deserStatus = _msg.deserializeTo(context);
4909 static_cast<FwAssertArgType>(_deserStatus)
4921 case SEQCANCELIN_CMDSEQCANCEL: {
4929 case SEQDISPATCHIN_FILEDISPATCH: {
4932 Fw::ExternalString file_name(__fprime_ac_file_name_buffer,
sizeof __fprime_ac_file_name_buffer);
4933 _deserStatus = _msg.deserializeTo(file_name);
4936 static_cast<FwAssertArgType>(_deserStatus)
4948 case SEQRUNIN_CMDSEQIN: {
4951 Fw::ExternalString filename(__fprime_ac_filename_buffer,
sizeof __fprime_ac_filename_buffer);
4952 _deserStatus = _msg.deserializeTo(filename);
4955 static_cast<FwAssertArgType>(_deserStatus)
4970 _deserStatus = _msg.deserializeTo(_opCode);
4973 static_cast<FwAssertArgType>(_deserStatus)
4978 _deserStatus = _msg.deserializeTo(_cmdSeq);
4981 static_cast<FwAssertArgType>(_deserStatus)
4986 _deserStatus = _msg.deserializeTo(args);
4989 static_cast<FwAssertArgType>(_deserStatus)
5027 #if FW_CMD_CHECK_RESIDUAL 5048 case CMD_CS_VALIDATE: {
5051 _deserStatus = _msg.deserializeTo(_opCode);
5054 static_cast<FwAssertArgType>(_deserStatus)
5059 _deserStatus = _msg.deserializeTo(_cmdSeq);
5062 static_cast<FwAssertArgType>(_deserStatus)
5067 _deserStatus = _msg.deserializeTo(args);
5070 static_cast<FwAssertArgType>(_deserStatus)
5093 #if FW_CMD_CHECK_RESIDUAL 5113 case CMD_CS_CANCEL: {
5116 _deserStatus = _msg.deserializeTo(_opCode);
5119 static_cast<FwAssertArgType>(_deserStatus)
5124 _deserStatus = _msg.deserializeTo(_cmdSeq);
5127 static_cast<FwAssertArgType>(_deserStatus)
5132 _deserStatus = _msg.deserializeTo(args);
5135 static_cast<FwAssertArgType>(_deserStatus)
5143 #if FW_CMD_CHECK_RESIDUAL 5160 case CMD_CS_START: {
5163 _deserStatus = _msg.deserializeTo(_opCode);
5166 static_cast<FwAssertArgType>(_deserStatus)
5171 _deserStatus = _msg.deserializeTo(_cmdSeq);
5174 static_cast<FwAssertArgType>(_deserStatus)
5179 _deserStatus = _msg.deserializeTo(args);
5182 static_cast<FwAssertArgType>(_deserStatus)
5190 #if FW_CMD_CHECK_RESIDUAL 5210 _deserStatus = _msg.deserializeTo(_opCode);
5213 static_cast<FwAssertArgType>(_deserStatus)
5218 _deserStatus = _msg.deserializeTo(_cmdSeq);
5221 static_cast<FwAssertArgType>(_deserStatus)
5226 _deserStatus = _msg.deserializeTo(args);
5229 static_cast<FwAssertArgType>(_deserStatus)
5237 #if FW_CMD_CHECK_RESIDUAL 5257 _deserStatus = _msg.deserializeTo(_opCode);
5260 static_cast<FwAssertArgType>(_deserStatus)
5265 _deserStatus = _msg.deserializeTo(_cmdSeq);
5268 static_cast<FwAssertArgType>(_deserStatus)
5273 _deserStatus = _msg.deserializeTo(args);
5276 static_cast<FwAssertArgType>(_deserStatus)
5284 #if FW_CMD_CHECK_RESIDUAL 5301 case CMD_CS_MANUAL: {
5304 _deserStatus = _msg.deserializeTo(_opCode);
5307 static_cast<FwAssertArgType>(_deserStatus)
5312 _deserStatus = _msg.deserializeTo(_cmdSeq);
5315 static_cast<FwAssertArgType>(_deserStatus)
5320 _deserStatus = _msg.deserializeTo(args);
5323 static_cast<FwAssertArgType>(_deserStatus)
5331 #if FW_CMD_CHECK_RESIDUAL 5348 case CMD_CS_JOIN_WAIT: {
5351 _deserStatus = _msg.deserializeTo(_opCode);
5354 static_cast<FwAssertArgType>(_deserStatus)
5359 _deserStatus = _msg.deserializeTo(_cmdSeq);
5362 static_cast<FwAssertArgType>(_deserStatus)
5367 _deserStatus = _msg.deserializeTo(args);
5370 static_cast<FwAssertArgType>(_deserStatus)
5378 #if FW_CMD_CHECK_RESIDUAL 5405 void CmdSequencerComponentBase ::
5416 compPtr->cmdIn_handlerBase(
5428 void CmdSequencerComponentBase ::
5429 m_p_cmdResponseIn_in(
5439 compPtr->cmdResponseIn_handlerBase(
5447 void CmdSequencerComponentBase ::
5456 compPtr->pingIn_handlerBase(
5462 void CmdSequencerComponentBase ::
5471 compPtr->schedIn_handlerBase(
5477 void CmdSequencerComponentBase ::
5485 compPtr->seqCancelIn_handlerBase(portNum);
5488 void CmdSequencerComponentBase ::
5489 m_p_seqDispatchIn_in(
5497 compPtr->seqDispatchIn_handlerBase(
5503 void CmdSequencerComponentBase ::
5512 compPtr->seqRunIn_handlerBase(
5518 #if !FW_DIRECT_PORT_CALLS 5524 #if FW_ENABLE_TEXT_LOGGING 5526 void CmdSequencerComponentBase ::
5536 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
5537 static_cast<FwAssertArgType>(portNum)
5541 this->m_LogText_OutputPort[portNum].isConnected(),
5542 static_cast<FwAssertArgType>(portNum)
5544 this->m_LogText_OutputPort[portNum].invoke(
5554 void CmdSequencerComponentBase ::
5562 static_cast<FwAssertArgType>(portNum)
5566 this->m_cmdRegOut_OutputPort[portNum].isConnected(),
5567 static_cast<FwAssertArgType>(portNum)
5569 this->m_cmdRegOut_OutputPort[portNum].
invoke(
5574 void CmdSequencerComponentBase ::
5584 static_cast<FwAssertArgType>(portNum)
5588 this->m_cmdResponseOut_OutputPort[portNum].isConnected(),
5589 static_cast<FwAssertArgType>(portNum)
5591 this->m_cmdResponseOut_OutputPort[portNum].
invoke(
5598 void CmdSequencerComponentBase ::
5609 static_cast<FwAssertArgType>(portNum)
5613 this->m_logOut_OutputPort[portNum].isConnected(),
5614 static_cast<FwAssertArgType>(portNum)
5616 this->m_logOut_OutputPort[portNum].
invoke(
5624 void CmdSequencerComponentBase ::
5632 static_cast<FwAssertArgType>(portNum)
5636 this->m_timeCaller_OutputPort[portNum].isConnected(),
5637 static_cast<FwAssertArgType>(portNum)
5639 this->m_timeCaller_OutputPort[portNum].
invoke(
5644 void CmdSequencerComponentBase ::
5654 static_cast<FwAssertArgType>(portNum)
5658 this->m_tlmOut_OutputPort[portNum].isConnected(),
5659 static_cast<FwAssertArgType>(portNum)
5661 this->m_tlmOut_OutputPort[portNum].
invoke(
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
Validate a command sequence file.
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 connection.
void log_WARNING_HI_CS_InvalidMode() const
void init()
Initialization function.
static constexpr FwSizeType CAPACITY
A sequence related command came with no active sequence.
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()
Set the run mode to MANUAL.
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
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum) const
void log_ACTIVITY_HI_CS_ModeSwitched(Svc::CmdSequencer_SeqMode mode) const
static constexpr FwSizeType CAPACITY
void cmdResponseIn_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Handler base-class function for input port cmdResponseIn.
Channel ID for CS_Errors.
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()
void log_ACTIVITY_HI_CS_JoinWaiting(const Fw::StringBase &filename, U32 recordNumber, FwOpcodeType opCode) const
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.
Wait for the current running sequence file complete.
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
A manual sequence was started.
void CS_STEP_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void invoke(U32 key) const
Invoke a port connection.
static constexpr FwIndexType getNum_seqRunIn_InputPorts()
Channel ID for CS_LoadCommands.
The sequence file was too large.
virtual const CHAR * toChar() const =0
Convert to a C-style char*.
The Command Sequencer issued a command and received an error status in return.
static constexpr FwIndexType getNum_schedIn_InputPorts()
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
A sequence passed validation.
Fw::InputCmdResponsePort * get_cmdResponseIn_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_seqDone_OutputPorts()
virtual void seqCancelIn_handler(FwIndexType portNum)=0
Handler for input port seqCancelIn.
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
The sequence file format was invalid.
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
void init()
Initialization function.
Enum representing a command response.
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.
bool isConnected_seqDone_OutputPort(FwIndexType portNum) const
void log_WARNING_LO_CS_NoSequenceActive() const
void CS_START_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void log_WARNING_HI_CS_SequenceTimeout(const Fw::StringBase &filename, U32 command) const
bool isConnected_seqStartOut_OutputPort(FwIndexType portNum) 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.
void init()
Object initializer.
void cmdIn_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Handler base-class function for input port cmdIn.
Wait for sequences that are running to finish. Allow user to run multiple seq files in SEQ_NO_BLOCK m...
SerializeStatus
forward declaration for string
void set_seqDone_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to seqDone[portNum].
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.
A local port request to run a sequence was started.
void tlmWrite_CS_CommandsExecuted(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
void invoke(FwOpcodeType opCode) const
Invoke a port connection.
The Sequence File Loader could not read the sequence file.
static constexpr FwIndexType getNum_pingOut_OutputPorts()
static constexpr FwSizeType CAPACITY
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
The size of the serial representation.
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.
The running time base doesn't match the time base in the sequence files.
Run a command sequence file.
bool isConnected_logOut_OutputPort(FwIndexType portNum) const
Set the run mode to AUTO.
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
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum) const
A command status came back when no sequence was running.
#define FW_MIN(a, b)
MIN macro (deprecated in C++, use std::min)
A less serious but recoverable event.
The size of the serial representation.
void init()
Initialization function.
Cancel a command sequence.
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 connection.
void CS_JOIN_WAIT_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
The format of a command record was invalid.
Svc::InputCmdSeqInPort * get_seqRunIn_InputPort(FwIndexType portNum)
Serializable::SizeType getDeserializeSizeLeft() const override
Get remaining deserialization buffer size.
const char * toChar() const
Convert to a C-style char*.
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) const
Invoke a port connection.
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
Perform one step in a command sequence. Valid only if CmdSequencer is in MANUAL run mode...
void addCallPort(InputPingPort *callPort)
Register an input port.
The running time base doesn't match the time base in the sequence files.
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()
The Command Sequencer received a command that was invalid for its current mode.
A string backed by an external buffer.
A serious but recoverable event.
Channel ID for CS_SequencesCompleted.
Errors dispatching messages.
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val) const
Invoke a port connection.
Enum representing event severity.
void CS_AUTO_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void invoke(const Fw::StringBase &filename) const
Invoke a port connection.
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.
Start running a command sequence.
A command sequence was successfully canceled.
uint8_t U8
8-bit unsigned integer
void set_comCmdOut_OutputPort(FwIndexType portNum, Fw::InputComPort *port)
Connect port to comCmdOut[portNum].
static constexpr FwIndexType getNum_seqStartOut_OutputPorts()
static constexpr FwSizeType CAPACITY
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
The sequence file was not found.
Command failed to deserialize.
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
The Command Sequencer issued a command and received a success status in return.
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 connection.
bool isConnected_timeCaller_OutputPort(FwIndexType portNum) const
A command in a sequence was stepped through.
virtual void CS_MANUAL_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CS_MANUAL.
bool isConnected_pingOut_OutputPort(FwIndexType portNum) const
void CS_CANCEL_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
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.
void tlmWrite(FwChanIdType id, Fw::TlmBuffer &_tlmBuff, Fw::Time _tlmTime=Fw::Time()) const
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)
void seqStartOut_out(FwIndexType portNum, const Fw::StringBase &filename) const
Invoke output port seqStartOut.
The sequence file validation failed.
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.
void init()
Initialization function.
Channel ID for CS_CommandsExecuted.
void CS_RUN_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Svc::InputFileDispatchPort * get_seqDispatchIn_InputPort(FwIndexType portNum)
void comCmdOut_out(FwIndexType portNum, Fw::ComBuffer &data, U32 context) const
Invoke output port comCmdOut.
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 seqDone_out(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) const
Invoke output port seqDone.
void log_ACTIVITY_LO_CS_CommandComplete(const Fw::StringBase &fileName, U32 recordNumber, FwOpcodeType opCode) const
message sent/received okay
SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG) override
Deserialize an 8-bit unsigned integer value.
Sequence file was successfully loaded.
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.
Message will return with status when space is unavailable.
Implementation of malloc based allocator.
static constexpr FwSizeType CAPACITY
static constexpr FwIndexType getNum_pingIn_InputPorts()
Cannot run new sequence when current sequence file is still running.
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.
Sequencer blocking state.
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)
bool isConnected_tlmOut_OutputPort(FwIndexType portNum) const
void pingOut_out(FwIndexType portNum, U32 key) const
Invoke output port pingOut.
static constexpr FwSizeType CAPACITY
virtual void seqDispatchIn_preMsgHook(FwIndexType portNum, Fw::StringBase &file_name)
Pre-message hook for async input port seqDispatchIn.
bool isConnected_comCmdOut_OutputPort(FwIndexType portNum) const
void log_ACTIVITY_HI_CS_SequenceValid(const Fw::StringBase &filename) const
A sequence passed validation.
void log_WARNING_HI_CS_FileReadError(const Fw::StringBase &fileName) const
Channel ID for CS_CancelCommands.
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
message to exit active component task
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.
Number of records in header doesn't match number in file.