9 #if FW_ENABLE_TEXT_LOGGING 19 namespace SmSignalBuffer {
22 union SignalTypeUnion {
30 sizeof(SignalTypeUnion);
37 CMDRESPONSEIN_CMDRESPONSE,
45 CMD_DEBUG_SET_BREAKPOINT,
48 CMD_DEBUG_CLEAR_BREAKPOINT,
49 INT_IF_DIRECTIVE_BINARYREGOP,
51 INT_IF_DIRECTIVE_DESERSERREG,
52 INT_IF_DIRECTIVE_EXIT,
53 INT_IF_DIRECTIVE_GETPRM,
54 INT_IF_DIRECTIVE_GETTLM,
55 INT_IF_DIRECTIVE_GOTO,
57 INT_IF_DIRECTIVE_NOOP,
58 INT_IF_DIRECTIVE_SETREG,
59 INT_IF_DIRECTIVE_SETSERREG,
60 INT_IF_DIRECTIVE_UNARYREGOP,
61 INT_IF_DIRECTIVE_WAITABS,
62 INT_IF_DIRECTIVE_WAITREL,
63 INTERNAL_STATE_MACHINE_SIGNAL,
76 BYTE directive_binaryRegOpIntIfSize[
80 BYTE directive_cmdIntIfSize[
84 BYTE directive_deserSerRegIntIfSize[
88 BYTE directive_exitIntIfSize[
92 BYTE directive_getPrmIntIfSize[
96 BYTE directive_getTlmIntIfSize[
100 BYTE directive_gotoIntIfSize[
104 BYTE directive_ifIntIfSize[
108 BYTE directive_noOpIntIfSize[
112 BYTE directive_setRegIntIfSize[
116 BYTE directive_setSerRegIntIfSize[
120 BYTE directive_unaryRegOpIntIfSize[
124 BYTE directive_waitAbsIntIfSize[
128 BYTE directive_waitRelIntIfSize[
134 BYTE internalSmBufferSize[SmSignalBuffer::SERIALIZED_SIZE];
139 class ComponentIpcSerializableBuffer :
149 MAX_DATA_SIZE =
sizeof(BuffUnion),
151 SERIALIZATION_SIZE = DATA_OFFSET + MAX_DATA_SIZE
155 return sizeof(m_buff);
162 const U8* getBuffAddr()
const {
168 U8 m_buff[SERIALIZATION_SIZE];
179 m_component(component)
187 this->initBase(static_cast<FwEnumStoreType>(smId));
196 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
197 action_signalEntered(
Signal signal)
199 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_signalEntered(this->getId(), signal);
202 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
203 action_setSequenceFilePath(
208 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_setSequenceFilePath(this->getId(), signal, value);
211 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
212 action_setSequenceBlockState(
217 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_setSequenceBlockState(this->getId(), signal, value);
220 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
221 action_validate(
Signal signal)
223 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_validate(this->getId(), signal);
226 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
227 action_report_seqSucceeded(
Signal signal)
229 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_report_seqSucceeded(this->getId(), signal);
232 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
233 action_report_seqCancelled(
Signal signal)
235 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_report_seqCancelled(this->getId(), signal);
238 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
239 action_report_seqFailed(
Signal signal)
241 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_report_seqFailed(this->getId(), signal);
244 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
245 action_report_seqStarted(
Signal signal)
247 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_report_seqStarted(this->getId(), signal);
250 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
251 action_setGoalState_RUNNING(
Signal signal)
253 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_setGoalState_RUNNING(this->getId(), signal);
256 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
257 action_setGoalState_VALID(
Signal signal)
259 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_setGoalState_VALID(this->getId(), signal);
262 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
263 action_setGoalState_IDLE(
Signal signal)
265 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_setGoalState_IDLE(this->getId(), signal);
268 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
269 action_sendCmdResponse_OK(
Signal signal)
271 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_sendCmdResponse_OK(this->getId(), signal);
274 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
275 action_sendCmdResponse_EXECUTION_ERROR(
Signal signal)
277 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_sendCmdResponse_EXECUTION_ERROR(this->getId(), signal);
280 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
281 action_clearSequenceFile(
Signal signal)
283 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_clearSequenceFile(this->getId(), signal);
286 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
287 action_clearDebugBreakpoint(
Signal signal)
289 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_clearDebugBreakpoint(this->getId(), signal);
292 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
293 action_checkShouldWake(
Signal signal)
295 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_checkShouldWake(this->getId(), signal);
298 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
299 action_dispatchStatement(
Signal signal)
301 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_dispatchStatement(this->getId(), signal);
304 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
305 action_resetRuntime(
Signal signal)
307 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_resetRuntime(this->getId(), signal);
310 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
311 action_checkStatementTimeout(
Signal signal)
313 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_checkStatementTimeout(this->getId(), signal);
316 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
317 action_incrementSequenceCounter(
Signal signal)
319 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_incrementSequenceCounter(this->getId(), signal);
322 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
323 action_report_debugBroken(
Signal signal)
325 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_report_debugBroken(this->getId(), signal);
328 void FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
329 action_setDebugBreakpoint(
334 this->m_component.Svc_FpySequencer_SequencerStateMachine_action_setDebugBreakpoint(this->getId(), signal, value);
337 bool FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
338 guard_goalStateIs_RUNNING(
Signal signal)
const 340 return this->m_component.Svc_FpySequencer_SequencerStateMachine_guard_goalStateIs_RUNNING(this->getId(), signal);
343 bool FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
344 guard_shouldDebugBreak(
Signal signal)
const 346 return this->m_component.Svc_FpySequencer_SequencerStateMachine_guard_shouldDebugBreak(this->getId(), signal);
349 bool FpySequencerComponentBase::Svc_FpySequencer_SequencerStateMachine ::
350 guard_debugBreakOnce(
Signal signal)
const 352 return this->m_component.Svc_FpySequencer_SequencerStateMachine_guard_debugBreakOnce(this->getId(), signal);
377 this->m_cmdIn_InputPort[port].
init();
382 this->m_cmdIn_InputPort[port].
setPortNum(port);
384 #if FW_OBJECT_NAMES == 1 388 this->m_objName.toChar(),
391 this->m_cmdIn_InputPort[port].setObjName(portName.
toChar());
401 this->m_checkTimers_InputPort[port].
init();
406 this->m_checkTimers_InputPort[port].
setPortNum(port);
408 #if FW_OBJECT_NAMES == 1 412 this->m_objName.toChar(),
415 this->m_checkTimers_InputPort[port].setObjName(portName.
toChar());
425 this->m_cmdResponseIn_InputPort[port].
init();
430 this->m_cmdResponseIn_InputPort[port].
setPortNum(port);
432 #if FW_OBJECT_NAMES == 1 436 this->m_objName.toChar(),
439 this->m_cmdResponseIn_InputPort[port].setObjName(portName.
toChar());
449 this->m_pingIn_InputPort[port].
init();
454 this->m_pingIn_InputPort[port].
setPortNum(port);
456 #if FW_OBJECT_NAMES == 1 460 this->m_objName.toChar(),
463 this->m_pingIn_InputPort[port].setObjName(portName.
toChar());
473 this->m_seqRunIn_InputPort[port].
init();
478 this->m_seqRunIn_InputPort[port].
setPortNum(port);
480 #if FW_OBJECT_NAMES == 1 484 this->m_objName.toChar(),
487 this->m_seqRunIn_InputPort[port].setObjName(portName.
toChar());
497 this->m_tlmWrite_InputPort[port].
init();
502 this->m_tlmWrite_InputPort[port].
setPortNum(port);
504 #if FW_OBJECT_NAMES == 1 508 this->m_objName.toChar(),
511 this->m_tlmWrite_InputPort[port].setObjName(portName.
toChar());
521 this->m_cmdRegOut_OutputPort[port].
init();
523 #if FW_OBJECT_NAMES == 1 527 this->m_objName.toChar(),
530 this->m_cmdRegOut_OutputPort[port].setObjName(portName.
toChar());
540 this->m_cmdResponseOut_OutputPort[port].
init();
542 #if FW_OBJECT_NAMES == 1 546 this->m_objName.toChar(),
549 this->m_cmdResponseOut_OutputPort[port].setObjName(portName.
toChar());
559 this->m_logOut_OutputPort[port].
init();
561 #if FW_OBJECT_NAMES == 1 565 this->m_objName.toChar(),
568 this->m_logOut_OutputPort[port].setObjName(portName.
toChar());
572 #if FW_ENABLE_TEXT_LOGGING == 1 576 port < static_cast<FwIndexType>(this->getNum_logTextOut_OutputPorts());
579 this->m_logTextOut_OutputPort[port].
init();
581 #if FW_OBJECT_NAMES == 1 585 this->m_objName.toChar(),
588 this->m_logTextOut_OutputPort[port].setObjName(portName.
toChar());
599 this->m_prmGet_OutputPort[port].
init();
601 #if FW_OBJECT_NAMES == 1 605 this->m_objName.toChar(),
608 this->m_prmGet_OutputPort[port].setObjName(portName.
toChar());
618 this->m_prmSet_OutputPort[port].
init();
620 #if FW_OBJECT_NAMES == 1 624 this->m_objName.toChar(),
627 this->m_prmSet_OutputPort[port].setObjName(portName.
toChar());
637 this->m_timeCaller_OutputPort[port].
init();
639 #if FW_OBJECT_NAMES == 1 643 this->m_objName.toChar(),
646 this->m_timeCaller_OutputPort[port].setObjName(portName.
toChar());
656 this->m_tlmOut_OutputPort[port].
init();
658 #if FW_OBJECT_NAMES == 1 662 this->m_objName.toChar(),
665 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
675 this->m_cmdOut_OutputPort[port].
init();
677 #if FW_OBJECT_NAMES == 1 681 this->m_objName.toChar(),
684 this->m_cmdOut_OutputPort[port].setObjName(portName.
toChar());
694 this->m_getParam_OutputPort[port].
init();
696 #if FW_OBJECT_NAMES == 1 700 this->m_objName.toChar(),
703 this->m_getParam_OutputPort[port].setObjName(portName.
toChar());
713 this->m_getTlmChan_OutputPort[port].
init();
715 #if FW_OBJECT_NAMES == 1 719 this->m_objName.toChar(),
722 this->m_getTlmChan_OutputPort[port].setObjName(portName.
toChar());
732 this->m_pingOut_OutputPort[port].
init();
734 #if FW_OBJECT_NAMES == 1 738 this->m_objName.toChar(),
741 this->m_pingOut_OutputPort[port].setObjName(portName.
toChar());
751 this->m_seqDoneOut_OutputPort[port].
init();
753 #if FW_OBJECT_NAMES == 1 757 this->m_objName.toChar(),
760 this->m_seqDoneOut_OutputPort[port].setObjName(portName.
toChar());
770 this->m_seqStartOut_OutputPort[port].
init();
772 #if FW_OBJECT_NAMES == 1 776 this->m_objName.toChar(),
779 this->m_seqStartOut_OutputPort[port].setObjName(portName.
toChar());
786 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
790 static_cast<FwAssertArgType>(qStat)
803 static_cast<FwAssertArgType>(portNum)
806 return &this->m_cmdIn_InputPort[portNum];
818 static_cast<FwAssertArgType>(portNum)
821 return &this->m_checkTimers_InputPort[portNum];
829 static_cast<FwAssertArgType>(portNum)
832 return &this->m_cmdResponseIn_InputPort[portNum];
840 static_cast<FwAssertArgType>(portNum)
843 return &this->m_pingIn_InputPort[portNum];
851 static_cast<FwAssertArgType>(portNum)
854 return &this->m_seqRunIn_InputPort[portNum];
862 static_cast<FwAssertArgType>(portNum)
865 return &this->m_tlmWrite_InputPort[portNum];
880 static_cast<FwAssertArgType>(portNum)
883 this->m_cmdRegOut_OutputPort[portNum].
addCallPort(port);
894 static_cast<FwAssertArgType>(portNum)
897 this->m_cmdResponseOut_OutputPort[portNum].
addCallPort(port);
908 static_cast<FwAssertArgType>(portNum)
911 this->m_logOut_OutputPort[portNum].
addCallPort(port);
914 #if FW_ENABLE_TEXT_LOGGING == 1 916 void FpySequencerComponentBase ::
917 set_logTextOut_OutputPort(
923 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
924 static_cast<FwAssertArgType>(portNum)
927 this->m_logTextOut_OutputPort[portNum].addCallPort(port);
940 static_cast<FwAssertArgType>(portNum)
943 this->m_prmGet_OutputPort[portNum].
addCallPort(port);
954 static_cast<FwAssertArgType>(portNum)
957 this->m_prmSet_OutputPort[portNum].
addCallPort(port);
968 static_cast<FwAssertArgType>(portNum)
971 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
982 static_cast<FwAssertArgType>(portNum)
985 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
1000 static_cast<FwAssertArgType>(portNum)
1003 this->m_cmdOut_OutputPort[portNum].
addCallPort(port);
1014 static_cast<FwAssertArgType>(portNum)
1017 this->m_getParam_OutputPort[portNum].
addCallPort(port);
1028 static_cast<FwAssertArgType>(portNum)
1031 this->m_getTlmChan_OutputPort[portNum].
addCallPort(port);
1042 static_cast<FwAssertArgType>(portNum)
1045 this->m_pingOut_OutputPort[portNum].
addCallPort(port);
1056 static_cast<FwAssertArgType>(portNum)
1059 this->m_seqDoneOut_OutputPort[portNum].
addCallPort(port);
1070 static_cast<FwAssertArgType>(portNum)
1073 this->m_seqStartOut_OutputPort[portNum].
addCallPort(port);
1076 #if FW_PORT_SERIALIZATION 1085 Fw::InputSerializePort* port
1090 static_cast<FwAssertArgType>(portNum)
1093 this->m_cmdRegOut_OutputPort[portNum].registerSerialPort(port);
1099 Fw::InputSerializePort* port
1104 static_cast<FwAssertArgType>(portNum)
1107 this->m_cmdResponseOut_OutputPort[portNum].registerSerialPort(port);
1113 Fw::InputSerializePort* port
1118 static_cast<FwAssertArgType>(portNum)
1121 this->m_logOut_OutputPort[portNum].registerSerialPort(port);
1124 #if FW_ENABLE_TEXT_LOGGING == 1 1126 void FpySequencerComponentBase ::
1127 set_logTextOut_OutputPort(
1129 Fw::InputSerializePort* port
1133 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
1134 static_cast<FwAssertArgType>(portNum)
1137 this->m_logTextOut_OutputPort[portNum].registerSerialPort(port);
1145 Fw::InputSerializePort* port
1150 static_cast<FwAssertArgType>(portNum)
1153 this->m_prmSet_OutputPort[portNum].registerSerialPort(port);
1159 Fw::InputSerializePort* port
1164 static_cast<FwAssertArgType>(portNum)
1167 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
1173 Fw::InputSerializePort* port
1178 static_cast<FwAssertArgType>(portNum)
1181 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
1186 #if FW_PORT_SERIALIZATION 1195 Fw::InputSerializePort* port
1200 static_cast<FwAssertArgType>(portNum)
1203 this->m_cmdOut_OutputPort[portNum].registerSerialPort(port);
1209 Fw::InputSerializePort* port
1214 static_cast<FwAssertArgType>(portNum)
1217 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
1223 Fw::InputSerializePort* port
1228 static_cast<FwAssertArgType>(portNum)
1231 this->m_seqDoneOut_OutputPort[portNum].registerSerialPort(port);
1237 Fw::InputSerializePort* port
1242 static_cast<FwAssertArgType>(portNum)
1245 this->m_seqStartOut_OutputPort[portNum].registerSerialPort(port);
1257 FW_ASSERT(this->m_cmdRegOut_OutputPort[0].isConnected());
1259 this->m_cmdRegOut_OutputPort[0].
invoke(
1263 this->m_cmdRegOut_OutputPort[0].
invoke(
1267 this->m_cmdRegOut_OutputPort[0].
invoke(
1271 this->m_cmdRegOut_OutputPort[0].
invoke(
1275 this->m_cmdRegOut_OutputPort[0].
invoke(
1279 this->m_cmdRegOut_OutputPort[0].
invoke(
1283 this->m_cmdRegOut_OutputPort[0].
invoke(
1287 this->m_cmdRegOut_OutputPort[0].
invoke(
1291 this->m_cmdRegOut_OutputPort[0].
invoke(
1295 this->m_cmdRegOut_OutputPort[0].
invoke(
1310 FW_ASSERT(this->m_prmGet_OutputPort[0].isConnected());
1317 this->m_param_STATEMENT_TIMEOUT_SECS_valid =
1318 this->m_prmGet_OutputPort[0].
invoke(
1324 this->m_paramLock.
lock();
1328 _stat = _buff.
deserialize(this->m_STATEMENT_TIMEOUT_SECS);
1332 this->m_STATEMENT_TIMEOUT_SECS = 0.0f;
1338 this->m_STATEMENT_TIMEOUT_SECS = 0.0f;
1341 this->m_paramLock.
unLock();
1354 m_stateMachine_sequencer(*this)
1357 this->m_first_update_State =
true;
1358 this->m_last_State = 0;
1361 this->m_first_update_SequencesSucceeded =
true;
1362 this->m_last_SequencesSucceeded = 0;
1365 this->m_first_update_SequencesFailed =
true;
1366 this->m_last_SequencesFailed = 0;
1369 this->m_first_update_SequencesCancelled =
true;
1370 this->m_last_SequencesCancelled = 0;
1373 this->m_first_update_StatementsDispatched =
true;
1374 this->m_last_StatementsDispatched = 0;
1377 this->m_first_update_StatementsFailed =
true;
1378 this->m_last_StatementsFailed = 0;
1381 this->m_first_update_LastDirectiveError =
true;
1384 this->m_first_update_SeqPath =
true;
1387 this->m_first_update_DebugBreakpointIdx =
true;
1388 this->m_last_DebugBreakpointIdx = 0;
1391 this->m_first_update_Debug =
true;
1394 this->m_first_update_PRM_STATEMENT_TIMEOUT_SECS =
true;
1395 this->m_last_PRM_STATEMENT_TIMEOUT_SECS = 0;
1472 #if FW_ENABLE_TEXT_LOGGING == 1 1475 getNum_logTextOut_OutputPorts()
const 1555 static_cast<FwAssertArgType>(portNum)
1558 return this->m_cmdRegOut_OutputPort[portNum].
isConnected();
1566 static_cast<FwAssertArgType>(portNum)
1569 return this->m_cmdResponseOut_OutputPort[portNum].
isConnected();
1577 static_cast<FwAssertArgType>(portNum)
1580 return this->m_logOut_OutputPort[portNum].
isConnected();
1583 #if FW_ENABLE_TEXT_LOGGING == 1 1585 bool FpySequencerComponentBase ::
1586 isConnected_logTextOut_OutputPort(
FwIndexType portNum)
1589 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
1590 static_cast<FwAssertArgType>(portNum)
1593 return this->m_logTextOut_OutputPort[portNum].isConnected();
1603 static_cast<FwAssertArgType>(portNum)
1606 return this->m_prmGet_OutputPort[portNum].
isConnected();
1614 static_cast<FwAssertArgType>(portNum)
1617 return this->m_prmSet_OutputPort[portNum].
isConnected();
1625 static_cast<FwAssertArgType>(portNum)
1628 return this->m_timeCaller_OutputPort[portNum].
isConnected();
1636 static_cast<FwAssertArgType>(portNum)
1639 return this->m_tlmOut_OutputPort[portNum].
isConnected();
1651 static_cast<FwAssertArgType>(portNum)
1654 return this->m_cmdOut_OutputPort[portNum].
isConnected();
1662 static_cast<FwAssertArgType>(portNum)
1665 return this->m_getParam_OutputPort[portNum].
isConnected();
1673 static_cast<FwAssertArgType>(portNum)
1676 return this->m_getTlmChan_OutputPort[portNum].
isConnected();
1684 static_cast<FwAssertArgType>(portNum)
1687 return this->m_pingOut_OutputPort[portNum].
isConnected();
1695 static_cast<FwAssertArgType>(portNum)
1698 return this->m_seqDoneOut_OutputPort[portNum].
isConnected();
1706 static_cast<FwAssertArgType>(portNum)
1709 return this->m_seqStartOut_OutputPort[portNum].
isConnected();
1727 static_cast<FwAssertArgType>(portNum)
1735 ComponentIpcSerializableBuffer msg;
1739 _status = msg.serialize(
1740 static_cast<FwEnumStoreType>(CHECKTIMERS_SCHED)
1744 static_cast<FwAssertArgType>(_status)
1748 _status = msg.serialize(portNum);
1751 static_cast<FwAssertArgType>(_status)
1755 _status = msg.serialize(context);
1758 static_cast<FwAssertArgType>(_status)
1767 static_cast<FwAssertArgType>(qStatus)
1782 static_cast<FwAssertArgType>(portNum)
1792 ComponentIpcSerializableBuffer msg;
1796 _status = msg.serialize(
1797 static_cast<FwEnumStoreType>(CMDRESPONSEIN_CMDRESPONSE)
1801 static_cast<FwAssertArgType>(_status)
1805 _status = msg.serialize(portNum);
1808 static_cast<FwAssertArgType>(_status)
1812 _status = msg.serialize(opCode);
1815 static_cast<FwAssertArgType>(_status)
1819 _status = msg.serialize(
cmdSeq);
1822 static_cast<FwAssertArgType>(_status)
1826 _status = msg.serialize(response);
1829 static_cast<FwAssertArgType>(_status)
1838 static_cast<FwAssertArgType>(qStatus)
1851 static_cast<FwAssertArgType>(portNum)
1859 ComponentIpcSerializableBuffer msg;
1863 _status = msg.serialize(
1864 static_cast<FwEnumStoreType>(PINGIN_PING)
1868 static_cast<FwAssertArgType>(_status)
1872 _status = msg.serialize(portNum);
1875 static_cast<FwAssertArgType>(_status)
1879 _status = msg.serialize(key);
1882 static_cast<FwAssertArgType>(_status)
1891 static_cast<FwAssertArgType>(qStatus)
1904 static_cast<FwAssertArgType>(portNum)
1912 ComponentIpcSerializableBuffer msg;
1916 _status = msg.serialize(
1917 static_cast<FwEnumStoreType>(SEQRUNIN_CMDSEQIN)
1921 static_cast<FwAssertArgType>(_status)
1925 _status = msg.serialize(portNum);
1928 static_cast<FwAssertArgType>(_status)
1935 static_cast<FwAssertArgType>(_status)
1944 static_cast<FwAssertArgType>(qStatus)
1957 static_cast<FwAssertArgType>(portNum)
1965 ComponentIpcSerializableBuffer msg;
1969 _status = msg.serialize(
1970 static_cast<FwEnumStoreType>(TLMWRITE_SCHED)
1974 static_cast<FwAssertArgType>(_status)
1978 _status = msg.serialize(portNum);
1981 static_cast<FwAssertArgType>(_status)
1985 _status = msg.serialize(context);
1988 static_cast<FwAssertArgType>(_status)
1997 static_cast<FwAssertArgType>(qStatus)
2069 static_cast<FwAssertArgType>(portNum)
2073 this->m_cmdOut_OutputPort[portNum].isConnected(),
2074 static_cast<FwAssertArgType>(portNum)
2076 this->m_cmdOut_OutputPort[portNum].
invoke(
2091 static_cast<FwAssertArgType>(portNum)
2095 this->m_getParam_OutputPort[portNum].isConnected(),
2096 static_cast<FwAssertArgType>(portNum)
2098 return this->m_getParam_OutputPort[portNum].
invoke(
2114 static_cast<FwAssertArgType>(portNum)
2118 this->m_getTlmChan_OutputPort[portNum].isConnected(),
2119 static_cast<FwAssertArgType>(portNum)
2121 return this->m_getTlmChan_OutputPort[portNum].
invoke(
2136 static_cast<FwAssertArgType>(portNum)
2140 this->m_pingOut_OutputPort[portNum].isConnected(),
2141 static_cast<FwAssertArgType>(portNum)
2143 this->m_pingOut_OutputPort[portNum].
invoke(
2158 static_cast<FwAssertArgType>(portNum)
2162 this->m_seqDoneOut_OutputPort[portNum].isConnected(),
2163 static_cast<FwAssertArgType>(portNum)
2165 this->m_seqDoneOut_OutputPort[portNum].
invoke(
2180 static_cast<FwAssertArgType>(portNum)
2184 this->m_seqStartOut_OutputPort[portNum].isConnected(),
2185 static_cast<FwAssertArgType>(portNum)
2187 this->m_seqStartOut_OutputPort[portNum].
invoke(
2199 ComponentIpcSerializableBuffer msg;
2203 _status = msg.serialize(static_cast<FwEnumStoreType>(INT_IF_DIRECTIVE_BINARYREGOP));
2206 static_cast<FwAssertArgType>(_status)
2210 _status = msg.serialize(static_cast<FwIndexType>(0));
2213 static_cast<FwAssertArgType>(_status)
2216 _status = msg.serialize(directive);
2219 static_cast<FwAssertArgType>(_status)
2228 static_cast<FwAssertArgType>(qStatus)
2235 ComponentIpcSerializableBuffer msg;
2239 _status = msg.serialize(static_cast<FwEnumStoreType>(INT_IF_DIRECTIVE_CMD));
2242 static_cast<FwAssertArgType>(_status)
2246 _status = msg.serialize(static_cast<FwIndexType>(0));
2249 static_cast<FwAssertArgType>(_status)
2252 _status = msg.serialize(directive);
2255 static_cast<FwAssertArgType>(_status)
2264 static_cast<FwAssertArgType>(qStatus)
2271 ComponentIpcSerializableBuffer msg;
2275 _status = msg.serialize(static_cast<FwEnumStoreType>(INT_IF_DIRECTIVE_DESERSERREG));
2278 static_cast<FwAssertArgType>(_status)
2282 _status = msg.serialize(static_cast<FwIndexType>(0));
2285 static_cast<FwAssertArgType>(_status)
2288 _status = msg.serialize(directive);
2291 static_cast<FwAssertArgType>(_status)
2300 static_cast<FwAssertArgType>(qStatus)
2307 ComponentIpcSerializableBuffer msg;
2311 _status = msg.serialize(static_cast<FwEnumStoreType>(INT_IF_DIRECTIVE_EXIT));
2314 static_cast<FwAssertArgType>(_status)
2318 _status = msg.serialize(static_cast<FwIndexType>(0));
2321 static_cast<FwAssertArgType>(_status)
2324 _status = msg.serialize(directive);
2327 static_cast<FwAssertArgType>(_status)
2336 static_cast<FwAssertArgType>(qStatus)
2343 ComponentIpcSerializableBuffer msg;
2347 _status = msg.serialize(static_cast<FwEnumStoreType>(INT_IF_DIRECTIVE_GETPRM));
2350 static_cast<FwAssertArgType>(_status)
2354 _status = msg.serialize(static_cast<FwIndexType>(0));
2357 static_cast<FwAssertArgType>(_status)
2360 _status = msg.serialize(directive);
2363 static_cast<FwAssertArgType>(_status)
2372 static_cast<FwAssertArgType>(qStatus)
2379 ComponentIpcSerializableBuffer msg;
2383 _status = msg.serialize(static_cast<FwEnumStoreType>(INT_IF_DIRECTIVE_GETTLM));
2386 static_cast<FwAssertArgType>(_status)
2390 _status = msg.serialize(static_cast<FwIndexType>(0));
2393 static_cast<FwAssertArgType>(_status)
2396 _status = msg.serialize(directive);
2399 static_cast<FwAssertArgType>(_status)
2408 static_cast<FwAssertArgType>(qStatus)
2415 ComponentIpcSerializableBuffer msg;
2419 _status = msg.serialize(static_cast<FwEnumStoreType>(INT_IF_DIRECTIVE_GOTO));
2422 static_cast<FwAssertArgType>(_status)
2426 _status = msg.serialize(static_cast<FwIndexType>(0));
2429 static_cast<FwAssertArgType>(_status)
2432 _status = msg.serialize(directive);
2435 static_cast<FwAssertArgType>(_status)
2444 static_cast<FwAssertArgType>(qStatus)
2451 ComponentIpcSerializableBuffer msg;
2455 _status = msg.serialize(static_cast<FwEnumStoreType>(INT_IF_DIRECTIVE_IF));
2458 static_cast<FwAssertArgType>(_status)
2462 _status = msg.serialize(static_cast<FwIndexType>(0));
2465 static_cast<FwAssertArgType>(_status)
2468 _status = msg.serialize(directive);
2471 static_cast<FwAssertArgType>(_status)
2480 static_cast<FwAssertArgType>(qStatus)
2487 ComponentIpcSerializableBuffer msg;
2491 _status = msg.serialize(static_cast<FwEnumStoreType>(INT_IF_DIRECTIVE_NOOP));
2494 static_cast<FwAssertArgType>(_status)
2498 _status = msg.serialize(static_cast<FwIndexType>(0));
2501 static_cast<FwAssertArgType>(_status)
2504 _status = msg.serialize(directive);
2507 static_cast<FwAssertArgType>(_status)
2516 static_cast<FwAssertArgType>(qStatus)
2523 ComponentIpcSerializableBuffer msg;
2527 _status = msg.serialize(static_cast<FwEnumStoreType>(INT_IF_DIRECTIVE_SETREG));
2530 static_cast<FwAssertArgType>(_status)
2534 _status = msg.serialize(static_cast<FwIndexType>(0));
2537 static_cast<FwAssertArgType>(_status)
2540 _status = msg.serialize(directive);
2543 static_cast<FwAssertArgType>(_status)
2552 static_cast<FwAssertArgType>(qStatus)
2559 ComponentIpcSerializableBuffer msg;
2563 _status = msg.serialize(static_cast<FwEnumStoreType>(INT_IF_DIRECTIVE_SETSERREG));
2566 static_cast<FwAssertArgType>(_status)
2570 _status = msg.serialize(static_cast<FwIndexType>(0));
2573 static_cast<FwAssertArgType>(_status)
2576 _status = msg.serialize(directive);
2579 static_cast<FwAssertArgType>(_status)
2588 static_cast<FwAssertArgType>(qStatus)
2595 ComponentIpcSerializableBuffer msg;
2599 _status = msg.serialize(static_cast<FwEnumStoreType>(INT_IF_DIRECTIVE_UNARYREGOP));
2602 static_cast<FwAssertArgType>(_status)
2606 _status = msg.serialize(static_cast<FwIndexType>(0));
2609 static_cast<FwAssertArgType>(_status)
2612 _status = msg.serialize(directive);
2615 static_cast<FwAssertArgType>(_status)
2624 static_cast<FwAssertArgType>(qStatus)
2631 ComponentIpcSerializableBuffer msg;
2635 _status = msg.serialize(static_cast<FwEnumStoreType>(INT_IF_DIRECTIVE_WAITABS));
2638 static_cast<FwAssertArgType>(_status)
2642 _status = msg.serialize(static_cast<FwIndexType>(0));
2645 static_cast<FwAssertArgType>(_status)
2648 _status = msg.serialize(directive);
2651 static_cast<FwAssertArgType>(_status)
2660 static_cast<FwAssertArgType>(qStatus)
2667 ComponentIpcSerializableBuffer msg;
2671 _status = msg.serialize(static_cast<FwEnumStoreType>(INT_IF_DIRECTIVE_WAITREL));
2674 static_cast<FwAssertArgType>(_status)
2678 _status = msg.serialize(static_cast<FwIndexType>(0));
2681 static_cast<FwAssertArgType>(_status)
2684 _status = msg.serialize(directive);
2687 static_cast<FwAssertArgType>(_status)
2696 static_cast<FwAssertArgType>(qStatus)
2707 return this->m_stateMachine_sequencer.
getState();
2717 ComponentIpcSerializableBuffer buffer;
2724 this->sequencer_sendSignalFinish(buffer);
2730 ComponentIpcSerializableBuffer buffer;
2737 this->sequencer_sendSignalFinish(buffer);
2743 ComponentIpcSerializableBuffer buffer;
2750 this->sequencer_sendSignalFinish(buffer);
2756 ComponentIpcSerializableBuffer buffer;
2760 this->sequencer_sendSignalFinish(buffer);
2766 ComponentIpcSerializableBuffer buffer;
2773 this->sequencer_sendSignalFinish(buffer);
2779 ComponentIpcSerializableBuffer buffer;
2783 this->sequencer_sendSignalFinish(buffer);
2789 ComponentIpcSerializableBuffer buffer;
2793 this->sequencer_sendSignalFinish(buffer);
2799 ComponentIpcSerializableBuffer buffer;
2803 this->sequencer_sendSignalFinish(buffer);
2809 ComponentIpcSerializableBuffer buffer;
2813 this->sequencer_sendSignalFinish(buffer);
2819 ComponentIpcSerializableBuffer buffer;
2823 this->sequencer_sendSignalFinish(buffer);
2829 ComponentIpcSerializableBuffer buffer;
2833 this->sequencer_sendSignalFinish(buffer);
2839 ComponentIpcSerializableBuffer buffer;
2843 this->sequencer_sendSignalFinish(buffer);
2849 ComponentIpcSerializableBuffer buffer;
2853 this->sequencer_sendSignalFinish(buffer);
2859 ComponentIpcSerializableBuffer buffer;
2863 this->sequencer_sendSignalFinish(buffer);
2869 ComponentIpcSerializableBuffer buffer;
2873 this->sequencer_sendSignalFinish(buffer);
2879 ComponentIpcSerializableBuffer buffer;
2883 this->sequencer_sendSignalFinish(buffer);
2889 ComponentIpcSerializableBuffer buffer;
2893 this->sequencer_sendSignalFinish(buffer);
2899 ComponentIpcSerializableBuffer buffer;
2903 this->sequencer_sendSignalFinish(buffer);
2909 ComponentIpcSerializableBuffer buffer;
2913 this->sequencer_sendSignalFinish(buffer);
2919 ComponentIpcSerializableBuffer buffer;
2923 this->sequencer_sendSignalFinish(buffer);
2929 ComponentIpcSerializableBuffer buffer;
2933 this->sequencer_sendSignalFinish(buffer);
2939 ComponentIpcSerializableBuffer buffer;
2943 this->sequencer_sendSignalFinish(buffer);
2949 ComponentIpcSerializableBuffer buffer;
2953 this->sequencer_sendSignalFinish(buffer);
2959 ComponentIpcSerializableBuffer buffer;
2963 this->sequencer_sendSignalFinish(buffer);
2969 ComponentIpcSerializableBuffer buffer;
2976 this->sequencer_sendSignalFinish(buffer);
2990 FW_ASSERT(this->m_cmdResponseOut_OutputPort[0].isConnected());
2991 this->m_cmdResponseOut_OutputPort[0].
invoke(opCode,
cmdSeq, response);
3012 ComponentIpcSerializableBuffer msg;
3016 _status = msg.serialize(static_cast<FwEnumStoreType>(CMD_RUN));
3019 static_cast<FwAssertArgType>(_status)
3025 _status = msg.serialize(port);
3028 static_cast<FwAssertArgType>(_status)
3031 _status = msg.serialize(opCode);
3034 static_cast<FwAssertArgType>(_status)
3037 _status = msg.serialize(
cmdSeq);
3040 static_cast<FwAssertArgType>(_status)
3043 _status = msg.serialize(args);
3046 static_cast<FwAssertArgType>(_status)
3055 static_cast<FwAssertArgType>(qStatus)
3071 ComponentIpcSerializableBuffer msg;
3075 _status = msg.serialize(static_cast<FwEnumStoreType>(CMD_VALIDATE));
3078 static_cast<FwAssertArgType>(_status)
3084 _status = msg.serialize(port);
3087 static_cast<FwAssertArgType>(_status)
3090 _status = msg.serialize(opCode);
3093 static_cast<FwAssertArgType>(_status)
3096 _status = msg.serialize(
cmdSeq);
3099 static_cast<FwAssertArgType>(_status)
3102 _status = msg.serialize(args);
3105 static_cast<FwAssertArgType>(_status)
3114 static_cast<FwAssertArgType>(qStatus)
3130 ComponentIpcSerializableBuffer msg;
3134 _status = msg.serialize(static_cast<FwEnumStoreType>(CMD_RUN_VALIDATED));
3137 static_cast<FwAssertArgType>(_status)
3143 _status = msg.serialize(port);
3146 static_cast<FwAssertArgType>(_status)
3149 _status = msg.serialize(opCode);
3152 static_cast<FwAssertArgType>(_status)
3155 _status = msg.serialize(
cmdSeq);
3158 static_cast<FwAssertArgType>(_status)
3161 _status = msg.serialize(args);
3164 static_cast<FwAssertArgType>(_status)
3173 static_cast<FwAssertArgType>(qStatus)
3189 ComponentIpcSerializableBuffer msg;
3193 _status = msg.serialize(static_cast<FwEnumStoreType>(CMD_CANCEL));
3196 static_cast<FwAssertArgType>(_status)
3202 _status = msg.serialize(port);
3205 static_cast<FwAssertArgType>(_status)
3208 _status = msg.serialize(opCode);
3211 static_cast<FwAssertArgType>(_status)
3214 _status = msg.serialize(
cmdSeq);
3217 static_cast<FwAssertArgType>(_status)
3220 _status = msg.serialize(args);
3223 static_cast<FwAssertArgType>(_status)
3232 static_cast<FwAssertArgType>(qStatus)
3248 ComponentIpcSerializableBuffer msg;
3252 _status = msg.serialize(static_cast<FwEnumStoreType>(CMD_DEBUG_SET_BREAKPOINT));
3255 static_cast<FwAssertArgType>(_status)
3261 _status = msg.serialize(port);
3264 static_cast<FwAssertArgType>(_status)
3267 _status = msg.serialize(opCode);
3270 static_cast<FwAssertArgType>(_status)
3273 _status = msg.serialize(
cmdSeq);
3276 static_cast<FwAssertArgType>(_status)
3279 _status = msg.serialize(args);
3282 static_cast<FwAssertArgType>(_status)
3291 static_cast<FwAssertArgType>(qStatus)
3307 ComponentIpcSerializableBuffer msg;
3311 _status = msg.serialize(static_cast<FwEnumStoreType>(CMD_DEBUG_BREAK));
3314 static_cast<FwAssertArgType>(_status)
3320 _status = msg.serialize(port);
3323 static_cast<FwAssertArgType>(_status)
3326 _status = msg.serialize(opCode);
3329 static_cast<FwAssertArgType>(_status)
3332 _status = msg.serialize(
cmdSeq);
3335 static_cast<FwAssertArgType>(_status)
3338 _status = msg.serialize(args);
3341 static_cast<FwAssertArgType>(_status)
3350 static_cast<FwAssertArgType>(qStatus)
3366 ComponentIpcSerializableBuffer msg;
3370 _status = msg.serialize(static_cast<FwEnumStoreType>(CMD_DEBUG_CONTINUE));
3373 static_cast<FwAssertArgType>(_status)
3379 _status = msg.serialize(port);
3382 static_cast<FwAssertArgType>(_status)
3385 _status = msg.serialize(opCode);
3388 static_cast<FwAssertArgType>(_status)
3391 _status = msg.serialize(
cmdSeq);
3394 static_cast<FwAssertArgType>(_status)
3397 _status = msg.serialize(args);
3400 static_cast<FwAssertArgType>(_status)
3409 static_cast<FwAssertArgType>(qStatus)
3425 ComponentIpcSerializableBuffer msg;
3429 _status = msg.serialize(static_cast<FwEnumStoreType>(CMD_DEBUG_CLEAR_BREAKPOINT));
3432 static_cast<FwAssertArgType>(_status)
3438 _status = msg.serialize(port);
3441 static_cast<FwAssertArgType>(_status)
3444 _status = msg.serialize(opCode);
3447 static_cast<FwAssertArgType>(_status)
3450 _status = msg.serialize(
cmdSeq);
3453 static_cast<FwAssertArgType>(_status)
3456 _status = msg.serialize(args);
3459 static_cast<FwAssertArgType>(_status)
3468 static_cast<FwAssertArgType>(qStatus)
3577 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3578 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
3586 if (this->m_logOut_OutputPort[0].isConnected()) {
3590 #if FW_AMPCS_COMPATIBLE 3592 _status = _logBuff.
serialize(static_cast<U8>(1));
3595 static_cast<FwAssertArgType>(_status)
3599 #if FW_AMPCS_COMPATIBLE 3602 static_cast<U8>(
sizeof(I32))
3606 static_cast<FwAssertArgType>(_status)
3612 static_cast<FwAssertArgType>(_status)
3615 this->m_logOut_OutputPort[0].
invoke(
3624 #if FW_ENABLE_TEXT_LOGGING 3625 if (this->m_logTextOut_OutputPort[0].isConnected()) {
3626 #if FW_OBJECT_NAMES == 1 3627 const char* _formatString =
3628 "(%s) %s: Cannot run command in state %" PRIi32
"";
3630 const char* _formatString =
3631 "%s: Cannot run command in state %" PRIi32
"";
3638 this->m_objName.toChar(),
3644 this->m_logTextOut_OutputPort[0].invoke(
3659 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3660 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
3668 if (this->m_logOut_OutputPort[0].isConnected()) {
3672 #if FW_AMPCS_COMPATIBLE 3674 _status = _logBuff.
serialize(static_cast<U8>(1));
3677 static_cast<FwAssertArgType>(_status)
3681 #if FW_AMPCS_COMPATIBLE 3684 static_cast<U8>(
sizeof(I32))
3688 static_cast<FwAssertArgType>(_status)
3694 static_cast<FwAssertArgType>(_status)
3697 this->m_logOut_OutputPort[0].
invoke(
3706 #if FW_ENABLE_TEXT_LOGGING 3707 if (this->m_logTextOut_OutputPort[0].isConnected()) {
3708 #if FW_OBJECT_NAMES == 1 3709 const char* _formatString =
3710 "(%s) %s: Cannot run sequence from a port in state %" PRIi32
"";
3712 const char* _formatString =
3713 "%s: Cannot run sequence from a port in state %" PRIi32
"";
3720 this->m_objName.toChar(),
3722 "InvalidSeqRunCall ",
3726 this->m_logTextOut_OutputPort[0].invoke(
3744 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3745 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
3753 if (this->m_logOut_OutputPort[0].isConnected()) {
3757 #if FW_AMPCS_COMPATIBLE 3759 _status = _logBuff.
serialize(static_cast<U8>(2));
3762 static_cast<FwAssertArgType>(_status)
3769 static_cast<FwAssertArgType>(_status)
3772 #if FW_AMPCS_COMPATIBLE 3775 static_cast<U8>(
sizeof(I32))
3779 static_cast<FwAssertArgType>(_status)
3782 _status = _logBuff.
serialize(errorCode);
3785 static_cast<FwAssertArgType>(_status)
3788 this->m_logOut_OutputPort[0].
invoke(
3797 #if FW_ENABLE_TEXT_LOGGING 3798 if (this->m_logTextOut_OutputPort[0].isConnected()) {
3799 #if FW_OBJECT_NAMES == 1 3800 const char* _formatString =
3801 "(%s) %s: File open error encountered while opening %s: %" PRIi32
"";
3803 const char* _formatString =
3804 "%s: File open error encountered while opening %s: %" PRIi32
"";
3811 this->m_objName.toChar(),
3818 this->m_logTextOut_OutputPort[0].invoke(
3836 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3837 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
3845 if (this->m_logOut_OutputPort[0].isConnected()) {
3849 #if FW_AMPCS_COMPATIBLE 3851 _status = _logBuff.
serialize(static_cast<U8>(2));
3854 static_cast<FwAssertArgType>(_status)
3861 static_cast<FwAssertArgType>(_status)
3864 #if FW_AMPCS_COMPATIBLE 3867 static_cast<U8>(
sizeof(I32))
3871 static_cast<FwAssertArgType>(_status)
3874 _status = _logBuff.
serialize(errorCode);
3877 static_cast<FwAssertArgType>(_status)
3880 this->m_logOut_OutputPort[0].
invoke(
3889 #if FW_ENABLE_TEXT_LOGGING 3890 if (this->m_logTextOut_OutputPort[0].isConnected()) {
3891 #if FW_OBJECT_NAMES == 1 3892 const char* _formatString =
3893 "(%s) %s: File read error encountered while reading %s: %" PRIi32
"";
3895 const char* _formatString =
3896 "%s: File read error encountered while reading %s: %" PRIi32
"";
3903 this->m_objName.toChar(),
3910 this->m_logTextOut_OutputPort[0].invoke(
3925 if (this->m_timeCaller_OutputPort[0].isConnected()) {
3926 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
3934 if (this->m_logOut_OutputPort[0].isConnected()) {
3938 #if FW_AMPCS_COMPATIBLE 3940 _status = _logBuff.
serialize(static_cast<U8>(1));
3943 static_cast<FwAssertArgType>(_status)
3950 static_cast<FwAssertArgType>(_status)
3953 this->m_logOut_OutputPort[0].
invoke(
3962 #if FW_ENABLE_TEXT_LOGGING 3963 if (this->m_logTextOut_OutputPort[0].isConnected()) {
3964 #if FW_OBJECT_NAMES == 1 3965 const char* _formatString =
3966 "(%s) %s: End of file encountered unexpectedly while reading %s";
3968 const char* _formatString =
3969 "%s: End of file encountered unexpectedly while reading %s";
3976 this->m_objName.toChar(),
3982 this->m_logTextOut_OutputPort[0].invoke(
4002 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4003 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
4011 if (this->m_logOut_OutputPort[0].isConnected()) {
4015 #if FW_AMPCS_COMPATIBLE 4017 _status = _logBuff.
serialize(static_cast<U8>(4));
4020 static_cast<FwAssertArgType>(_status)
4027 static_cast<FwAssertArgType>(_status)
4030 #if FW_AMPCS_COMPATIBLE 4033 static_cast<U8>(
sizeof(I32))
4037 static_cast<FwAssertArgType>(_status)
4040 _status = _logBuff.
serialize(errorCode);
4043 static_cast<FwAssertArgType>(_status)
4046 #if FW_AMPCS_COMPATIBLE 4049 static_cast<U8>(
sizeof(
U64))
4053 static_cast<FwAssertArgType>(_status)
4059 static_cast<FwAssertArgType>(_status)
4062 #if FW_AMPCS_COMPATIBLE 4065 static_cast<U8>(
sizeof(
U64))
4069 static_cast<FwAssertArgType>(_status)
4072 _status = _logBuff.
serialize(buffLength);
4075 static_cast<FwAssertArgType>(_status)
4078 this->m_logOut_OutputPort[0].
invoke(
4087 #if FW_ENABLE_TEXT_LOGGING 4088 if (this->m_logTextOut_OutputPort[0].isConnected()) {
4089 #if FW_OBJECT_NAMES == 1 4090 const char* _formatString =
4091 "(%s) %s: Deserialize error encountered while reading %s: %" PRIi32
" (%" PRIu64
" bytes left out of %" PRIu64
")";
4093 const char* _formatString =
4094 "%s: Deserialize error encountered while reading %s: %" PRIi32
" (%" PRIu64
" bytes left out of %" PRIu64
")";
4101 this->m_objName.toChar(),
4103 "FileReadDeserializeError ",
4110 this->m_logTextOut_OutputPort[0].invoke(
4128 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4129 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
4137 if (this->m_logOut_OutputPort[0].isConnected()) {
4141 #if FW_AMPCS_COMPATIBLE 4143 _status = _logBuff.
serialize(static_cast<U8>(2));
4146 static_cast<FwAssertArgType>(_status)
4150 #if FW_AMPCS_COMPATIBLE 4153 static_cast<U8>(
sizeof(
U8))
4157 static_cast<FwAssertArgType>(_status)
4163 static_cast<FwAssertArgType>(_status)
4166 #if FW_AMPCS_COMPATIBLE 4169 static_cast<U8>(
sizeof(
U8))
4173 static_cast<FwAssertArgType>(_status)
4179 static_cast<FwAssertArgType>(_status)
4182 this->m_logOut_OutputPort[0].
invoke(
4191 #if FW_ENABLE_TEXT_LOGGING 4192 if (this->m_logTextOut_OutputPort[0].isConnected()) {
4193 #if FW_OBJECT_NAMES == 1 4194 const char* _formatString =
4195 "(%s) %s: Expected schema version %" PRIu8
", found %" PRIu8
"";
4197 const char* _formatString =
4198 "%s: Expected schema version %" PRIu8
", found %" PRIu8
"";
4205 this->m_objName.toChar(),
4207 "WrongSchemaVersion ",
4212 this->m_logTextOut_OutputPort[0].invoke(
4230 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4231 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
4239 if (this->m_logOut_OutputPort[0].isConnected()) {
4243 #if FW_AMPCS_COMPATIBLE 4245 _status = _logBuff.
serialize(static_cast<U8>(2));
4248 static_cast<FwAssertArgType>(_status)
4252 #if FW_AMPCS_COMPATIBLE 4255 static_cast<U8>(
sizeof(U32))
4259 static_cast<FwAssertArgType>(_status)
4265 static_cast<FwAssertArgType>(_status)
4268 #if FW_AMPCS_COMPATIBLE 4271 static_cast<U8>(
sizeof(U32))
4275 static_cast<FwAssertArgType>(_status)
4281 static_cast<FwAssertArgType>(_status)
4284 this->m_logOut_OutputPort[0].
invoke(
4293 #if FW_ENABLE_TEXT_LOGGING 4294 if (this->m_logTextOut_OutputPort[0].isConnected()) {
4295 #if FW_OBJECT_NAMES == 1 4296 const char* _formatString =
4297 "(%s) %s: Expected CRC %" PRIu32
", actual was %" PRIu32
"";
4299 const char* _formatString =
4300 "%s: Expected CRC %" PRIu32
", actual was %" PRIu32
"";
4307 this->m_objName.toChar(),
4314 this->m_logTextOut_OutputPort[0].invoke(
4329 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4330 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
4338 if (this->m_logOut_OutputPort[0].isConnected()) {
4342 #if FW_AMPCS_COMPATIBLE 4344 _status = _logBuff.
serialize(static_cast<U8>(1));
4347 static_cast<FwAssertArgType>(_status)
4351 #if FW_AMPCS_COMPATIBLE 4354 static_cast<U8>(
sizeof(U32))
4358 static_cast<FwAssertArgType>(_status)
4361 _status = _logBuff.
serialize(remaining);
4364 static_cast<FwAssertArgType>(_status)
4367 this->m_logOut_OutputPort[0].
invoke(
4376 #if FW_ENABLE_TEXT_LOGGING 4377 if (this->m_logTextOut_OutputPort[0].isConnected()) {
4378 #if FW_OBJECT_NAMES == 1 4379 const char* _formatString =
4380 "(%s) %s: File had %" PRIu32
" extra bytes at the end";
4382 const char* _formatString =
4383 "%s: File had %" PRIu32
" extra bytes at the end";
4390 this->m_objName.toChar(),
4392 "ExtraBytesInSequence ",
4396 this->m_logTextOut_OutputPort[0].invoke(
4414 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4415 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
4423 if (this->m_logOut_OutputPort[0].isConnected()) {
4427 #if FW_AMPCS_COMPATIBLE 4429 _status = _logBuff.
serialize(static_cast<U8>(2));
4432 static_cast<FwAssertArgType>(_status)
4436 #if FW_AMPCS_COMPATIBLE 4439 static_cast<U8>(
sizeof(
U64))
4443 static_cast<FwAssertArgType>(_status)
4446 _status = _logBuff.
serialize(bufferSize);
4449 static_cast<FwAssertArgType>(_status)
4455 static_cast<FwAssertArgType>(_status)
4458 this->m_logOut_OutputPort[0].
invoke(
4467 #if FW_ENABLE_TEXT_LOGGING 4468 if (this->m_logTextOut_OutputPort[0].isConnected()) {
4469 #if FW_OBJECT_NAMES == 1 4470 const char* _formatString =
4471 "(%s) %s: Buffer capacity of %" PRIu64
" was not big enough for sequence %s";
4473 const char* _formatString =
4474 "%s: Buffer capacity of %" PRIu64
" was not big enough for sequence %s";
4481 this->m_objName.toChar(),
4483 "InsufficientBufferSpace ",
4488 this->m_logTextOut_OutputPort[0].invoke(
4508 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4509 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
4517 if (this->m_logOut_OutputPort[0].isConnected()) {
4521 #if FW_AMPCS_COMPATIBLE 4523 _status = _logBuff.
serialize(static_cast<U8>(4));
4526 static_cast<FwAssertArgType>(_status)
4530 #if FW_AMPCS_COMPATIBLE 4537 static_cast<FwAssertArgType>(_status)
4543 static_cast<FwAssertArgType>(_status)
4546 #if FW_AMPCS_COMPATIBLE 4549 static_cast<U8>(
sizeof(U32))
4553 static_cast<FwAssertArgType>(_status)
4559 static_cast<FwAssertArgType>(_status)
4565 static_cast<FwAssertArgType>(_status)
4568 #if FW_AMPCS_COMPATIBLE 4575 static_cast<FwAssertArgType>(_status)
4581 static_cast<FwAssertArgType>(_status)
4584 this->m_logOut_OutputPort[0].
invoke(
4593 #if FW_ENABLE_TEXT_LOGGING 4594 if (this->m_logTextOut_OutputPort[0].isConnected()) {
4595 #if FW_OBJECT_NAMES == 1 4596 const char* _formatString =
4597 "(%s) %s: Failed to execute command opcode %" PRIu32
" index %" PRIu32
" in sequence file %s: response was %s";
4599 const char* _formatString =
4600 "%s: Failed to execute command opcode %" PRIu32
" index %" PRIu32
" in sequence file %s: response was %s";
4604 response.toString(responseStr);
4610 this->m_objName.toChar(),
4619 this->m_logTextOut_OutputPort[0].invoke(
4634 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4635 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
4643 if (this->m_logOut_OutputPort[0].isConnected()) {
4647 #if FW_AMPCS_COMPATIBLE 4649 _status = _logBuff.
serialize(static_cast<U8>(1));
4652 static_cast<FwAssertArgType>(_status)
4659 static_cast<FwAssertArgType>(_status)
4662 this->m_logOut_OutputPort[0].
invoke(
4671 #if FW_ENABLE_TEXT_LOGGING 4672 if (this->m_logTextOut_OutputPort[0].isConnected()) {
4673 #if FW_OBJECT_NAMES == 1 4674 const char* _formatString =
4675 "(%s) %s: Completed sequence file %s";
4677 const char* _formatString =
4678 "%s: Completed sequence file %s";
4685 this->m_objName.toChar(),
4691 this->m_logTextOut_OutputPort[0].invoke(
4706 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4707 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
4715 if (this->m_logOut_OutputPort[0].isConnected()) {
4719 #if FW_AMPCS_COMPATIBLE 4721 _status = _logBuff.
serialize(static_cast<U8>(1));
4724 static_cast<FwAssertArgType>(_status)
4731 static_cast<FwAssertArgType>(_status)
4734 this->m_logOut_OutputPort[0].
invoke(
4743 #if FW_ENABLE_TEXT_LOGGING 4744 if (this->m_logTextOut_OutputPort[0].isConnected()) {
4745 #if FW_OBJECT_NAMES == 1 4746 const char* _formatString =
4747 "(%s) %s: Cancelled sequence file %s";
4749 const char* _formatString =
4750 "%s: Cancelled sequence file %s";
4757 this->m_objName.toChar(),
4759 "SequenceCancelled ",
4763 this->m_logTextOut_OutputPort[0].invoke(
4782 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4783 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
4791 if (this->m_logOut_OutputPort[0].isConnected()) {
4795 #if FW_AMPCS_COMPATIBLE 4797 _status = _logBuff.
serialize(static_cast<U8>(3));
4800 static_cast<FwAssertArgType>(_status)
4804 #if FW_AMPCS_COMPATIBLE 4807 static_cast<U8>(
sizeof(
U8))
4811 static_cast<FwAssertArgType>(_status)
4817 static_cast<FwAssertArgType>(_status)
4820 #if FW_AMPCS_COMPATIBLE 4823 static_cast<U8>(
sizeof(U32))
4827 static_cast<FwAssertArgType>(_status)
4833 static_cast<FwAssertArgType>(_status)
4839 static_cast<FwAssertArgType>(_status)
4842 this->m_logOut_OutputPort[0].
invoke(
4851 #if FW_ENABLE_TEXT_LOGGING 4852 if (this->m_logTextOut_OutputPort[0].isConnected()) {
4853 #if FW_OBJECT_NAMES == 1 4854 const char* _formatString =
4855 "(%s) %s: Unknown sequencer directive id %" PRIu8
" at index %" PRIu32
" in file %s";
4857 const char* _formatString =
4858 "%s: Unknown sequencer directive id %" PRIu8
" at index %" PRIu32
" in file %s";
4865 this->m_objName.toChar(),
4867 "UnknownSequencerDirective ",
4873 this->m_logTextOut_OutputPort[0].invoke(
4892 if (this->m_timeCaller_OutputPort[0].isConnected()) {
4893 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
4901 if (this->m_logOut_OutputPort[0].isConnected()) {
4905 #if FW_AMPCS_COMPATIBLE 4907 _status = _logBuff.
serialize(static_cast<U8>(3));
4910 static_cast<FwAssertArgType>(_status)
4914 #if FW_AMPCS_COMPATIBLE 4917 static_cast<U8>(
sizeof(I32))
4921 static_cast<FwAssertArgType>(_status)
4927 static_cast<FwAssertArgType>(_status)
4930 #if FW_AMPCS_COMPATIBLE 4937 static_cast<FwAssertArgType>(_status)
4943 static_cast<FwAssertArgType>(_status)
4946 #if FW_AMPCS_COMPATIBLE 4953 static_cast<FwAssertArgType>(_status)
4959 static_cast<FwAssertArgType>(_status)
4962 this->m_logOut_OutputPort[0].
invoke(
4971 #if FW_ENABLE_TEXT_LOGGING 4972 if (this->m_logTextOut_OutputPort[0].isConnected()) {
4973 #if FW_OBJECT_NAMES == 1 4974 const char* _formatString =
4975 "(%s) %s: Received a command response while not running a sequence (was in state %" PRIi32
" opcode was %" PRIu32
" response code %s)";
4977 const char* _formatString =
4978 "%s: Received a command response while not running a sequence (was in state %" PRIi32
" opcode was %" PRIu32
" response code %s)";
4982 response.toString(responseStr);
4988 this->m_objName.toChar(),
4990 "CmdResponseWhileNotRunningSequence ",
4996 this->m_logTextOut_OutputPort[0].invoke(
5011 U16 currentSequenceIdx
5016 if (this->m_timeCaller_OutputPort[0].isConnected()) {
5017 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
5025 if (this->m_logOut_OutputPort[0].isConnected()) {
5029 #if FW_AMPCS_COMPATIBLE 5031 _status = _logBuff.
serialize(static_cast<U8>(4));
5034 static_cast<FwAssertArgType>(_status)
5038 #if FW_AMPCS_COMPATIBLE 5045 static_cast<FwAssertArgType>(_status)
5051 static_cast<FwAssertArgType>(_status)
5054 #if FW_AMPCS_COMPATIBLE 5061 static_cast<FwAssertArgType>(_status)
5067 static_cast<FwAssertArgType>(_status)
5070 #if FW_AMPCS_COMPATIBLE 5073 static_cast<U8>(
sizeof(U16))
5077 static_cast<FwAssertArgType>(_status)
5080 _status = _logBuff.
serialize(oldSequenceIdx);
5083 static_cast<FwAssertArgType>(_status)
5086 #if FW_AMPCS_COMPATIBLE 5089 static_cast<U8>(
sizeof(U16))
5093 static_cast<FwAssertArgType>(_status)
5096 _status = _logBuff.
serialize(currentSequenceIdx);
5099 static_cast<FwAssertArgType>(_status)
5102 this->m_logOut_OutputPort[0].
invoke(
5111 #if FW_ENABLE_TEXT_LOGGING 5112 if (this->m_logTextOut_OutputPort[0].isConnected()) {
5113 #if FW_OBJECT_NAMES == 1 5114 const char* _formatString =
5115 "(%s) %s: Received a response from cmd opcode %" PRIu32
" (response %s), but it was from a previous sequence, not the current one (old idx: %" PRIu16
", current idx: %" PRIu16
")";
5117 const char* _formatString =
5118 "%s: Received a response from cmd opcode %" PRIu32
" (response %s), but it was from a previous sequence, not the current one (old idx: %" PRIu16
", current idx: %" PRIu16
")";
5122 response.toString(responseStr);
5128 this->m_objName.toChar(),
5130 "CmdResponseFromOldSequence ",
5137 this->m_logTextOut_OutputPort[0].invoke(
5155 if (this->m_timeCaller_OutputPort[0].isConnected()) {
5156 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
5164 if (this->m_logOut_OutputPort[0].isConnected()) {
5168 #if FW_AMPCS_COMPATIBLE 5170 _status = _logBuff.
serialize(static_cast<U8>(2));
5173 static_cast<FwAssertArgType>(_status)
5177 #if FW_AMPCS_COMPATIBLE 5184 static_cast<FwAssertArgType>(_status)
5190 static_cast<FwAssertArgType>(_status)
5193 #if FW_AMPCS_COMPATIBLE 5200 static_cast<FwAssertArgType>(_status)
5206 static_cast<FwAssertArgType>(_status)
5209 this->m_logOut_OutputPort[0].
invoke(
5218 #if FW_ENABLE_TEXT_LOGGING 5219 if (this->m_logTextOut_OutputPort[0].isConnected()) {
5220 #if FW_OBJECT_NAMES == 1 5221 const char* _formatString =
5222 "(%s) %s: Received a response from cmd opcode %" PRIu32
" (response %s) from this sequence, but was not awaiting a response";
5224 const char* _formatString =
5225 "%s: Received a response from cmd opcode %" PRIu32
" (response %s) from this sequence, but was not awaiting a response";
5229 response.toString(responseStr);
5235 this->m_objName.toChar(),
5237 "CmdResponseWhileNotAwaiting ",
5242 this->m_logTextOut_OutputPort[0].invoke(
5256 U8 expectedDirectiveOpcode
5261 if (this->m_timeCaller_OutputPort[0].isConnected()) {
5262 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
5270 if (this->m_logOut_OutputPort[0].isConnected()) {
5274 #if FW_AMPCS_COMPATIBLE 5276 _status = _logBuff.
serialize(static_cast<U8>(3));
5279 static_cast<FwAssertArgType>(_status)
5283 #if FW_AMPCS_COMPATIBLE 5290 static_cast<FwAssertArgType>(_status)
5296 static_cast<FwAssertArgType>(_status)
5299 #if FW_AMPCS_COMPATIBLE 5306 static_cast<FwAssertArgType>(_status)
5312 static_cast<FwAssertArgType>(_status)
5315 #if FW_AMPCS_COMPATIBLE 5318 static_cast<U8>(
sizeof(
U8))
5322 static_cast<FwAssertArgType>(_status)
5325 _status = _logBuff.
serialize(expectedDirectiveOpcode);
5328 static_cast<FwAssertArgType>(_status)
5331 this->m_logOut_OutputPort[0].
invoke(
5340 #if FW_ENABLE_TEXT_LOGGING 5341 if (this->m_logTextOut_OutputPort[0].isConnected()) {
5342 #if FW_OBJECT_NAMES == 1 5343 const char* _formatString =
5344 "(%s) %s: Received a response from cmd opcode %" PRIu32
" (response %s) from this sequence, but was awaiting directive opcode %" PRIu8
"";
5346 const char* _formatString =
5347 "%s: Received a response from cmd opcode %" PRIu32
" (response %s) from this sequence, but was awaiting directive opcode %" PRIu8
"";
5351 response.toString(responseStr);
5357 this->m_objName.toChar(),
5359 "CmdResponseWhileAwaitingDirective ",
5362 expectedDirectiveOpcode
5365 this->m_logTextOut_OutputPort[0].invoke(
5384 if (this->m_timeCaller_OutputPort[0].isConnected()) {
5385 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
5393 if (this->m_logOut_OutputPort[0].isConnected()) {
5397 #if FW_AMPCS_COMPATIBLE 5399 _status = _logBuff.
serialize(static_cast<U8>(3));
5402 static_cast<FwAssertArgType>(_status)
5406 #if FW_AMPCS_COMPATIBLE 5413 static_cast<FwAssertArgType>(_status)
5419 static_cast<FwAssertArgType>(_status)
5422 #if FW_AMPCS_COMPATIBLE 5429 static_cast<FwAssertArgType>(_status)
5435 static_cast<FwAssertArgType>(_status)
5438 #if FW_AMPCS_COMPATIBLE 5445 static_cast<FwAssertArgType>(_status)
5448 _status = _logBuff.
serialize(expectedOpcode);
5451 static_cast<FwAssertArgType>(_status)
5454 this->m_logOut_OutputPort[0].
invoke(
5463 #if FW_ENABLE_TEXT_LOGGING 5464 if (this->m_logTextOut_OutputPort[0].isConnected()) {
5465 #if FW_OBJECT_NAMES == 1 5466 const char* _formatString =
5467 "(%s) %s: Received a response from cmd opcode %" PRIu32
" (response %s) from this sequence, but was expecting a response from command opcode %" PRIu32
"";
5469 const char* _formatString =
5470 "%s: Received a response from cmd opcode %" PRIu32
" (response %s) from this sequence, but was expecting a response from command opcode %" PRIu32
"";
5474 response.toString(responseStr);
5480 this->m_objName.toChar(),
5482 "WrongCmdResponseOpcode ",
5488 this->m_logTextOut_OutputPort[0].invoke(
5508 if (this->m_timeCaller_OutputPort[0].isConnected()) {
5509 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
5517 if (this->m_logOut_OutputPort[0].isConnected()) {
5521 #if FW_AMPCS_COMPATIBLE 5523 _status = _logBuff.
serialize(static_cast<U8>(4));
5526 static_cast<FwAssertArgType>(_status)
5530 #if FW_AMPCS_COMPATIBLE 5537 static_cast<FwAssertArgType>(_status)
5543 static_cast<FwAssertArgType>(_status)
5546 #if FW_AMPCS_COMPATIBLE 5553 static_cast<FwAssertArgType>(_status)
5559 static_cast<FwAssertArgType>(_status)
5562 #if FW_AMPCS_COMPATIBLE 5565 static_cast<U8>(
sizeof(U16))
5569 static_cast<FwAssertArgType>(_status)
5572 _status = _logBuff.
serialize(actualCmdIdx);
5575 static_cast<FwAssertArgType>(_status)
5578 #if FW_AMPCS_COMPATIBLE 5581 static_cast<U8>(
sizeof(U16))
5585 static_cast<FwAssertArgType>(_status)
5588 _status = _logBuff.
serialize(expectedCmdIdx);
5591 static_cast<FwAssertArgType>(_status)
5594 this->m_logOut_OutputPort[0].
invoke(
5603 #if FW_ENABLE_TEXT_LOGGING 5604 if (this->m_logTextOut_OutputPort[0].isConnected()) {
5605 #if FW_OBJECT_NAMES == 1 5606 const char* _formatString =
5607 "(%s) %s: Received a response from the correct cmd (opcode %" PRIu32
" response %s), but it was for a different instance of that opcode in the same sequence (actual idx %" PRIu16
" expected %" PRIu16
")";
5609 const char* _formatString =
5610 "%s: Received a response from the correct cmd (opcode %" PRIu32
" response %s), but it was for a different instance of that opcode in the same sequence (actual idx %" PRIu16
" expected %" PRIu16
")";
5614 response.toString(responseStr);
5620 this->m_objName.toChar(),
5622 "WrongCmdResponseIndex ",
5629 this->m_logTextOut_OutputPort[0].invoke(
5650 if (this->m_timeCaller_OutputPort[0].isConnected()) {
5651 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
5659 if (this->m_logOut_OutputPort[0].isConnected()) {
5663 #if FW_AMPCS_COMPATIBLE 5665 _status = _logBuff.
serialize(static_cast<U8>(5));
5668 static_cast<FwAssertArgType>(_status)
5672 #if FW_AMPCS_COMPATIBLE 5675 static_cast<U8>(
sizeof(
U8))
5679 static_cast<FwAssertArgType>(_status)
5685 static_cast<FwAssertArgType>(_status)
5688 #if FW_AMPCS_COMPATIBLE 5691 static_cast<U8>(
sizeof(U32))
5695 static_cast<FwAssertArgType>(_status)
5701 static_cast<FwAssertArgType>(_status)
5704 #if FW_AMPCS_COMPATIBLE 5707 static_cast<U8>(
sizeof(I32))
5711 static_cast<FwAssertArgType>(_status)
5714 _status = _logBuff.
serialize(errorCode);
5717 static_cast<FwAssertArgType>(_status)
5720 #if FW_AMPCS_COMPATIBLE 5723 static_cast<U8>(
sizeof(
U64))
5727 static_cast<FwAssertArgType>(_status)
5733 static_cast<FwAssertArgType>(_status)
5736 #if FW_AMPCS_COMPATIBLE 5739 static_cast<U8>(
sizeof(
U64))
5743 static_cast<FwAssertArgType>(_status)
5746 _status = _logBuff.
serialize(buffLength);
5749 static_cast<FwAssertArgType>(_status)
5752 this->m_logOut_OutputPort[0].
invoke(
5761 #if FW_ENABLE_TEXT_LOGGING 5762 if (this->m_logTextOut_OutputPort[0].isConnected()) {
5763 #if FW_OBJECT_NAMES == 1 5764 const char* _formatString =
5765 "(%s) %s: Deserialize error encountered while reading directive opcode %" PRIu8
" at index %" PRIu32
": %" PRIi32
" (%" PRIu64
" bytes left out of %" PRIu64
")";
5767 const char* _formatString =
5768 "%s: Deserialize error encountered while reading directive opcode %" PRIu8
" at index %" PRIu32
": %" PRIi32
" (%" PRIu64
" bytes left out of %" PRIu64
")";
5775 this->m_objName.toChar(),
5777 "DirectiveDeserializeError ",
5785 this->m_logTextOut_OutputPort[0].invoke(
5797 I32 internalTimeBase,
5803 if (this->m_timeCaller_OutputPort[0].isConnected()) {
5804 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
5812 if (this->m_logOut_OutputPort[0].isConnected()) {
5816 #if FW_AMPCS_COMPATIBLE 5818 _status = _logBuff.
serialize(static_cast<U8>(2));
5821 static_cast<FwAssertArgType>(_status)
5825 #if FW_AMPCS_COMPATIBLE 5828 static_cast<U8>(
sizeof(I32))
5832 static_cast<FwAssertArgType>(_status)
5835 _status = _logBuff.
serialize(internalTimeBase);
5838 static_cast<FwAssertArgType>(_status)
5841 #if FW_AMPCS_COMPATIBLE 5844 static_cast<U8>(
sizeof(I32))
5848 static_cast<FwAssertArgType>(_status)
5851 _status = _logBuff.
serialize(otherTimeBase);
5854 static_cast<FwAssertArgType>(_status)
5857 this->m_logOut_OutputPort[0].
invoke(
5866 #if FW_ENABLE_TEXT_LOGGING 5867 if (this->m_logTextOut_OutputPort[0].isConnected()) {
5868 #if FW_OBJECT_NAMES == 1 5869 const char* _formatString =
5870 "(%s) %s: getTime() time base was %" PRIi32
", but tried to operate on it with time base %" PRIi32
"";
5872 const char* _formatString =
5873 "%s: getTime() time base was %" PRIi32
", but tried to operate on it with time base %" PRIi32
"";
5880 this->m_objName.toChar(),
5882 "MismatchedTimeBase ",
5887 this->m_logTextOut_OutputPort[0].invoke(
5899 I32 internalTimeContext,
5900 I32 otherTimeContext
5905 if (this->m_timeCaller_OutputPort[0].isConnected()) {
5906 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
5914 if (this->m_logOut_OutputPort[0].isConnected()) {
5918 #if FW_AMPCS_COMPATIBLE 5920 _status = _logBuff.
serialize(static_cast<U8>(2));
5923 static_cast<FwAssertArgType>(_status)
5927 #if FW_AMPCS_COMPATIBLE 5930 static_cast<U8>(
sizeof(I32))
5934 static_cast<FwAssertArgType>(_status)
5937 _status = _logBuff.
serialize(internalTimeContext);
5940 static_cast<FwAssertArgType>(_status)
5943 #if FW_AMPCS_COMPATIBLE 5946 static_cast<U8>(
sizeof(I32))
5950 static_cast<FwAssertArgType>(_status)
5953 _status = _logBuff.
serialize(otherTimeContext);
5956 static_cast<FwAssertArgType>(_status)
5959 this->m_logOut_OutputPort[0].
invoke(
5968 #if FW_ENABLE_TEXT_LOGGING 5969 if (this->m_logTextOut_OutputPort[0].isConnected()) {
5970 #if FW_OBJECT_NAMES == 1 5971 const char* _formatString =
5972 "(%s) %s: getTime() time context was %" PRIi32
", but tried to operate on it with time context %" PRIi32
"";
5974 const char* _formatString =
5975 "%s: getTime() time context was %" PRIi32
", but tried to operate on it with time context %" PRIi32
"";
5982 this->m_objName.toChar(),
5984 "MismatchedTimeContext ",
5985 internalTimeContext,
5989 this->m_logTextOut_OutputPort[0].invoke(
6008 if (this->m_timeCaller_OutputPort[0].isConnected()) {
6009 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
6017 if (this->m_logOut_OutputPort[0].isConnected()) {
6021 #if FW_AMPCS_COMPATIBLE 6023 _status = _logBuff.
serialize(static_cast<U8>(3));
6026 static_cast<FwAssertArgType>(_status)
6030 #if FW_AMPCS_COMPATIBLE 6037 static_cast<FwAssertArgType>(_status)
6043 static_cast<FwAssertArgType>(_status)
6046 #if FW_AMPCS_COMPATIBLE 6049 static_cast<U8>(
sizeof(U32))
6053 static_cast<FwAssertArgType>(_status)
6059 static_cast<FwAssertArgType>(_status)
6065 static_cast<FwAssertArgType>(_status)
6068 this->m_logOut_OutputPort[0].
invoke(
6077 #if FW_ENABLE_TEXT_LOGGING 6078 if (this->m_logTextOut_OutputPort[0].isConnected()) {
6079 #if FW_OBJECT_NAMES == 1 6080 const char* _formatString =
6081 "(%s) %s: A command opcode %" PRIu32
" at index %" PRIu32
" timed out in sequence %s, causing the sequence to fail";
6083 const char* _formatString =
6084 "%s: A command opcode %" PRIu32
" at index %" PRIu32
" timed out in sequence %s, causing the sequence to fail";
6091 this->m_objName.toChar(),
6099 this->m_logTextOut_OutputPort[0].invoke(
6118 if (this->m_timeCaller_OutputPort[0].isConnected()) {
6119 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
6127 if (this->m_logOut_OutputPort[0].isConnected()) {
6131 #if FW_AMPCS_COMPATIBLE 6133 _status = _logBuff.
serialize(static_cast<U8>(3));
6136 static_cast<FwAssertArgType>(_status)
6140 #if FW_AMPCS_COMPATIBLE 6143 static_cast<U8>(
sizeof(
U8))
6147 static_cast<FwAssertArgType>(_status)
6153 static_cast<FwAssertArgType>(_status)
6156 #if FW_AMPCS_COMPATIBLE 6159 static_cast<U8>(
sizeof(U32))
6163 static_cast<FwAssertArgType>(_status)
6169 static_cast<FwAssertArgType>(_status)
6175 static_cast<FwAssertArgType>(_status)
6178 this->m_logOut_OutputPort[0].
invoke(
6187 #if FW_ENABLE_TEXT_LOGGING 6188 if (this->m_logTextOut_OutputPort[0].isConnected()) {
6189 #if FW_OBJECT_NAMES == 1 6190 const char* _formatString =
6191 "(%s) %s: A directive opcode %" PRIu8
" at index %" PRIu32
" timed out in sequence %s, causing the sequence to fail";
6193 const char* _formatString =
6194 "%s: A directive opcode %" PRIu8
" at index %" PRIu32
" timed out in sequence %s, causing the sequence to fail";
6201 this->m_objName.toChar(),
6203 "DirectiveTimedOut ",
6209 this->m_logTextOut_OutputPort[0].invoke(
6227 if (this->m_timeCaller_OutputPort[0].isConnected()) {
6228 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
6236 if (this->m_logOut_OutputPort[0].isConnected()) {
6240 #if FW_AMPCS_COMPATIBLE 6242 _status = _logBuff.
serialize(static_cast<U8>(2));
6245 static_cast<FwAssertArgType>(_status)
6249 #if FW_AMPCS_COMPATIBLE 6252 static_cast<U8>(
sizeof(
U8))
6256 static_cast<FwAssertArgType>(_status)
6262 static_cast<FwAssertArgType>(_status)
6265 #if FW_AMPCS_COMPATIBLE 6268 static_cast<U8>(
sizeof(
U8))
6272 static_cast<FwAssertArgType>(_status)
6278 static_cast<FwAssertArgType>(_status)
6281 this->m_logOut_OutputPort[0].
invoke(
6290 #if FW_ENABLE_TEXT_LOGGING 6291 if (this->m_logTextOut_OutputPort[0].isConnected()) {
6292 #if FW_OBJECT_NAMES == 1 6293 const char* _formatString =
6294 "(%s) %s: A sequence specified it had %" PRIu8
" args but the max was %" PRIu8
"";
6296 const char* _formatString =
6297 "%s: A sequence specified it had %" PRIu8
" args but the max was %" PRIu8
"";
6304 this->m_objName.toChar(),
6306 "TooManySequenceArgs ",
6311 this->m_logTextOut_OutputPort[0].invoke(
6329 if (this->m_timeCaller_OutputPort[0].isConnected()) {
6330 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
6338 if (this->m_logOut_OutputPort[0].isConnected()) {
6342 #if FW_AMPCS_COMPATIBLE 6344 _status = _logBuff.
serialize(static_cast<U8>(2));
6347 static_cast<FwAssertArgType>(_status)
6351 #if FW_AMPCS_COMPATIBLE 6354 static_cast<U8>(
sizeof(U16))
6358 static_cast<FwAssertArgType>(_status)
6364 static_cast<FwAssertArgType>(_status)
6367 #if FW_AMPCS_COMPATIBLE 6370 static_cast<U8>(
sizeof(U16))
6374 static_cast<FwAssertArgType>(_status)
6380 static_cast<FwAssertArgType>(_status)
6383 this->m_logOut_OutputPort[0].
invoke(
6392 #if FW_ENABLE_TEXT_LOGGING 6393 if (this->m_logTextOut_OutputPort[0].isConnected()) {
6394 #if FW_OBJECT_NAMES == 1 6395 const char* _formatString =
6396 "(%s) %s: A sequence specified it had %" PRIu16
" statements but the max was %" PRIu16
"";
6398 const char* _formatString =
6399 "%s: A sequence specified it had %" PRIu16
" statements but the max was %" PRIu16
"";
6406 this->m_objName.toChar(),
6408 "TooManySequenceStatements ",
6413 this->m_logTextOut_OutputPort[0].invoke(
6431 if (this->m_timeCaller_OutputPort[0].isConnected()) {
6432 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
6440 if (this->m_logOut_OutputPort[0].isConnected()) {
6444 #if FW_AMPCS_COMPATIBLE 6446 _status = _logBuff.
serialize(static_cast<U8>(2));
6449 static_cast<FwAssertArgType>(_status)
6453 #if FW_AMPCS_COMPATIBLE 6456 static_cast<U8>(
sizeof(U32))
6460 static_cast<FwAssertArgType>(_status)
6466 static_cast<FwAssertArgType>(_status)
6469 #if FW_AMPCS_COMPATIBLE 6472 static_cast<U8>(
sizeof(
U8))
6476 static_cast<FwAssertArgType>(_status)
6479 _status = _logBuff.
serialize(breakOnce);
6482 static_cast<FwAssertArgType>(_status)
6485 this->m_logOut_OutputPort[0].
invoke(
6494 #if FW_ENABLE_TEXT_LOGGING 6495 if (this->m_logTextOut_OutputPort[0].isConnected()) {
6496 #if FW_OBJECT_NAMES == 1 6497 const char* _formatString =
6498 "(%s) %s: Debug breakpoint reached before dispatching statement index %" PRIu32
". Will break once: %d";
6500 const char* _formatString =
6501 "%s: Debug breakpoint reached before dispatching statement index %" PRIu32
". Will break once: %d";
6508 this->m_objName.toChar(),
6515 this->m_logTextOut_OutputPort[0].invoke(
6533 if (this->m_timeCaller_OutputPort[0].isConnected()) {
6534 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
6542 if (this->m_logOut_OutputPort[0].isConnected()) {
6546 #if FW_AMPCS_COMPATIBLE 6548 _status = _logBuff.
serialize(static_cast<U8>(2));
6551 static_cast<FwAssertArgType>(_status)
6555 #if FW_AMPCS_COMPATIBLE 6558 static_cast<U8>(
sizeof(U32))
6562 static_cast<FwAssertArgType>(_status)
6565 _status = _logBuff.
serialize(breakpointIdx);
6568 static_cast<FwAssertArgType>(_status)
6571 #if FW_AMPCS_COMPATIBLE 6574 static_cast<U8>(
sizeof(
U8))
6578 static_cast<FwAssertArgType>(_status)
6581 _status = _logBuff.
serialize(breakOnce);
6584 static_cast<FwAssertArgType>(_status)
6587 this->m_logOut_OutputPort[0].
invoke(
6596 #if FW_ENABLE_TEXT_LOGGING 6597 if (this->m_logTextOut_OutputPort[0].isConnected()) {
6598 #if FW_OBJECT_NAMES == 1 6599 const char* _formatString =
6600 "(%s) %s: Debug breakpoint set before statement index %" PRIu32
". Will break once: %d";
6602 const char* _formatString =
6603 "%s: Debug breakpoint set before statement index %" PRIu32
". Will break once: %d";
6610 this->m_objName.toChar(),
6612 "DebugBreakpointSet ",
6617 this->m_logTextOut_OutputPort[0].invoke(
6632 if (this->m_timeCaller_OutputPort[0].isConnected()) {
6633 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
6641 if (this->m_logOut_OutputPort[0].isConnected()) {
6644 #if FW_AMPCS_COMPATIBLE 6647 _status = _logBuff.
serialize(static_cast<U8>(0));
6650 static_cast<FwAssertArgType>(_status)
6654 this->m_logOut_OutputPort[0].
invoke(
6663 #if FW_ENABLE_TEXT_LOGGING 6664 if (this->m_logTextOut_OutputPort[0].isConnected()) {
6665 #if FW_OBJECT_NAMES == 1 6666 const char* _formatString =
6667 "(%s) %s: Debug breakpoint cleared";
6669 const char* _formatString =
6670 "%s: Debug breakpoint cleared";
6677 this->m_objName.toChar(),
6679 "DebugBreakpointCleared " 6682 this->m_logTextOut_OutputPort[0].invoke(
6703 if (not this->m_first_update_State) {
6705 if (arg == this->m_last_State) {
6709 this->m_last_State = arg;
6713 this->m_first_update_State =
false;
6714 this->m_last_State = arg;
6717 if (this->m_tlmOut_OutputPort[0].isConnected()) {
6719 this->m_timeCaller_OutputPort[0].isConnected() &&
6722 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
6729 static_cast<FwAssertArgType>(_stat)
6736 this->m_tlmOut_OutputPort[0].
invoke(
6751 if (not this->m_first_update_SequencesSucceeded) {
6753 if (arg == this->m_last_SequencesSucceeded) {
6757 this->m_last_SequencesSucceeded = arg;
6761 this->m_first_update_SequencesSucceeded =
false;
6762 this->m_last_SequencesSucceeded = arg;
6765 if (this->m_tlmOut_OutputPort[0].isConnected()) {
6767 this->m_timeCaller_OutputPort[0].isConnected() &&
6770 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
6777 static_cast<FwAssertArgType>(_stat)
6784 this->m_tlmOut_OutputPort[0].
invoke(
6799 if (not this->m_first_update_SequencesFailed) {
6801 if (arg == this->m_last_SequencesFailed) {
6805 this->m_last_SequencesFailed = arg;
6809 this->m_first_update_SequencesFailed =
false;
6810 this->m_last_SequencesFailed = arg;
6813 if (this->m_tlmOut_OutputPort[0].isConnected()) {
6815 this->m_timeCaller_OutputPort[0].isConnected() &&
6818 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
6825 static_cast<FwAssertArgType>(_stat)
6832 this->m_tlmOut_OutputPort[0].
invoke(
6847 if (not this->m_first_update_SequencesCancelled) {
6849 if (arg == this->m_last_SequencesCancelled) {
6853 this->m_last_SequencesCancelled = arg;
6857 this->m_first_update_SequencesCancelled =
false;
6858 this->m_last_SequencesCancelled = arg;
6861 if (this->m_tlmOut_OutputPort[0].isConnected()) {
6863 this->m_timeCaller_OutputPort[0].isConnected() &&
6866 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
6873 static_cast<FwAssertArgType>(_stat)
6880 this->m_tlmOut_OutputPort[0].
invoke(
6895 if (not this->m_first_update_StatementsDispatched) {
6897 if (arg == this->m_last_StatementsDispatched) {
6901 this->m_last_StatementsDispatched = arg;
6905 this->m_first_update_StatementsDispatched =
false;
6906 this->m_last_StatementsDispatched = arg;
6909 if (this->m_tlmOut_OutputPort[0].isConnected()) {
6911 this->m_timeCaller_OutputPort[0].isConnected() &&
6914 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
6921 static_cast<FwAssertArgType>(_stat)
6928 this->m_tlmOut_OutputPort[0].
invoke(
6943 if (not this->m_first_update_StatementsFailed) {
6945 if (arg == this->m_last_StatementsFailed) {
6949 this->m_last_StatementsFailed = arg;
6953 this->m_first_update_StatementsFailed =
false;
6954 this->m_last_StatementsFailed = arg;
6957 if (this->m_tlmOut_OutputPort[0].isConnected()) {
6959 this->m_timeCaller_OutputPort[0].isConnected() &&
6962 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
6969 static_cast<FwAssertArgType>(_stat)
6976 this->m_tlmOut_OutputPort[0].
invoke(
6991 if (not this->m_first_update_LastDirectiveError) {
6993 if (arg == this->m_last_LastDirectiveError) {
6997 this->m_last_LastDirectiveError = arg;
7001 this->m_first_update_LastDirectiveError =
false;
7002 this->m_last_LastDirectiveError = arg;
7005 if (this->m_tlmOut_OutputPort[0].isConnected()) {
7007 this->m_timeCaller_OutputPort[0].isConnected() &&
7010 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
7017 static_cast<FwAssertArgType>(_stat)
7024 this->m_tlmOut_OutputPort[0].
invoke(
7039 if (not this->m_first_update_SeqPath) {
7041 if (arg == this->m_last_SeqPath) {
7045 this->m_last_SeqPath = arg;
7049 this->m_first_update_SeqPath =
false;
7050 this->m_last_SeqPath = arg;
7053 if (this->m_tlmOut_OutputPort[0].isConnected()) {
7055 this->m_timeCaller_OutputPort[0].isConnected() &&
7058 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
7065 static_cast<FwAssertArgType>(_stat)
7072 this->m_tlmOut_OutputPort[0].
invoke(
7087 if (not this->m_first_update_DebugBreakpointIdx) {
7089 if (arg == this->m_last_DebugBreakpointIdx) {
7093 this->m_last_DebugBreakpointIdx = arg;
7097 this->m_first_update_DebugBreakpointIdx =
false;
7098 this->m_last_DebugBreakpointIdx = arg;
7101 if (this->m_tlmOut_OutputPort[0].isConnected()) {
7103 this->m_timeCaller_OutputPort[0].isConnected() &&
7106 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
7113 static_cast<FwAssertArgType>(_stat)
7120 this->m_tlmOut_OutputPort[0].
invoke(
7135 if (not this->m_first_update_Debug) {
7137 if (arg == this->m_last_Debug) {
7141 this->m_last_Debug = arg;
7145 this->m_first_update_Debug =
false;
7146 this->m_last_Debug = arg;
7149 if (this->m_tlmOut_OutputPort[0].isConnected()) {
7151 this->m_timeCaller_OutputPort[0].isConnected() &&
7154 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
7161 static_cast<FwAssertArgType>(_stat)
7168 this->m_tlmOut_OutputPort[0].
invoke(
7183 if (not this->m_first_update_PRM_STATEMENT_TIMEOUT_SECS) {
7185 if (arg == this->m_last_PRM_STATEMENT_TIMEOUT_SECS) {
7189 this->m_last_PRM_STATEMENT_TIMEOUT_SECS = arg;
7193 this->m_first_update_PRM_STATEMENT_TIMEOUT_SECS =
false;
7194 this->m_last_PRM_STATEMENT_TIMEOUT_SECS = arg;
7197 if (this->m_tlmOut_OutputPort[0].isConnected()) {
7199 this->m_timeCaller_OutputPort[0].isConnected() &&
7202 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
7209 static_cast<FwAssertArgType>(_stat)
7216 this->m_tlmOut_OutputPort[0].
invoke(
7248 this->m_paramLock.
lock();
7249 valid = this->m_param_STATEMENT_TIMEOUT_SECS_valid;
7250 _local = this->m_STATEMENT_TIMEOUT_SECS;
7251 this->m_paramLock.
unLock();
7262 if (this->m_timeCaller_OutputPort[0].isConnected()) {
7264 this->m_timeCaller_OutputPort[0].
invoke(_time);
7279 ComponentIpcSerializableBuffer _msg;
7289 static_cast<FwAssertArgType>(_msgStatus)
7299 static_cast<FwAssertArgType>(_deserStatus)
7302 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
7304 if (_msgType == FPYSEQUENCER_COMPONENT_EXIT) {
7309 _deserStatus = _msg.deserialize(portNum);
7312 static_cast<FwAssertArgType>(_deserStatus)
7317 case CHECKTIMERS_SCHED: {
7320 _deserStatus = _msg.deserialize(context);
7323 static_cast<FwAssertArgType>(_deserStatus)
7335 case CMDRESPONSEIN_CMDRESPONSE: {
7338 _deserStatus = _msg.deserialize(opCode);
7341 static_cast<FwAssertArgType>(_deserStatus)
7346 _deserStatus = _msg.deserialize(
cmdSeq);
7349 static_cast<FwAssertArgType>(_deserStatus)
7354 _deserStatus = _msg.deserialize(response);
7357 static_cast<FwAssertArgType>(_deserStatus)
7374 _deserStatus = _msg.deserialize(key);
7377 static_cast<FwAssertArgType>(_deserStatus)
7389 case SEQRUNIN_CMDSEQIN: {
7392 Fw::ExternalString filename(__fprime_ac_filename_buffer,
sizeof __fprime_ac_filename_buffer);
7393 _deserStatus = _msg.deserialize(filename);
7396 static_cast<FwAssertArgType>(_deserStatus)
7408 case TLMWRITE_SCHED: {
7411 _deserStatus = _msg.deserialize(context);
7414 static_cast<FwAssertArgType>(_deserStatus)
7429 _deserStatus = _msg.deserialize(_opCode);
7432 static_cast<FwAssertArgType>(_deserStatus)
7437 _deserStatus = _msg.deserialize(_cmdSeq);
7440 static_cast<FwAssertArgType>(_deserStatus)
7445 _deserStatus = _msg.deserialize(args);
7448 static_cast<FwAssertArgType>(_deserStatus)
7458 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
7473 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
7486 #if FW_CMD_CHECK_RESIDUAL 7488 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
7507 case CMD_VALIDATE: {
7510 _deserStatus = _msg.deserialize(_opCode);
7513 static_cast<FwAssertArgType>(_deserStatus)
7518 _deserStatus = _msg.deserialize(_cmdSeq);
7521 static_cast<FwAssertArgType>(_deserStatus)
7526 _deserStatus = _msg.deserialize(args);
7529 static_cast<FwAssertArgType>(_deserStatus)
7539 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
7552 #if FW_CMD_CHECK_RESIDUAL 7554 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
7572 case CMD_RUN_VALIDATED: {
7575 _deserStatus = _msg.deserialize(_opCode);
7578 static_cast<FwAssertArgType>(_deserStatus)
7583 _deserStatus = _msg.deserialize(_cmdSeq);
7586 static_cast<FwAssertArgType>(_deserStatus)
7591 _deserStatus = _msg.deserialize(args);
7594 static_cast<FwAssertArgType>(_deserStatus)
7604 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
7617 #if FW_CMD_CHECK_RESIDUAL 7619 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
7640 _deserStatus = _msg.deserialize(_opCode);
7643 static_cast<FwAssertArgType>(_deserStatus)
7648 _deserStatus = _msg.deserialize(_cmdSeq);
7651 static_cast<FwAssertArgType>(_deserStatus)
7656 _deserStatus = _msg.deserialize(args);
7659 static_cast<FwAssertArgType>(_deserStatus)
7667 #if FW_CMD_CHECK_RESIDUAL 7669 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
7684 case CMD_DEBUG_SET_BREAKPOINT: {
7687 _deserStatus = _msg.deserialize(_opCode);
7690 static_cast<FwAssertArgType>(_deserStatus)
7695 _deserStatus = _msg.deserialize(_cmdSeq);
7698 static_cast<FwAssertArgType>(_deserStatus)
7703 _deserStatus = _msg.deserialize(args);
7706 static_cast<FwAssertArgType>(_deserStatus)
7716 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
7731 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
7744 #if FW_CMD_CHECK_RESIDUAL 7746 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
7765 case CMD_DEBUG_BREAK: {
7768 _deserStatus = _msg.deserialize(_opCode);
7771 static_cast<FwAssertArgType>(_deserStatus)
7776 _deserStatus = _msg.deserialize(_cmdSeq);
7779 static_cast<FwAssertArgType>(_deserStatus)
7784 _deserStatus = _msg.deserialize(args);
7787 static_cast<FwAssertArgType>(_deserStatus)
7797 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
7810 #if FW_CMD_CHECK_RESIDUAL 7812 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
7830 case CMD_DEBUG_CONTINUE: {
7833 _deserStatus = _msg.deserialize(_opCode);
7836 static_cast<FwAssertArgType>(_deserStatus)
7841 _deserStatus = _msg.deserialize(_cmdSeq);
7844 static_cast<FwAssertArgType>(_deserStatus)
7849 _deserStatus = _msg.deserialize(args);
7852 static_cast<FwAssertArgType>(_deserStatus)
7860 #if FW_CMD_CHECK_RESIDUAL 7862 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
7877 case CMD_DEBUG_CLEAR_BREAKPOINT: {
7880 _deserStatus = _msg.deserialize(_opCode);
7883 static_cast<FwAssertArgType>(_deserStatus)
7888 _deserStatus = _msg.deserialize(_cmdSeq);
7891 static_cast<FwAssertArgType>(_deserStatus)
7896 _deserStatus = _msg.deserialize(args);
7899 static_cast<FwAssertArgType>(_deserStatus)
7907 #if FW_CMD_CHECK_RESIDUAL 7909 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
7924 case INT_IF_DIRECTIVE_BINARYREGOP: {
7926 _deserStatus = _msg.deserialize(directive);
7931 static_cast<FwAssertArgType>(_deserStatus)
7937 _msg.getBuffLeft() == 0,
7950 case INT_IF_DIRECTIVE_CMD: {
7952 _deserStatus = _msg.deserialize(directive);
7957 static_cast<FwAssertArgType>(_deserStatus)
7963 _msg.getBuffLeft() == 0,
7976 case INT_IF_DIRECTIVE_DESERSERREG: {
7978 _deserStatus = _msg.deserialize(directive);
7983 static_cast<FwAssertArgType>(_deserStatus)
7989 _msg.getBuffLeft() == 0,
8002 case INT_IF_DIRECTIVE_EXIT: {
8004 _deserStatus = _msg.deserialize(directive);
8009 static_cast<FwAssertArgType>(_deserStatus)
8015 _msg.getBuffLeft() == 0,
8028 case INT_IF_DIRECTIVE_GETPRM: {
8030 _deserStatus = _msg.deserialize(directive);
8035 static_cast<FwAssertArgType>(_deserStatus)
8041 _msg.getBuffLeft() == 0,
8054 case INT_IF_DIRECTIVE_GETTLM: {
8056 _deserStatus = _msg.deserialize(directive);
8061 static_cast<FwAssertArgType>(_deserStatus)
8067 _msg.getBuffLeft() == 0,
8080 case INT_IF_DIRECTIVE_GOTO: {
8082 _deserStatus = _msg.deserialize(directive);
8087 static_cast<FwAssertArgType>(_deserStatus)
8093 _msg.getBuffLeft() == 0,
8106 case INT_IF_DIRECTIVE_IF: {
8108 _deserStatus = _msg.deserialize(directive);
8113 static_cast<FwAssertArgType>(_deserStatus)
8119 _msg.getBuffLeft() == 0,
8132 case INT_IF_DIRECTIVE_NOOP: {
8134 _deserStatus = _msg.deserialize(directive);
8139 static_cast<FwAssertArgType>(_deserStatus)
8145 _msg.getBuffLeft() == 0,
8158 case INT_IF_DIRECTIVE_SETREG: {
8160 _deserStatus = _msg.deserialize(directive);
8165 static_cast<FwAssertArgType>(_deserStatus)
8171 _msg.getBuffLeft() == 0,
8184 case INT_IF_DIRECTIVE_SETSERREG: {
8186 _deserStatus = _msg.deserialize(directive);
8191 static_cast<FwAssertArgType>(_deserStatus)
8197 _msg.getBuffLeft() == 0,
8210 case INT_IF_DIRECTIVE_UNARYREGOP: {
8212 _deserStatus = _msg.deserialize(directive);
8217 static_cast<FwAssertArgType>(_deserStatus)
8223 _msg.getBuffLeft() == 0,
8236 case INT_IF_DIRECTIVE_WAITABS: {
8238 _deserStatus = _msg.deserialize(directive);
8243 static_cast<FwAssertArgType>(_deserStatus)
8249 _msg.getBuffLeft() == 0,
8262 case INT_IF_DIRECTIVE_WAITREL: {
8264 _deserStatus = _msg.deserialize(directive);
8269 static_cast<FwAssertArgType>(_deserStatus)
8275 _msg.getBuffLeft() == 0,
8289 case INTERNAL_STATE_MACHINE_SIGNAL:
8290 this->smDispatch(_msg);
8304 void FpySequencerComponentBase ::
8316 const U32 idBase = callComp->
getIdBase();
8317 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
8320 switch (opCode - idBase) {
8322 compPtr->RUN_cmdHandlerBase(
8331 compPtr->VALIDATE_cmdHandlerBase(
8340 compPtr->RUN_VALIDATED_cmdHandlerBase(
8349 compPtr->CANCEL_cmdHandlerBase(
8358 compPtr->DEBUG_SET_BREAKPOINT_cmdHandlerBase(
8367 compPtr->DEBUG_BREAK_cmdHandlerBase(
8376 compPtr->DEBUG_CONTINUE_cmdHandlerBase(
8385 compPtr->DEBUG_CLEAR_BREAKPOINT_cmdHandlerBase(
8394 Fw::CmdResponse _cstat = compPtr->paramSet_STATEMENT_TIMEOUT_SECS(args);
8395 compPtr->cmdResponse_out(
8405 compPtr->cmdResponse_out(
8419 void FpySequencerComponentBase ::
8428 compPtr->checkTimers_handlerBase(
8434 void FpySequencerComponentBase ::
8435 m_p_cmdResponseIn_in(
8445 compPtr->cmdResponseIn_handlerBase(
8453 void FpySequencerComponentBase ::
8462 compPtr->pingIn_handlerBase(
8468 void FpySequencerComponentBase ::
8477 compPtr->seqRunIn_handlerBase(
8483 void FpySequencerComponentBase ::
8492 compPtr->tlmWrite_handlerBase(
8502 void FpySequencerComponentBase ::
8512 status = buffer.
serialize(static_cast<FwEnumStoreType>(INTERNAL_STATE_MACHINE_SIGNAL));
8516 status = buffer.
serialize(static_cast<FwIndexType>(0));
8520 status = buffer.
serialize(static_cast<FwEnumStoreType>(smId));
8524 status = buffer.
serialize(static_cast<FwEnumStoreType>(signal));
8528 void FpySequencerComponentBase ::
8537 static_cast<FwAssertArgType>(qStatus)
8545 void FpySequencerComponentBase ::
8551 FpySequencerComponentBase::deserializeSmIdAndSignal(buffer, storedSmId, storedSignal);
8554 const SmId smId =
static_cast<SmId>(storedSmId);
8558 this->Svc_FpySequencer_SequencerStateMachine_smDispatch(buffer, this->m_stateMachine_sequencer, signal);
8562 FW_ASSERT(0, static_cast<FwAssertArgType>(smId));
8567 void FpySequencerComponentBase ::
8568 deserializeSmIdAndSignal(
8588 void FpySequencerComponentBase ::
8589 Svc_FpySequencer_SequencerStateMachine_smDispatch(
8591 Svc_FpySequencer_SequencerStateMachine& sm,
8604 sm.sendSignal_cmd_VALIDATE(value);
8615 sm.sendSignal_cmd_RUN(value);
8626 sm.sendSignal_cmd_RUN_VALIDATED(value);
8633 sm.sendSignal_cmd_CANCEL();
8644 sm.sendSignal_cmd_DEBUG_SET_BREAKPOINT(value);
8651 sm.sendSignal_cmd_DEBUG_CLEAR_BREAKPOINT();
8658 sm.sendSignal_result_failure();
8665 sm.sendSignal_result_success();
8672 sm.sendSignal_entered();
8679 sm.sendSignal_result_dispatchStatement_success();
8686 sm.sendSignal_result_dispatchStatement_failure();
8693 sm.sendSignal_result_dispatchStatement_noMoreStatements();
8700 sm.sendSignal_checkTimersIn();
8707 sm.sendSignal_result_checkShouldWake_wakeup();
8714 sm.sendSignal_result_checkShouldWake_keepSleeping();
8721 sm.sendSignal_result_timeOpFailed();
8728 sm.sendSignal_stmtResponse_beginSleep();
8735 sm.sendSignal_stmtResponse_success();
8742 sm.sendSignal_stmtResponse_failure();
8749 sm.sendSignal_stmtResponse_unexpected();
8756 sm.sendSignal_stmtResponse_keepWaiting();
8763 sm.sendSignal_result_checkStatementTimeout_statementTimeout();
8770 sm.sendSignal_result_checkStatementTimeout_noTimeout();
8777 sm.sendSignal_cmd_DEBUG_CONTINUE();
8788 sm.sendSignal_cmd_DEBUG_BREAK(value);
8792 FW_ASSERT(0, static_cast<FwAssertArgType>(signal));
8811 this->m_paramLock.
lock();
8812 this->m_STATEMENT_TIMEOUT_SECS = _localVal;
8814 this->m_paramLock.
unLock();
8826 paramSave_STATEMENT_TIMEOUT_SECS()
8831 if (this->m_prmSet_OutputPort[0].isConnected()) {
8832 this->m_paramLock.
lock();
8834 _stat = _saveBuff.
serialize(m_STATEMENT_TIMEOUT_SECS);
8836 this->m_paramLock.
unLock();
8844 this->m_prmSet_OutputPort[0].
invoke(
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
deser up to 8 bytes out of an serReg
called in DEBUG_CONTINUE cmd. only raised in RUNNING.DEBUG_BROKEN state
Serialization/Deserialization operation was successful.
void sequencer_sendSignal_result_dispatchStatement_noMoreStatements()
Send signal result_dispatchStatement_noMoreStatements to state machine sequencer. ...
called in DEBUG_BREAK cmd. only raised in RUNNING state
void sequencer_sendSignal_result_checkShouldWake_keepSleeping()
Send signal result_checkShouldWake_keepSleeping to state machine sequencer.
called when an unexpected or incorrect statement response comes in. only raised in the RUNNING state ...
virtual void directive_waitRel_internalInterfaceHandler(const Svc::FpySequencer_WaitRelDirective &directive)=0
Internal interface handler for directive_waitRel.
FwIndexType getNum_cmdResponseIn_InputPorts() const
called in dispatchStatement method when a statement was unable to be sent out
void directive_setSerReg_internalInterfaceInvoke(const Svc::FpySequencer_SetSerRegDirective &directive)
Internal interface base-class function for directive_setSerReg.
void addCallPort(InputTimePort *callPort)
Register an input port.
void invoke(Fw::ComBuffer &data, U32 context) const
Invoke a port interface.
The size of the serial representation.
void set_seqStartOut_OutputPort(FwIndexType portNum, Svc::InputCmdSeqInPort *port)
Connect port to seqStartOut[portNum].
void log_WARNING_HI_DirectiveTimedOut(U8 opCode, U32 stmtIdx, const Fw::StringBase &filePath) const
Log event DirectiveTimedOut.
void init()
Initialization function.
Channel ID for StatementsFailed.
virtual void DEBUG_SET_BREAKPOINT_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command DEBUG_SET_BREAKPOINT.
Channel ID for StatementsDispatched.
virtual void directive_exit_internalInterfaceHandler(const Svc::FpySequencer_ExitDirective &directive)=0
Internal interface handler for directive_exit.
Fw::InputCmdResponsePort * get_cmdResponseIn_InputPort(FwIndexType portNum)
The size of the serial representation.
FwIdType FwOpcodeType
The type of a command opcode.
void set_cmdOut_OutputPort(FwIndexType portNum, Fw::InputComPort *port)
Connect port to cmdOut[portNum].
called in dispatchStatement method when there were no more statements in the sequence ...
virtual void parametersLoaded()
Called whenever parameters are loaded.
void log_WARNING_HI_InsufficientBufferSpace(U64 bufferSize, const Fw::StringBase &filePath) const
Log event InsufficientBufferSpace.
FwIdType getIdBase() const
PlatformSizeType FwSizeType
FwIndexType getNum_tlmWrite_InputPorts() const
FwIndexType getNum_cmdResponseOut_OutputPorts() const
The size of the serial representation.
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
void directive_deserSerReg_internalInterfaceInvoke(const Svc::FpySequencer_DeserSerRegDirective &directive)
Internal interface base-class function for directive_deserSerReg.
virtual void cmdResponseIn_handler(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)=0
Handler for input port cmdResponseIn.
void sequencer_sendSignal_result_dispatchStatement_success()
Send signal result_dispatchStatement_success to state machine sequencer.
void log_WARNING_HI_WrongCRC(U32 expected, U32 actual) const
Log event WrongCRC.
virtual void directive_unaryRegOp_internalInterfaceHandler(const Svc::FpySequencer_UnaryRegOpDirective &directive)=0
Internal interface handler for directive_unaryRegOp.
Status
status returned from the queue send function
virtual void DEBUG_CLEAR_BREAKPOINT_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
virtual void parameterUpdated(FwPrmIdType id)
Called whenever a parameter is updated.
#define FW_LOG_STRING_MAX_SIZE
Max size of log string parameter type.
called when statement successfully executed. only raised in the RUNNING.AWAITING_CMD_RESPONSE state ...
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
called on VALIDATE cmd with the path of the sequence file to validate. only raised in IDLE state ...
called on RUN cmd with the path of the sequence file to run. only raised in IDLE state ...
called on RUN_VALIDATED cmd. only raised in AWAITING_CMD_RUN_VALIDATED state
virtual void tlmWrite_preMsgHook(FwIndexType portNum, U32 context)
Pre-message hook for async input port tlmWrite.
const char * toChar() const
performs a unary reg operation on src reg, and stores in res reg
Fw::TlmValid getTlmChan_out(FwIndexType portNum, FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val)
Invoke output port getTlmChan.
FwIndexType getNum_prmGet_OutputPorts() const
void init()
Initialization function.
The size of the serial representation.
void RUN_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
generic failure of an action
void set_seqDoneOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to seqDoneOut[portNum].
void sequencer_sendSignal_cmd_DEBUG_SET_BREAKPOINT(const Svc::FpySequencer_DebugBreakpointArgs &value)
Send signal cmd_DEBUG_SET_BREAKPOINT to state machine sequencer.
FwIdType FwPrmIdType
The type of a parameter identifier.
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
void unLock()
unlock the mutex and assert success
FwIndexType getNum_seqStartOut_OutputPorts() const
Channel ID for DebugBreakpointIdx.
void addCallPort(InputPrmSetPort *callPort)
Register an input port.
Loads, validates and runs a sequence.
virtual void CANCEL_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
void tlmWrite_State(I32 arg, Fw::Time _tlmTime=Fw::Time())
void invoke(U32 key) const
Invoke a port interface.
raised when we should keep sleeping
void addCallPort(InputTlmGetPort *callPort)
Register an input port.
void log_WARNING_HI_FileReadError(const Fw::StringBase &filePath, I32 errorCode) const
Log event FileReadError.
void sequencer_sendSignal_result_checkShouldWake_wakeup()
Send signal result_checkShouldWake_wakeup to state machine sequencer.
virtual void directive_goto_internalInterfaceHandler(const Svc::FpySequencer_GotoDirective &directive)=0
Internal interface handler for directive_goto.
void directive_if_internalInterfaceInvoke(const Svc::FpySequencer_IfDirective &directive)
Internal interface base-class function for directive_if.
void sequencer_sendSignal_result_success()
Send signal result_success to state machine sequencer.
void log_WARNING_HI_FileReadDeserializeError(const Fw::StringBase &filePath, I32 errorCode, U64 buffLeft, U64 buffLength) const
Log event FileReadDeserializeError.
void cmdResponseIn_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Handler base-class function for input port cmdResponseIn.
SmId
State machine identifiers.
void sequencer_sendSignal_stmtResponse_success()
Send signal stmtResponse_success to state machine sequencer.
virtual ~FpySequencerComponentBase()
Destroy FpySequencerComponentBase object.
void log_WARNING_LO_CmdResponseWhileNotRunningSequence(I32 state, FwOpcodeType opcode, Fw::CmdResponse response) const
Log event CmdResponseWhileNotRunningSequence.
Channel ID for SequencesCancelled.
void sequencer_sendSignal_cmd_VALIDATE(const Svc::FpySequencer_SequenceExecutionArgs &value)
Send signal cmd_VALIDATE to state machine sequencer.
The size of the serial representation.
void directive_noOp_internalInterfaceInvoke(const Svc::FpySequencer_NoOpDirective &directive)
Internal interface base-class function for directive_noOp.
void init()
Initialization function.
Enum representing a command response.
Channel ID for SequencesSucceeded.
virtual void RUN_VALIDATED_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command RUN_VALIDATED.
void set_logOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to logOut[portNum].
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
void tlmWrite_SequencesSucceeded(U64 arg, Fw::Time _tlmTime=Fw::Time())
FwIndexType getNum_pingIn_InputPorts() const
The size of the serial representation.
virtual void directive_waitAbs_internalInterfaceHandler(const Svc::FpySequencer_WaitAbsDirective &directive)=0
Internal interface handler for directive_waitAbs.
void init()
Initialization function.
virtual void RUN_VALIDATED_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Svc::FpySequencer_BlockState block)=0
bool isConnected_pingOut_OutputPort(FwIndexType portNum)
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
The size of the serial representation.
Os::Queue m_queue
queue object for active component
The size of the serial representation.
bool isConnected_seqStartOut_OutputPort(FwIndexType portNum)
void sequencer_sendSignal_stmtResponse_unexpected()
Send signal stmtResponse_unexpected to state machine sequencer.
virtual void RUN_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &fileName, Svc::FpySequencer_BlockState block)=0
void sequencer_sendSignal_result_dispatchStatement_failure()
Send signal result_dispatchStatement_failure to state machine sequencer.
virtual void directive_cmd_internalInterfaceHandler(const Svc::FpySequencer_CmdDirective &directive)=0
Internal interface handler for directive_cmd.
void log_WARNING_HI_DirectiveDeserializeError(U8 opcode, U32 stmtIdx, I32 errorCode, U64 buffLeft, U64 buffLength) const
Log event DirectiveDeserializeError.
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
Svc::InputSchedPort * get_checkTimers_InputPort(FwIndexType portNum)
void addCallPort(InputTlmPort *callPort)
Register an input port.
void addCallPort(InputPrmGetPort *callPort)
Register an input port.
void RUN_VALIDATED_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void tlmWrite_PRM_STATEMENT_TIMEOUT_SECS(F32 arg, Fw::Time _tlmTime=Fw::Time())
FwIndexType getNum_pingOut_OutputPorts() const
void init()
Object initializer.
void DEBUG_SET_BREAKPOINT_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
void seqStartOut_out(FwIndexType portNum, const Fw::StringBase &filename)
Invoke output port seqStartOut.
SerializeStatus
forward declaration for string
Svc_FpySequencer_SequencerStateMachine::State sequencer_getState() const
Get the state of state machine instance sequencer.
void set_getTlmChan_OutputPort(FwIndexType portNum, Fw::InputTlmGetPort *port)
Connect port to getTlmChan[portNum].
raised whenever the checkTimers port is called
float F32
32-bit floating point
FwIndexType getNum_cmdIn_InputPorts() const
virtual void checkTimers_handler(FwIndexType portNum, U32 context)=0
Handler for input port checkTimers.
Message will block until space is available.
bool isConnected_timeCaller_OutputPort(FwIndexType portNum)
Opcode to save parameter STATEMENT_TIMEOUT_SECS.
void log_WARNING_HI_WrongCmdResponseOpcode(FwOpcodeType opcode, Fw::CmdResponse response, FwOpcodeType expectedOpcode) const
Log event WrongCmdResponseOpcode.
void log_WARNING_HI_ExtraBytesInSequence(U32 remaining) const
Log event ExtraBytesInSequence.
void tlmWrite_StatementsFailed(U64 arg, Fw::Time _tlmTime=Fw::Time())
FwIdType FwEventIdType
The type of an event identifier.
void regCommands()
Register commands with the Command Dispatcher.
void directive_setReg_internalInterfaceInvoke(const Svc::FpySequencer_SetRegDirective &directive)
Internal interface base-class function for directive_setReg.
void invoke(FwOpcodeType opCode) const
Invoke a port interface.
called in dispatchStatement method when a statement was successfully dispatched
F32 paramGet_STATEMENT_TIMEOUT_SECS(Fw::ParamValid &valid)
The size of the serial representation.
void log_WARNING_HI_EndOfFileError(const Fw::StringBase &filePath) const
Log event EndOfFileError.
Fw::TlmValid invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val) const
Invoke a port interface.
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
Serializable::SizeType getBuffLeft() const
returns how much deserialization buffer is left
FwIndexType getNum_prmSet_OutputPorts() const
Opcode to set parameter STATEMENT_TIMEOUT_SECS.
void init()
Initialization function.
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
FwIndexType getNum_timeCaller_OutputPorts() const
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
void directive_unaryRegOp_internalInterfaceInvoke(const Svc::FpySequencer_UnaryRegOpDirective &directive)
Internal interface base-class function for directive_unaryRegOp.
The size of the serial representation.
FwIndexType getNum_cmdOut_OutputPorts() const
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
void tlmWrite_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port tlmWrite.
bool isConnected_prmSet_OutputPort(FwIndexType portNum)
#define FW_MIN(a, b)
MIN macro.
A less serious but recoverable event.
Fw::ParamValid invoke(FwPrmIdType id, Fw::ParamBuffer &val) const
Invoke a port interface.
FwIndexType getNum_logOut_OutputPorts() const
called in DEBUG_SET_BREAKPOINT cmd. raised in any state
ActiveComponentBase(const char *name)
Constructor.
void init()
Initialization function.
virtual void directive_deserSerReg_internalInterfaceHandler(const Svc::FpySequencer_DeserSerRegDirective &directive)=0
Internal interface handler for directive_deserSerReg.
FwIndexType getNum_seqRunIn_InputPorts() const
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
void tlmWrite_DebugBreakpointIdx(U32 arg, Fw::Time _tlmTime=Fw::Time())
generic success of an action
void DEBUG_CONTINUE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void invoke(Fw::Time &time) const
Invoke a port interface.
void sequencer_sendSignal_cmd_DEBUG_CLEAR_BREAKPOINT()
Send signal cmd_DEBUG_CLEAR_BREAKPOINT to state machine sequencer.
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
The size of the serial representation.
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
const char * toChar() const
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) const
Invoke a port interface.
void sequencer_sendSignal_cmd_RUN_VALIDATED(const Svc::FpySequencer_SequenceExecutionArgs &value)
Send signal cmd_RUN_VALIDATED to state machine sequencer.
Svc_FpySequencer_SequencerStateMachine(FpySequencerComponentBase &component)
Constructor.
FwIdType FwChanIdType
The type of a telemetry channel identifier.
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
void addCallPort(InputPingPort *callPort)
Register an input port.
virtual void DEBUG_CLEAR_BREAKPOINT_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command DEBUG_CLEAR_BREAKPOINT.
void log_WARNING_LO_CmdResponseFromOldSequence(FwOpcodeType opcode, Fw::CmdResponse response, U16 oldSequenceIdx, U16 currentSequenceIdx) const
Log event CmdResponseFromOldSequence.
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
FpySequencerComponentBase(const char *compName="")
Construct FpySequencerComponentBase object.
virtual void directive_setSerReg_internalInterfaceHandler(const Svc::FpySequencer_SetSerRegDirective &directive)=0
Internal interface handler for directive_setSerReg.
void sequencer_sendSignal_checkTimersIn()
Send signal checkTimersIn to state machine sequencer.
void tlmWrite_StatementsDispatched(U64 arg, Fw::Time _tlmTime=Fw::Time())
void log_ACTIVITY_HI_DebugBreakpointCleared() const
Log event DebugBreakpointCleared.
void VALIDATE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void resetDeser()
reset deserialization to beginning
virtual void seqRunIn_preMsgHook(FwIndexType portNum, const Fw::StringBase &filename)
Pre-message hook for async input port seqRunIn.
The size of the serial representation.
bool isConnected_getParam_OutputPort(FwIndexType portNum)
void sequencer_sendSignal_stmtResponse_failure()
Send signal stmtResponse_failure to state machine sequencer.
A string backed by an external buffer.
A serious but recoverable event.
void CANCEL_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void directive_waitAbs_internalInterfaceInvoke(const Svc::FpySequencer_WaitAbsDirective &directive)
Internal interface base-class function for directive_waitAbs.
Errors dispatching messages.
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].
void log_WARNING_HI_CommandFailed(FwOpcodeType opCode, U32 stmtIdx, const Fw::StringBase &filePath, Fw::CmdResponse response) const
Log event CommandFailed.
void sequencer_sendSignal_stmtResponse_beginSleep()
Send signal stmtResponse_beginSleep to state machine sequencer.
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val) const
Invoke a port interface.
void log_WARNING_HI_CommandTimedOut(FwOpcodeType opCode, U32 stmtIdx, const Fw::StringBase &filePath) const
Log event CommandTimedOut.
void sequencer_sendSignal_result_checkStatementTimeout_noTimeout()
Send signal result_checkStatementTimeout_noTimeout to state machine sequencer.
void directive_getTlm_internalInterfaceInvoke(const Svc::FpySequencer_GetTlmDirective &directive)
Internal interface base-class function for directive_getTlm.
The size of the serial representation.
SerializeStatus moveDeserToOffset(FwSizeType offset)
Moves deserialization to the specified offset.
virtual void tlmWrite_handler(FwIndexType portNum, U32 context)=0
Handler for input port tlmWrite.
Svc::InputCmdSeqInPort * get_seqRunIn_InputPort(FwIndexType portNum)
Channel ID for LastDirectiveError.
void invoke(const Fw::StringBase &filename) const
Invoke a port interface.
void tlmWrite_LastDirectiveError(const Svc::FpySequencer_DirectiveErrorCode &arg, Fw::Time _tlmTime=Fw::Time())
void loadParameters()
Load the parameters from a parameter source.
void log_WARNING_HI_InvalidSeqRunCall(I32 state) const
Log event InvalidSeqRunCall.
virtual void directive_if_internalInterfaceHandler(const Svc::FpySequencer_IfDirective &directive)=0
Internal interface handler for directive_if.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
Command successfully executed.
Channel ID for PRM_STATEMENT_TIMEOUT_SECS.
bool isConnected_seqDoneOut_OutputPort(FwIndexType portNum)
void log_ACTIVITY_HI_DebugBroken(U32 stmtIdx, bool breakOnce) const
Log event DebugBroken.
virtual void DEBUG_SET_BREAKPOINT_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, U32 stmtIdx, bool breakOnce)=0
uint8_t U8
8-bit unsigned integer
virtual void directive_noOp_internalInterfaceHandler(const Svc::FpySequencer_NoOpDirective &directive)=0
Internal interface handler for directive_noOp.
virtual void directive_binaryRegOp_internalInterfaceHandler(const Svc::FpySequencer_BinaryRegOpDirective &directive)=0
Internal interface handler for directive_binaryRegOp.
void log_WARNING_HI_TooManySequenceStatements(U16 count, U16 max) const
Log event TooManySequenceStatements.
sets a register to a constant value
message to exit active component task
void sequencer_sendSignal_result_timeOpFailed()
Send signal result_timeOpFailed to state machine sequencer.
void seqDoneOut_out(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Invoke output port seqDoneOut.
void log_WARNING_HI_FileOpenError(const Fw::StringBase &filePath, I32 errorCode) const
Log event FileOpenError.
void init(FpySequencerComponentBase::SmId smId)
Initialize the state machine.
void set_prmSet_OutputPort(FwIndexType portNum, Fw::InputPrmSetPort *port)
Connect port to prmSet[portNum].
Command failed to deserialize.
virtual void directive_setReg_internalInterfaceHandler(const Svc::FpySequencer_SetRegDirective &directive)=0
Internal interface handler for directive_setReg.
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
Command had execution error.
Important informational events.
Must be called after VALIDATE. Runs the sequence that was validated.
virtual void directive_getTlm_internalInterfaceHandler(const Svc::FpySequencer_GetTlmDirective &directive)=0
Internal interface handler for directive_getTlm.
virtual void seqRunIn_handler(FwIndexType portNum, const Fw::StringBase &filename)=0
Handler for input port seqRunIn.
void sequencer_sendSignal_cmd_CANCEL()
Send signal cmd_CANCEL to state machine sequencer.
The size of the serial representation.
void sequencer_sendSignal_result_checkStatementTimeout_statementTimeout()
Send signal result_checkStatementTimeout_statementTimeout to state machine sequencer.
virtual void DEBUG_CONTINUE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
virtual void directive_getPrm_internalInterfaceHandler(const Svc::FpySequencer_GetPrmDirective &directive)=0
Internal interface handler for directive_getPrm.
void sequencer_sendSignal_stmtResponse_keepWaiting()
Send signal stmtResponse_keepWaiting to state machine sequencer.
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port interface.
Channel ID for SequencesFailed.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum)
void log_WARNING_HI_InvalidCommand(I32 state) const
Log event InvalidCommand.
void log_ACTIVITY_HI_SequenceCancelled(const Fw::StringBase &filePath) const
Log event SequenceCancelled.
virtual void RUN_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command RUN.
void init()
Initialization function.
void pingOut_out(FwIndexType portNum, U32 key)
Invoke output port pingOut.
static constexpr SizeType BUFFER_SIZE(SizeType maxLength)
Get the size of a null-terminated string buffer.
bool isConnected_cmdOut_OutputPort(FwIndexType portNum)
A message was sent requesting an exit of the loop.
called when the statement unsuccessfully executed. only raised in the RUNNING.AWAITING_CMD_RESPONSE s...
performs a binary reg operation on the lhs and rhs regs, and stores the result in the third register ...
FpySequencer_SequencerStateMachineStateMachineBase::State getState() const
Get the state.
void tlmWrite_SequencesFailed(U64 arg, Fw::Time _tlmTime=Fw::Time())
No time base has been established.
void sequencer_sendSignal_cmd_DEBUG_BREAK(const Svc::FpySequencer_DebugBreakpointArgs &value)
Send signal cmd_DEBUG_BREAK to state machine sequencer.
bool isConnected_logOut_OutputPort(FwIndexType portNum)
void tlmWrite_SeqPath(const Fw::StringBase &arg, Fw::Time _tlmTime=Fw::Time())
SerializeStatus deserialize(U8 &val)
deserialize 8-bit unsigned int
PlatformIndexType FwIndexType
raised when the statement has not timed out yet
FwIndexType getNum_tlmOut_OutputPorts() const
virtual void VALIDATE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command VALIDATE.
void DEBUG_BREAK_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void tlmWrite_Debug(const Svc::FpySequencer_DebugTelemetry &arg, Fw::Time _tlmTime=Fw::Time())
bool isConnected_prmGet_OutputPort(FwIndexType portNum)
void log_WARNING_HI_MismatchedTimeContext(I32 internalTimeContext, I32 otherTimeContext) const
Log event MismatchedTimeContext.
#define FW_NUM_ARRAY_ELEMENTS(a)
number of elements in an array
Svc::InputSchedPort * get_tlmWrite_InputPort(FwIndexType portNum)
void log_WARNING_HI_WrongSchemaVersion(U8 expected, U8 actual) const
Log event WrongSchemaVersion.
void addCallPort(InputLogPort *callPort)
Register an input port.
void DEBUG_CLEAR_BREAKPOINT_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void cmdOut_out(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Invoke output port cmdOut.
void addCallPort(InputCmdSeqInPort *callPort)
Register an input port.
void log_WARNING_HI_UnknownSequencerDirective(U8 opcode, U32 stmtIdx, const Fw::StringBase &filePath) const
Log event UnknownSequencerDirective.
virtual void VALIDATE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &fileName)=0
void init()
Initialization function.
called in DEBUG_CLEAR_BREAKPOINT cmd. raised in any state
Command failed validation.
RateGroupDivider component implementation.
void log_WARNING_HI_CmdResponseWhileNotAwaiting(FwOpcodeType opcode, Fw::CmdResponse response) const
Log event CmdResponseWhileNotAwaiting.
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum)
void directive_getPrm_internalInterfaceInvoke(const Svc::FpySequencer_GetPrmDirective &directive)
Internal interface base-class function for directive_getPrm.
void log_WARNING_HI_CmdResponseWhileAwaitingDirective(FwOpcodeType opcode, Fw::CmdResponse response, U8 expectedDirectiveOpcode) const
Log event CmdResponseWhileAwaitingDirective.
FwIndexType getNum_checkTimers_InputPorts() const
FwIndexType getNum_cmdRegOut_OutputPorts() const
virtual void cmdResponseIn_preMsgHook(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Pre-message hook for async input port cmdResponseIn.
message sent/received okay
void seqRunIn_handlerBase(FwIndexType portNum, const Fw::StringBase &filename)
Handler base-class function for input port seqRunIn.
raised when we are done sleeping
Enum representing parameter validity.
FwIndexType getNum_getTlmChan_OutputPorts() const
void log_WARNING_HI_TooManySequenceArgs(U8 count, U8 max) const
Log event TooManySequenceArgs.
void log_WARNING_HI_MismatchedTimeBase(I32 internalTimeBase, I32 otherTimeBase) const
Log event MismatchedTimeBase.
void invoke(FwPrmIdType id, Fw::ParamBuffer &val) const
Invoke a port interface.
void sequencer_sendSignal_result_failure()
Send signal result_failure to state machine sequencer.
called on CANCEL cmd. raised in all states except IDLE
virtual void checkTimers_preMsgHook(FwIndexType portNum, U32 context)
Pre-message hook for async input port checkTimers.
void addCallPort(InputComPort *callPort)
Register an input port.
void sequencer_sendSignal_entered()
Send signal entered to state machine sequencer.
virtual void DEBUG_CONTINUE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command DEBUG_CONTINUE.
void directive_exit_internalInterfaceInvoke(const Svc::FpySequencer_ExitDirective &directive)
Internal interface base-class function for directive_exit.
virtual void DEBUG_BREAK_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, bool breakOnce)=0
Fw::ParamValid getParam_out(FwIndexType portNum, FwPrmIdType id, Fw::ParamBuffer &val)
Invoke output port getParam.
virtual SerializeStatus serialize(SerializeBufferBase &buffer) const
serialization function
raised when the statement times out, according to the timeout parameter
The size of the serial representation.
void log_ACTIVITY_HI_DebugBreakpointSet(U32 breakpointIdx, bool breakOnce) const
Log event DebugBreakpointSet.
FpySequencerComponentBase::SmId getId() const
Get the state machine id.
void log_ACTIVITY_HI_SequenceDone(const Fw::StringBase &filePath) const
Log event SequenceDone.
void directive_goto_internalInterfaceInvoke(const Svc::FpySequencer_GotoDirective &directive)
Internal interface base-class function for directive_goto.
void directive_waitRel_internalInterfaceInvoke(const Svc::FpySequencer_WaitRelDirective &directive)
Internal interface base-class function for directive_waitRel.
Message will return with status when space is unavailable.
Auto-generated base for FpySequencer component.
FwIndexType getNum_seqDoneOut_OutputPorts() const
void sequencer_sendSignal_cmd_RUN(const Svc::FpySequencer_SequenceExecutionArgs &value)
Send signal cmd_RUN to state machine sequencer.
void init()
Initialization function.
The size of the serial representation.
void checkTimers_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port checkTimers.
void init()
Initialization function.
virtual void CANCEL_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CANCEL.
Loads and validates a sequence.
FwIndexType getNum_getParam_OutputPorts() const
bool isConnected_getTlmChan_OutputPort(FwIndexType portNum)
void directive_binaryRegOp_internalInterfaceInvoke(const Svc::FpySequencer_BinaryRegOpDirective &directive)
Internal interface base-class function for directive_binaryRegOp.
called when the statement is telling the sequencer to await a later stmt response ...
void log_WARNING_HI_WrongCmdResponseIndex(FwOpcodeType opcode, Fw::CmdResponse response, U16 actualCmdIdx, U16 expectedCmdIdx) const
Log event WrongCmdResponseIndex.
void sequencer_sendSignal_cmd_DEBUG_CONTINUE()
Send signal cmd_DEBUG_CONTINUE to state machine sequencer.
FpySequencer_SequencerStateMachineStateMachineBase::Signal Signal
void tlmWrite_SequencesCancelled(U64 arg, Fw::Time _tlmTime=Fw::Time())
a statement is telling the sequencer to go to sleep
#define FW_TLM_STRING_MAX_SIZE
Max size of channelized telemetry string type.
virtual void DEBUG_BREAK_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command DEBUG_BREAK.
void set_prmGet_OutputPort(FwIndexType portNum, Fw::InputPrmGetPort *port)
Connect port to prmGet[portNum].
The size of the serial representation.
void set_getParam_OutputPort(FwIndexType portNum, Fw::InputPrmGetPort *port)
Connect port to getParam[portNum].
PlatformAssertArgType FwAssertArgType
The type of arguments to assert functions.
virtual const CHAR * toChar() const =0
void directive_cmd_internalInterfaceInvoke(const Svc::FpySequencer_CmdDirective &directive)
Internal interface base-class function for directive_cmd.
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
void lock()
lock the mutex and assert success