10 #if FW_ENABLE_TEXT_LOGGING 23 union SignalTypeUnion {
24 BYTE size_of_I16[
sizeof(I16)];
25 BYTE size_of_I32[
sizeof(I32)];
37 sizeof(SignalTypeUnion);
44 CMDRESPONSEIN_CMDRESPONSE,
57 INT_IF_WRITETELEMETRYINTERNAL,
58 INTERNAL_STATE_MACHINE_SIGNAL,
71 BYTE internalSmBufferSize[SmSignalBuffer::SERIALIZED_SIZE];
76 class ComponentIpcSerializableBuffer :
86 MAX_DATA_SIZE =
sizeof(BuffUnion),
88 SERIALIZATION_SIZE = DATA_OFFSET + MAX_DATA_SIZE
91 ComponentIpcSerializableBuffer() :
Fw::LinearBufferBase(m_buff, sizeof(m_buff)) {
97 U8 m_buff[SERIALIZATION_SIZE];
108 m_component(component)
116 this->initBase(static_cast<FwEnumStoreType>(smId));
125 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
126 action_processInvoke(
131 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_processInvoke(this->getId(), signal, value);
134 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
135 action_setCancelRequested(
Signal signal)
137 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_setCancelRequested(this->getId(), signal);
140 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
141 action_clearCancelRequested(
Signal signal)
143 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_clearCancelRequested(this->getId(), signal);
146 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
147 action_cancelPendingRequest(
152 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_cancelPendingRequest(this->getId(), signal, value);
155 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
156 action_respond_noblock_OK(
161 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_respond_noblock_OK(this->getId(), signal, value);
164 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
165 action_respond_ERROR(
170 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_respond_ERROR(this->getId(), signal, value);
173 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
174 action_incrementSequenceFailure(
Signal signal)
176 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_incrementSequenceFailure(this->getId(), signal);
179 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
180 action_respondInvoke_BUSY(
185 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_respondInvoke_BUSY(this->getId(), signal, value);
188 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
189 action_respondInvoke_ERROR(
194 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_respondInvoke_ERROR(this->getId(), signal, value);
197 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
198 action_respondLoad_BUSY(
203 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_respondLoad_BUSY(this->getId(), signal, value);
206 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
207 action_respond_block_OK(
212 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_respond_block_OK(this->getId(), signal, value);
215 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
216 action_respond_block_ERROR(
221 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_respond_block_ERROR(this->getId(), signal, value);
224 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
230 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_load(this->getId(), signal, value);
233 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
239 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_invokeStart(this->getId(), signal, value);
242 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
248 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_invokeMain(this->getId(), signal, value);
251 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
252 action_reportModuleInvalidMain(
257 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_reportModuleInvalidMain(this->getId(), signal, value);
260 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
261 action_reportModuleMainInvokeFailed(
266 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_reportModuleMainInvokeFailed(this->getId(), signal, value);
269 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
270 action_reportModuleStartInvokeFailed(
275 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_reportModuleStartInvokeFailed(this->getId(), signal, value);
278 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
279 action_reportModuleStarted(
284 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_reportModuleStarted(this->getId(), signal, value);
287 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
288 action_reportModuleSucceeded(
293 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_reportModuleSucceeded(this->getId(), signal, value);
296 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
297 action_reportModuleStartFailed(
302 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_reportModuleStartFailed(this->getId(), signal, value);
305 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
306 action_reportModuleMainFailed(
311 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_reportModuleMainFailed(this->getId(), signal, value);
314 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
315 action_resetStore(
Signal signal)
317 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_resetStore(this->getId(), signal);
320 void WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
326 this->m_component.Svc_WasmSequencer_ControllerStateMachine_action_runEngine(this->getId(), signal, value);
329 bool WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
330 guard_cancelRequested(
Signal signal)
const 332 return this->m_component.Svc_WasmSequencer_ControllerStateMachine_guard_cancelRequested(this->getId(), signal);
335 bool WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
336 guard_moduleHasStart(
341 return this->m_component.Svc_WasmSequencer_ControllerStateMachine_guard_moduleHasStart(this->getId(), signal, value);
344 bool WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
345 guard_moduleHasValidMain(
350 return this->m_component.Svc_WasmSequencer_ControllerStateMachine_guard_moduleHasValidMain(this->getId(), signal, value);
353 bool WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
354 guard_invokeSucceeded(
359 return this->m_component.Svc_WasmSequencer_ControllerStateMachine_guard_invokeSucceeded(this->getId(), signal, value);
362 bool WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine ::
363 guard_interpreterSucceeded(
Signal signal)
const 365 return this->m_component.Svc_WasmSequencer_ControllerStateMachine_guard_interpreterSucceeded(this->getId(), signal);
370 m_component(component)
378 this->initBase(static_cast<FwEnumStoreType>(smId));
387 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
393 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_cmdReplyOK(this->getId(), signal, value);
396 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
397 action_signalEntered(
Signal signal)
399 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_signalEntered(this->getId(), signal);
402 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
403 action_spin(
Signal signal)
405 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_spin(this->getId(), signal);
408 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
409 action_reset(
Signal signal)
411 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_reset(this->getId(), signal);
414 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
415 action_clearExitStatus(
Signal signal)
417 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_clearExitStatus(this->getId(), signal);
420 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
421 action_setExitReason_INTERPRETER_FINISHED(
Signal signal)
423 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_INTERPRETER_FINISHED(this->getId(), signal);
426 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
427 action_setExitReason_INTERPRETER_TRAP(
Signal signal)
429 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_INTERPRETER_TRAP(this->getId(), signal);
432 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
433 action_setExitReason_REPLY_TIMEOUT(
Signal signal)
435 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_REPLY_TIMEOUT(this->getId(), signal);
438 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
439 action_setExitReason_HOST_FAILURE(
Signal signal)
441 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_HOST_FAILURE(this->getId(), signal);
444 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
445 action_setExitReason_TIMER_INCOMPARABLE(
Signal signal)
447 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_TIMER_INCOMPARABLE(this->getId(), signal);
450 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
451 action_setExitReason_UNEXPECTED_REPLY(
Signal signal)
453 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_UNEXPECTED_REPLY(this->getId(), signal);
456 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
457 action_setExitReason_CANCEL(
Signal signal)
459 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_CANCEL(this->getId(), signal);
462 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
468 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_setExitCode(this->getId(), signal, value);
471 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
472 action_setTrapReason(
477 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_setTrapReason(this->getId(), signal, value);
480 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
481 action_setLastHostFunction(
Signal signal)
483 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_setLastHostFunction(this->getId(), signal);
486 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
487 action_finish(
Signal signal)
489 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_finish(this->getId(), signal);
492 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
493 action_reportPaused(
Signal signal)
495 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_reportPaused(this->getId(), signal);
498 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
499 action_clearPause(
Signal signal)
501 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_clearPause(this->getId(), signal);
504 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
505 action_dispatchPendingHostFunction(
Signal signal)
507 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_dispatchPendingHostFunction(this->getId(), signal);
510 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
511 action_clearPendingHostFunction(
Signal signal)
513 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_clearPendingHostFunction(this->getId(), signal);
516 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
522 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_setContext(this->getId(), signal, value);
525 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
526 action_clearContext(
Signal signal)
528 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_clearContext(this->getId(), signal);
531 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
532 action_resume(
Signal signal)
534 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_resume(this->getId(), signal);
537 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
543 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_resumeI32(this->getId(), signal, value);
546 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
547 action_checkSleepTimers(
Signal signal)
549 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_checkSleepTimers(this->getId(), signal);
552 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
553 action_checkTimeout(
Signal signal)
555 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_checkTimeout(this->getId(), signal);
558 void WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
559 action_dequeueSerialAndResume(
564 this->m_component.Svc_WasmSequencer_InterpreterStateMachine_action_dequeueSerialAndResume(this->getId(), signal, value);
567 bool WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
568 guard_pendingPause(
Signal signal)
const 570 return this->m_component.Svc_WasmSequencer_InterpreterStateMachine_guard_pendingPause(this->getId(), signal);
573 bool WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
574 guard_pendingHostFunction(
Signal signal)
const 576 return this->m_component.Svc_WasmSequencer_InterpreterStateMachine_guard_pendingHostFunction(this->getId(), signal);
579 bool WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
580 guard_pendingHostFunctionIsSleep(
Signal signal)
const 582 return this->m_component.Svc_WasmSequencer_InterpreterStateMachine_guard_pendingHostFunctionIsSleep(this->getId(), signal);
585 bool WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
586 guard_blockingSerialIn(
591 return this->m_component.Svc_WasmSequencer_InterpreterStateMachine_guard_blockingSerialIn(this->getId(), signal, value);
594 bool WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine ::
595 guard_dequeueSucceeded(
Signal signal)
const 597 return this->m_component.Svc_WasmSequencer_InterpreterStateMachine_guard_dequeueSucceeded(this->getId(), signal);
617 #if !FW_DIRECT_PORT_CALLS 624 this->m_cmdIn_InputPort[port].
init();
629 this->m_cmdIn_InputPort[port].
setPortNum(port);
631 #if FW_OBJECT_NAMES == 1 635 this->m_objName.toChar(),
638 this->m_cmdIn_InputPort[port].setObjName(portName.
toChar());
643 #if !FW_DIRECT_PORT_CALLS 650 this->m_checkTimers_InputPort[port].
init();
655 this->m_checkTimers_InputPort[port].
setPortNum(port);
657 #if FW_OBJECT_NAMES == 1 661 this->m_objName.toChar(),
664 this->m_checkTimers_InputPort[port].setObjName(portName.
toChar());
669 #if !FW_DIRECT_PORT_CALLS 676 this->m_cmdResponseIn_InputPort[port].
init();
681 this->m_cmdResponseIn_InputPort[port].
setPortNum(port);
683 #if FW_OBJECT_NAMES == 1 687 this->m_objName.toChar(),
690 this->m_cmdResponseIn_InputPort[port].setObjName(portName.
toChar());
695 #if !FW_DIRECT_PORT_CALLS 702 this->m_seqCancelIn_InputPort[port].
init();
707 this->m_seqCancelIn_InputPort[port].
setPortNum(port);
709 #if FW_OBJECT_NAMES == 1 713 this->m_objName.toChar(),
716 this->m_seqCancelIn_InputPort[port].setObjName(portName.
toChar());
721 #if !FW_DIRECT_PORT_CALLS 728 this->m_seqRunIn_InputPort[port].
init();
733 this->m_seqRunIn_InputPort[port].
setPortNum(port);
735 #if FW_OBJECT_NAMES == 1 739 this->m_objName.toChar(),
742 this->m_seqRunIn_InputPort[port].setObjName(portName.
toChar());
747 #if !FW_DIRECT_PORT_CALLS 754 this->m_writeTelemetry_InputPort[port].
init();
755 this->m_writeTelemetry_InputPort[port].
addCallComp(
757 m_p_writeTelemetry_in
759 this->m_writeTelemetry_InputPort[port].
setPortNum(port);
761 #if FW_OBJECT_NAMES == 1 765 this->m_objName.toChar(),
768 this->m_writeTelemetry_InputPort[port].setObjName(portName.
toChar());
773 #if !FW_DIRECT_PORT_CALLS 780 this->m_serialIn_InputPort[port].init();
781 this->m_serialIn_InputPort[port].addCallComp(
785 this->m_serialIn_InputPort[port].setPortNum(port);
787 #if FW_OBJECT_NAMES == 1 791 this->m_objName.toChar(),
794 this->m_serialIn_InputPort[port].setObjName(portName.
toChar());
799 #if !FW_DIRECT_PORT_CALLS 806 this->m_cmdRegOut_OutputPort[port].
init();
808 #if FW_OBJECT_NAMES == 1 812 this->m_objName.toChar(),
815 this->m_cmdRegOut_OutputPort[port].setObjName(portName.
toChar());
820 #if !FW_DIRECT_PORT_CALLS 827 this->m_cmdResponseOut_OutputPort[port].
init();
829 #if FW_OBJECT_NAMES == 1 833 this->m_objName.toChar(),
836 this->m_cmdResponseOut_OutputPort[port].setObjName(portName.
toChar());
841 #if !FW_DIRECT_PORT_CALLS 848 this->m_logOut_OutputPort[port].
init();
850 #if FW_OBJECT_NAMES == 1 854 this->m_objName.toChar(),
857 this->m_logOut_OutputPort[port].setObjName(portName.
toChar());
862 #if !FW_DIRECT_PORT_CALLS && FW_ENABLE_TEXT_LOGGING 866 port < static_cast<FwIndexType>(this->getNum_logTextOut_OutputPorts());
869 this->m_logTextOut_OutputPort[port].
init();
871 #if FW_OBJECT_NAMES == 1 875 this->m_objName.toChar(),
878 this->m_logTextOut_OutputPort[port].setObjName(portName.
toChar());
883 #if !FW_DIRECT_PORT_CALLS 890 this->m_prmGet_OutputPort[port].
init();
892 #if FW_OBJECT_NAMES == 1 896 this->m_objName.toChar(),
899 this->m_prmGet_OutputPort[port].setObjName(portName.
toChar());
904 #if !FW_DIRECT_PORT_CALLS 911 this->m_prmSet_OutputPort[port].
init();
913 #if FW_OBJECT_NAMES == 1 917 this->m_objName.toChar(),
920 this->m_prmSet_OutputPort[port].setObjName(portName.
toChar());
925 #if !FW_DIRECT_PORT_CALLS 932 this->m_timeCaller_OutputPort[port].
init();
934 #if FW_OBJECT_NAMES == 1 938 this->m_objName.toChar(),
941 this->m_timeCaller_OutputPort[port].setObjName(portName.
toChar());
946 #if !FW_DIRECT_PORT_CALLS 953 this->m_tlmOut_OutputPort[port].
init();
955 #if FW_OBJECT_NAMES == 1 959 this->m_objName.toChar(),
962 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
967 #if !FW_DIRECT_PORT_CALLS 974 this->m_cmdOut_OutputPort[port].
init();
976 #if FW_OBJECT_NAMES == 1 980 this->m_objName.toChar(),
983 this->m_cmdOut_OutputPort[port].setObjName(portName.
toChar());
988 #if !FW_DIRECT_PORT_CALLS 995 this->m_getParam_OutputPort[port].
init();
997 #if FW_OBJECT_NAMES == 1 1001 this->m_objName.toChar(),
1004 this->m_getParam_OutputPort[port].setObjName(portName.
toChar());
1009 #if !FW_DIRECT_PORT_CALLS 1016 this->m_getTlmChan_OutputPort[port].
init();
1018 #if FW_OBJECT_NAMES == 1 1022 this->m_objName.toChar(),
1025 this->m_getTlmChan_OutputPort[port].setObjName(portName.
toChar());
1030 #if !FW_DIRECT_PORT_CALLS 1037 this->m_seqDoneOut_OutputPort[port].
init();
1039 #if FW_OBJECT_NAMES == 1 1043 this->m_objName.toChar(),
1046 this->m_seqDoneOut_OutputPort[port].setObjName(portName.
toChar());
1051 #if !FW_DIRECT_PORT_CALLS 1058 this->m_seqStartOut_OutputPort[port].
init();
1060 #if FW_OBJECT_NAMES == 1 1064 this->m_objName.toChar(),
1067 this->m_seqStartOut_OutputPort[port].setObjName(portName.
toChar());
1072 #if !FW_DIRECT_PORT_CALLS 1079 this->m_serialOut_OutputPort[port].init();
1081 #if FW_OBJECT_NAMES == 1 1085 this->m_objName.toChar(),
1088 this->m_serialOut_OutputPort[port].setObjName(portName.
toChar());
1096 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
1100 static_cast<FwAssertArgType>(qStat)
1104 #if !FW_DIRECT_PORT_CALLS 1115 static_cast<FwAssertArgType>(portNum)
1118 return &this->m_cmdIn_InputPort[portNum];
1123 #if !FW_DIRECT_PORT_CALLS 1134 static_cast<FwAssertArgType>(portNum)
1137 return &this->m_checkTimers_InputPort[portNum];
1145 static_cast<FwAssertArgType>(portNum)
1148 return &this->m_cmdResponseIn_InputPort[portNum];
1156 static_cast<FwAssertArgType>(portNum)
1159 return &this->m_seqCancelIn_InputPort[portNum];
1167 static_cast<FwAssertArgType>(portNum)
1170 return &this->m_seqRunIn_InputPort[portNum];
1178 static_cast<FwAssertArgType>(portNum)
1181 return &this->m_writeTelemetry_InputPort[portNum];
1186 #if !FW_DIRECT_PORT_CALLS 1197 static_cast<FwAssertArgType>(portNum)
1200 return &this->m_serialIn_InputPort[portNum];
1205 #if !FW_DIRECT_PORT_CALLS 1219 static_cast<FwAssertArgType>(portNum)
1222 this->m_cmdRegOut_OutputPort[portNum].
addCallPort(port);
1233 static_cast<FwAssertArgType>(portNum)
1236 this->m_cmdResponseOut_OutputPort[portNum].
addCallPort(port);
1247 static_cast<FwAssertArgType>(portNum)
1250 this->m_logOut_OutputPort[portNum].
addCallPort(port);
1253 #if FW_ENABLE_TEXT_LOGGING == 1 1255 void WasmSequencerComponentBase ::
1256 set_logTextOut_OutputPort(
1262 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
1263 static_cast<FwAssertArgType>(portNum)
1266 this->m_logTextOut_OutputPort[portNum].addCallPort(port);
1279 static_cast<FwAssertArgType>(portNum)
1282 this->m_prmGet_OutputPort[portNum].
addCallPort(port);
1293 static_cast<FwAssertArgType>(portNum)
1296 this->m_prmSet_OutputPort[portNum].
addCallPort(port);
1307 static_cast<FwAssertArgType>(portNum)
1310 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
1321 static_cast<FwAssertArgType>(portNum)
1324 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
1329 #if !FW_DIRECT_PORT_CALLS 1343 static_cast<FwAssertArgType>(portNum)
1346 this->m_cmdOut_OutputPort[portNum].
addCallPort(port);
1357 static_cast<FwAssertArgType>(portNum)
1360 this->m_getParam_OutputPort[portNum].
addCallPort(port);
1371 static_cast<FwAssertArgType>(portNum)
1374 this->m_getTlmChan_OutputPort[portNum].
addCallPort(port);
1385 static_cast<FwAssertArgType>(portNum)
1388 this->m_seqDoneOut_OutputPort[portNum].
addCallPort(port);
1399 static_cast<FwAssertArgType>(portNum)
1402 this->m_seqStartOut_OutputPort[portNum].
addCallPort(port);
1407 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 1416 Fw::InputSerializePort* port
1421 static_cast<FwAssertArgType>(portNum)
1424 this->m_cmdRegOut_OutputPort[portNum].registerSerialPort(port);
1430 Fw::InputSerializePort* port
1435 static_cast<FwAssertArgType>(portNum)
1438 this->m_cmdResponseOut_OutputPort[portNum].registerSerialPort(port);
1444 Fw::InputSerializePort* port
1449 static_cast<FwAssertArgType>(portNum)
1452 this->m_logOut_OutputPort[portNum].registerSerialPort(port);
1455 #if FW_ENABLE_TEXT_LOGGING == 1 1457 void WasmSequencerComponentBase ::
1458 set_logTextOut_OutputPort(
1460 Fw::InputSerializePort* port
1464 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
1465 static_cast<FwAssertArgType>(portNum)
1468 this->m_logTextOut_OutputPort[portNum].registerSerialPort(port);
1476 Fw::InputSerializePort* port
1481 static_cast<FwAssertArgType>(portNum)
1484 this->m_prmSet_OutputPort[portNum].registerSerialPort(port);
1490 Fw::InputSerializePort* port
1495 static_cast<FwAssertArgType>(portNum)
1498 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
1504 Fw::InputSerializePort* port
1509 static_cast<FwAssertArgType>(portNum)
1512 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
1517 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 1526 Fw::InputSerializePort* port
1531 static_cast<FwAssertArgType>(portNum)
1534 this->m_cmdOut_OutputPort[portNum].registerSerialPort(port);
1540 Fw::InputSerializePort* port
1545 static_cast<FwAssertArgType>(portNum)
1548 this->m_seqDoneOut_OutputPort[portNum].registerSerialPort(port);
1554 Fw::InputSerializePort* port
1559 static_cast<FwAssertArgType>(portNum)
1562 this->m_seqStartOut_OutputPort[portNum].registerSerialPort(port);
1567 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 1573 void WasmSequencerComponentBase ::
1574 set_serialOut_OutputPort(
1581 static_cast<FwAssertArgType>(portNum)
1584 this->m_serialOut_OutputPort[portNum].registerSerialPort(port);
1598 this->cmdRegOut_out(
1603 this->cmdRegOut_out(
1608 this->cmdRegOut_out(
1613 this->cmdRegOut_out(
1618 this->cmdRegOut_out(
1623 this->cmdRegOut_out(
1628 this->cmdRegOut_out(
1633 this->cmdRegOut_out(
1638 this->cmdRegOut_out(
1643 this->cmdRegOut_out(
1648 this->cmdRegOut_out(
1653 this->cmdRegOut_out(
1658 this->cmdRegOut_out(
1663 this->cmdRegOut_out(
1668 this->cmdRegOut_out(
1673 this->cmdRegOut_out(
1678 this->cmdRegOut_out(
1683 this->cmdRegOut_out(
1706 this->m_param_HOST_FUNCTION_TIMEOUT_SECS_valid = this->prmGet_out(
1712 this->m_paramLock.
lock();
1716 _stat = _paramBuffer.
deserializeTo(this->m_HOST_FUNCTION_TIMEOUT_SECS);
1725 this->m_HOST_FUNCTION_TIMEOUT_SECS = 60.0f;
1728 this->m_paramLock.
unlock();
1729 this->
parameterLoaded(PARAMID_HOST_FUNCTION_TIMEOUT_SECS, this->m_param_HOST_FUNCTION_TIMEOUT_SECS_valid);
1734 this->m_param_INSTRUCTION_FUEL_valid = this->prmGet_out(
1740 this->m_paramLock.
lock();
1744 _stat = _paramBuffer.
deserializeTo(this->m_INSTRUCTION_FUEL);
1753 this->m_INSTRUCTION_FUEL = 1000;
1756 this->m_paramLock.
unlock();
1757 this->
parameterLoaded(PARAMID_INSTRUCTION_FUEL, this->m_param_INSTRUCTION_FUEL_valid);
1762 this->m_param_SEQ_BASE_DIR_valid = this->prmGet_out(
1768 this->m_paramLock.
lock();
1784 this->m_paramLock.
unlock();
1785 this->
parameterLoaded(PARAMID_SEQ_BASE_DIR, this->m_param_SEQ_BASE_DIR_valid);
1798 m_stateMachine_controller(*this),
1799 m_stateMachine_interpreter(*this)
1810 #if !FW_DIRECT_PORT_CALLS 1821 static_cast<FwAssertArgType>(portNum)
1824 return this->m_cmdRegOut_OutputPort[portNum].
isConnected();
1832 static_cast<FwAssertArgType>(portNum)
1835 return this->m_cmdResponseOut_OutputPort[portNum].
isConnected();
1843 static_cast<FwAssertArgType>(portNum)
1846 return this->m_logOut_OutputPort[portNum].
isConnected();
1849 #if FW_ENABLE_TEXT_LOGGING == 1 1851 bool WasmSequencerComponentBase ::
1852 isConnected_logTextOut_OutputPort(
FwIndexType portNum)
const 1855 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
1856 static_cast<FwAssertArgType>(portNum)
1859 return this->m_logTextOut_OutputPort[portNum].isConnected();
1869 static_cast<FwAssertArgType>(portNum)
1872 return this->m_prmGet_OutputPort[portNum].
isConnected();
1880 static_cast<FwAssertArgType>(portNum)
1883 return this->m_prmSet_OutputPort[portNum].
isConnected();
1891 static_cast<FwAssertArgType>(portNum)
1894 return this->m_timeCaller_OutputPort[portNum].
isConnected();
1902 static_cast<FwAssertArgType>(portNum)
1905 return this->m_tlmOut_OutputPort[portNum].
isConnected();
1910 #if !FW_DIRECT_PORT_CALLS 1921 static_cast<FwAssertArgType>(portNum)
1924 return this->m_cmdOut_OutputPort[portNum].
isConnected();
1932 static_cast<FwAssertArgType>(portNum)
1935 return this->m_getParam_OutputPort[portNum].
isConnected();
1943 static_cast<FwAssertArgType>(portNum)
1946 return this->m_getTlmChan_OutputPort[portNum].
isConnected();
1954 static_cast<FwAssertArgType>(portNum)
1957 return this->m_seqDoneOut_OutputPort[portNum].
isConnected();
1965 static_cast<FwAssertArgType>(portNum)
1968 return this->m_seqStartOut_OutputPort[portNum].
isConnected();
1973 #if !FW_DIRECT_PORT_CALLS 1984 static_cast<FwAssertArgType>(portNum)
1987 return this->m_serialOut_OutputPort[portNum].isConnected();
2008 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
2011 switch (opCode - idBase) {
2121 Fw::CmdResponse _cstat = this->paramSet_HOST_FUNCTION_TIMEOUT_SECS(args);
2131 Fw::CmdResponse _cstat = this->paramSave_HOST_FUNCTION_TIMEOUT_SECS();
2200 static_cast<FwAssertArgType>(portNum)
2208 ComponentIpcSerializableBuffer msg;
2212 _status = msg.serializeFrom(
2213 static_cast<FwEnumStoreType>(CHECKTIMERS_SCHED)
2217 static_cast<FwAssertArgType>(_status)
2221 _status = msg.serializeFrom(portNum);
2224 static_cast<FwAssertArgType>(_status)
2228 _status = msg.serializeFrom(context);
2231 static_cast<FwAssertArgType>(_status)
2240 static_cast<FwAssertArgType>(qStatus)
2255 static_cast<FwAssertArgType>(portNum)
2265 ComponentIpcSerializableBuffer msg;
2269 _status = msg.serializeFrom(
2270 static_cast<FwEnumStoreType>(CMDRESPONSEIN_CMDRESPONSE)
2274 static_cast<FwAssertArgType>(_status)
2278 _status = msg.serializeFrom(portNum);
2281 static_cast<FwAssertArgType>(_status)
2285 _status = msg.serializeFrom(opCode);
2288 static_cast<FwAssertArgType>(_status)
2292 _status = msg.serializeFrom(cmdSeq);
2295 static_cast<FwAssertArgType>(_status)
2299 _status = msg.serializeFrom(response);
2302 static_cast<FwAssertArgType>(_status)
2311 static_cast<FwAssertArgType>(qStatus)
2321 static_cast<FwAssertArgType>(portNum)
2338 static_cast<FwAssertArgType>(portNum)
2347 ComponentIpcSerializableBuffer msg;
2351 _status = msg.serializeFrom(
2352 static_cast<FwEnumStoreType>(SEQRUNIN_CMDSEQIN)
2356 static_cast<FwAssertArgType>(_status)
2360 _status = msg.serializeFrom(portNum);
2363 static_cast<FwAssertArgType>(_status)
2370 static_cast<FwAssertArgType>(_status)
2374 _status = msg.serializeFrom(args);
2377 static_cast<FwAssertArgType>(_status)
2386 static_cast<FwAssertArgType>(qStatus)
2399 static_cast<FwAssertArgType>(portNum)
2424 static_cast<FwAssertArgType>(portNum)
2478 #if !FW_DIRECT_PORT_CALLS 2493 static_cast<FwAssertArgType>(portNum)
2497 this->m_cmdOut_OutputPort[portNum].isConnected(),
2498 static_cast<FwAssertArgType>(portNum)
2500 this->m_cmdOut_OutputPort[portNum].
invoke(
2515 static_cast<FwAssertArgType>(portNum)
2519 this->m_getParam_OutputPort[portNum].isConnected(),
2520 static_cast<FwAssertArgType>(portNum)
2522 return this->m_getParam_OutputPort[portNum].
invoke(
2538 static_cast<FwAssertArgType>(portNum)
2542 this->m_getTlmChan_OutputPort[portNum].isConnected(),
2543 static_cast<FwAssertArgType>(portNum)
2545 return this->m_getTlmChan_OutputPort[portNum].
invoke(
2562 static_cast<FwAssertArgType>(portNum)
2566 this->m_seqDoneOut_OutputPort[portNum].isConnected(),
2567 static_cast<FwAssertArgType>(portNum)
2569 this->m_seqDoneOut_OutputPort[portNum].
invoke(
2585 static_cast<FwAssertArgType>(portNum)
2589 this->m_seqStartOut_OutputPort[portNum].isConnected(),
2590 static_cast<FwAssertArgType>(portNum)
2592 this->m_seqStartOut_OutputPort[portNum].
invoke(
2600 #if !FW_DIRECT_PORT_CALLS 2614 static_cast<FwAssertArgType>(portNum)
2618 this->m_serialOut_OutputPort[portNum].isConnected(),
2619 static_cast<FwAssertArgType>(portNum)
2621 return this->m_serialOut_OutputPort[portNum].invokeSerial(
2643 ComponentIpcSerializableBuffer msg;
2647 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(INT_IF_WRITETELEMETRYINTERNAL));
2650 static_cast<FwAssertArgType>(_status)
2654 _status = msg.serializeFrom(static_cast<FwIndexType>(0));
2657 static_cast<FwAssertArgType>(_status)
2664 if (qStatus == Os::Queue::Status::FULL) {
2671 static_cast<FwAssertArgType>(qStatus)
2682 return this->m_stateMachine_controller.
getState();
2688 return this->m_stateMachine_interpreter.
getState();
2698 ComponentIpcSerializableBuffer buffer;
2705 this->controller_sendSignalFinish(buffer);
2711 ComponentIpcSerializableBuffer buffer;
2718 this->controller_sendSignalFinish(buffer);
2724 ComponentIpcSerializableBuffer buffer;
2731 this->controller_sendSignalFinish(buffer);
2737 ComponentIpcSerializableBuffer buffer;
2744 this->controller_sendSignalFinish(buffer);
2750 ComponentIpcSerializableBuffer buffer;
2757 this->controller_sendSignalFinish(buffer);
2763 ComponentIpcSerializableBuffer buffer;
2767 this->controller_sendSignalFinish(buffer);
2773 ComponentIpcSerializableBuffer buffer;
2780 this->controller_sendSignalFinish(buffer);
2786 ComponentIpcSerializableBuffer buffer;
2793 this->controller_sendSignalFinish(buffer);
2799 ComponentIpcSerializableBuffer buffer;
2806 this->controller_sendSignalFinish(buffer);
2812 ComponentIpcSerializableBuffer buffer;
2816 this->interpreter_sendSignalFinish(buffer);
2822 ComponentIpcSerializableBuffer buffer;
2829 this->interpreter_sendSignalFinish(buffer);
2835 ComponentIpcSerializableBuffer buffer;
2839 this->interpreter_sendSignalFinish(buffer);
2845 ComponentIpcSerializableBuffer buffer;
2849 this->interpreter_sendSignalFinish(buffer);
2855 ComponentIpcSerializableBuffer buffer;
2862 this->interpreter_sendSignalFinish(buffer);
2868 ComponentIpcSerializableBuffer buffer;
2872 this->interpreter_sendSignalFinish(buffer);
2878 ComponentIpcSerializableBuffer buffer;
2882 this->interpreter_sendSignalFinish(buffer);
2888 ComponentIpcSerializableBuffer buffer;
2895 this->interpreter_sendSignalFinish(buffer);
2901 ComponentIpcSerializableBuffer buffer;
2905 this->interpreter_sendSignalFinish(buffer);
2911 ComponentIpcSerializableBuffer buffer;
2918 this->interpreter_sendSignalFinish(buffer);
2924 ComponentIpcSerializableBuffer buffer;
2928 this->interpreter_sendSignalFinish(buffer);
2934 ComponentIpcSerializableBuffer buffer;
2938 this->interpreter_sendSignalFinish(buffer);
2944 ComponentIpcSerializableBuffer buffer;
2951 this->interpreter_sendSignalFinish(buffer);
2957 ComponentIpcSerializableBuffer buffer;
2964 this->interpreter_sendSignalFinish(buffer);
2970 ComponentIpcSerializableBuffer buffer;
2977 this->interpreter_sendSignalFinish(buffer);
2983 ComponentIpcSerializableBuffer buffer;
2987 this->interpreter_sendSignalFinish(buffer);
2993 ComponentIpcSerializableBuffer buffer;
2997 this->interpreter_sendSignalFinish(buffer);
3012 this->cmdResponseOut_out(0, opCode, cmdSeq, response);
3033 ComponentIpcSerializableBuffer msg;
3037 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_RUN));
3040 static_cast<FwAssertArgType>(_status)
3046 _status = msg.serializeFrom(port);
3049 static_cast<FwAssertArgType>(_status)
3052 _status = msg.serializeFrom(opCode);
3055 static_cast<FwAssertArgType>(_status)
3058 _status = msg.serializeFrom(cmdSeq);
3061 static_cast<FwAssertArgType>(_status)
3064 _status = msg.serializeFrom(args);
3067 static_cast<FwAssertArgType>(_status)
3076 static_cast<FwAssertArgType>(qStatus)
3092 ComponentIpcSerializableBuffer msg;
3096 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_LOAD));
3099 static_cast<FwAssertArgType>(_status)
3105 _status = msg.serializeFrom(port);
3108 static_cast<FwAssertArgType>(_status)
3111 _status = msg.serializeFrom(opCode);
3114 static_cast<FwAssertArgType>(_status)
3117 _status = msg.serializeFrom(cmdSeq);
3120 static_cast<FwAssertArgType>(_status)
3123 _status = msg.serializeFrom(args);
3126 static_cast<FwAssertArgType>(_status)
3135 static_cast<FwAssertArgType>(qStatus)
3151 ComponentIpcSerializableBuffer msg;
3155 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_INVOKE));
3158 static_cast<FwAssertArgType>(_status)
3164 _status = msg.serializeFrom(port);
3167 static_cast<FwAssertArgType>(_status)
3170 _status = msg.serializeFrom(opCode);
3173 static_cast<FwAssertArgType>(_status)
3176 _status = msg.serializeFrom(cmdSeq);
3179 static_cast<FwAssertArgType>(_status)
3182 _status = msg.serializeFrom(args);
3185 static_cast<FwAssertArgType>(_status)
3194 static_cast<FwAssertArgType>(qStatus)
3210 ComponentIpcSerializableBuffer msg;
3214 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_WAIT));
3217 static_cast<FwAssertArgType>(_status)
3223 _status = msg.serializeFrom(port);
3226 static_cast<FwAssertArgType>(_status)
3229 _status = msg.serializeFrom(opCode);
3232 static_cast<FwAssertArgType>(_status)
3235 _status = msg.serializeFrom(cmdSeq);
3238 static_cast<FwAssertArgType>(_status)
3241 _status = msg.serializeFrom(args);
3244 static_cast<FwAssertArgType>(_status)
3253 static_cast<FwAssertArgType>(qStatus)
3264 #if FW_CMD_CHECK_RESIDUAL 3269 this->cmdResponseOut_out(
3295 ComponentIpcSerializableBuffer msg;
3299 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_PAUSE));
3302 static_cast<FwAssertArgType>(_status)
3308 _status = msg.serializeFrom(port);
3311 static_cast<FwAssertArgType>(_status)
3314 _status = msg.serializeFrom(opCode);
3317 static_cast<FwAssertArgType>(_status)
3320 _status = msg.serializeFrom(cmdSeq);
3323 static_cast<FwAssertArgType>(_status)
3326 _status = msg.serializeFrom(args);
3329 static_cast<FwAssertArgType>(_status)
3338 static_cast<FwAssertArgType>(qStatus)
3354 ComponentIpcSerializableBuffer msg;
3358 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CONTINUE));
3361 static_cast<FwAssertArgType>(_status)
3367 _status = msg.serializeFrom(port);
3370 static_cast<FwAssertArgType>(_status)
3373 _status = msg.serializeFrom(opCode);
3376 static_cast<FwAssertArgType>(_status)
3379 _status = msg.serializeFrom(cmdSeq);
3382 static_cast<FwAssertArgType>(_status)
3385 _status = msg.serializeFrom(args);
3388 static_cast<FwAssertArgType>(_status)
3397 static_cast<FwAssertArgType>(qStatus)
3413 ComponentIpcSerializableBuffer msg;
3417 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_GLOBAL_SET_I32));
3420 static_cast<FwAssertArgType>(_status)
3426 _status = msg.serializeFrom(port);
3429 static_cast<FwAssertArgType>(_status)
3432 _status = msg.serializeFrom(opCode);
3435 static_cast<FwAssertArgType>(_status)
3438 _status = msg.serializeFrom(cmdSeq);
3441 static_cast<FwAssertArgType>(_status)
3444 _status = msg.serializeFrom(args);
3447 static_cast<FwAssertArgType>(_status)
3456 static_cast<FwAssertArgType>(qStatus)
3472 ComponentIpcSerializableBuffer msg;
3476 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_GLOBAL_SET_I64));
3479 static_cast<FwAssertArgType>(_status)
3485 _status = msg.serializeFrom(port);
3488 static_cast<FwAssertArgType>(_status)
3491 _status = msg.serializeFrom(opCode);
3494 static_cast<FwAssertArgType>(_status)
3497 _status = msg.serializeFrom(cmdSeq);
3500 static_cast<FwAssertArgType>(_status)
3503 _status = msg.serializeFrom(args);
3506 static_cast<FwAssertArgType>(_status)
3515 static_cast<FwAssertArgType>(qStatus)
3531 ComponentIpcSerializableBuffer msg;
3535 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_GLOBAL_SET_F32));
3538 static_cast<FwAssertArgType>(_status)
3544 _status = msg.serializeFrom(port);
3547 static_cast<FwAssertArgType>(_status)
3550 _status = msg.serializeFrom(opCode);
3553 static_cast<FwAssertArgType>(_status)
3556 _status = msg.serializeFrom(cmdSeq);
3559 static_cast<FwAssertArgType>(_status)
3562 _status = msg.serializeFrom(args);
3565 static_cast<FwAssertArgType>(_status)
3574 static_cast<FwAssertArgType>(qStatus)
3590 ComponentIpcSerializableBuffer msg;
3594 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_GLOBAL_SET_F64));
3597 static_cast<FwAssertArgType>(_status)
3603 _status = msg.serializeFrom(port);
3606 static_cast<FwAssertArgType>(_status)
3609 _status = msg.serializeFrom(opCode);
3612 static_cast<FwAssertArgType>(_status)
3615 _status = msg.serializeFrom(cmdSeq);
3618 static_cast<FwAssertArgType>(_status)
3621 _status = msg.serializeFrom(args);
3624 static_cast<FwAssertArgType>(_status)
3633 static_cast<FwAssertArgType>(qStatus)
3649 ComponentIpcSerializableBuffer msg;
3653 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_GLOBAL_GET));
3656 static_cast<FwAssertArgType>(_status)
3662 _status = msg.serializeFrom(port);
3665 static_cast<FwAssertArgType>(_status)
3668 _status = msg.serializeFrom(opCode);
3671 static_cast<FwAssertArgType>(_status)
3674 _status = msg.serializeFrom(cmdSeq);
3677 static_cast<FwAssertArgType>(_status)
3680 _status = msg.serializeFrom(args);
3683 static_cast<FwAssertArgType>(_status)
3692 static_cast<FwAssertArgType>(qStatus)
3835 this->timeCaller_out(0, _logTime);
3845 #if FW_AMPCS_COMPATIBLE 3850 static_cast<FwAssertArgType>(_status)
3854 #if FW_AMPCS_COMPATIBLE 3857 static_cast<U8>(
sizeof(U16))
3861 static_cast<FwAssertArgType>(_status)
3867 static_cast<FwAssertArgType>(_status)
3880 #if FW_ENABLE_TEXT_LOGGING 3881 if (this->isConnected_logTextOut_OutputPort(0)) {
3882 #if FW_OBJECT_NAMES == 1 3883 const char* _formatString =
3884 "(%s) %s: Successfully allocated store with %" PRIu16
" modules";
3886 const char* _formatString =
3887 "%s: Successfully allocated store with %" PRIu16
" modules";
3891 (void) _logString.
format(
3894 this->m_objName.toChar(),
3896 "StoreAllocationSucceeded ",
3900 this->logTextOut_out(
3917 this->timeCaller_out(0, _logTime);
3926 #if FW_AMPCS_COMPATIBLE 3932 static_cast<FwAssertArgType>(_status)
3946 #if FW_ENABLE_TEXT_LOGGING 3947 if (this->isConnected_logTextOut_OutputPort(0)) {
3948 #if FW_OBJECT_NAMES == 1 3949 const char* _formatString =
3950 "(%s) %s: Cannot invoke a module when no module is loaded";
3952 const char* _formatString =
3953 "%s: Cannot invoke a module when no module is loaded";
3957 (void) _logString.
format(
3960 this->m_objName.toChar(),
3962 "ControllerCannotInvoke " 3965 this->logTextOut_out(
3985 this->timeCaller_out(0, _logTime);
3995 #if FW_AMPCS_COMPATIBLE 4000 static_cast<FwAssertArgType>(_status)
4004 #if FW_AMPCS_COMPATIBLE 4011 static_cast<FwAssertArgType>(_status)
4017 static_cast<FwAssertArgType>(_status)
4020 #if FW_AMPCS_COMPATIBLE 4027 static_cast<FwAssertArgType>(_status)
4033 static_cast<FwAssertArgType>(_status)
4046 #if FW_ENABLE_TEXT_LOGGING 4047 if (this->isConnected_logTextOut_OutputPort(0)) {
4048 #if FW_OBJECT_NAMES == 1 4049 const char* _formatString =
4050 "(%s) %s: Controller cannot process signal %s in state %s";
4052 const char* _formatString =
4053 "%s: Controller cannot process signal %s in state %s";
4057 signalSource.toString(signalSourceStr);
4059 state.toString(stateStr);
4062 (void) _logString.
format(
4065 this->m_objName.toChar(),
4068 signalSourceStr.
toChar(),
4072 this->logTextOut_out(
4089 this->timeCaller_out(0, _logTime);
4099 #if FW_AMPCS_COMPATIBLE 4104 static_cast<FwAssertArgType>(_status)
4114 static_cast<FwAssertArgType>(_status)
4127 #if FW_ENABLE_TEXT_LOGGING 4128 if (this->isConnected_logTextOut_OutputPort(0)) {
4129 #if FW_OBJECT_NAMES == 1 4130 const char* _formatString =
4131 "(%s) %s: Module with name %s is not loaded into the store";
4133 const char* _formatString =
4134 "%s: Module with name %s is not loaded into the store";
4138 (void) _logString.
format(
4141 this->m_objName.toChar(),
4147 this->logTextOut_out(
4167 this->timeCaller_out(0, _logTime);
4177 #if FW_AMPCS_COMPATIBLE 4182 static_cast<FwAssertArgType>(_status)
4186 #if FW_AMPCS_COMPATIBLE 4193 static_cast<FwAssertArgType>(_status)
4199 static_cast<FwAssertArgType>(_status)
4202 #if FW_AMPCS_COMPATIBLE 4205 static_cast<U8>(
sizeof(U64))
4209 static_cast<FwAssertArgType>(_status)
4215 static_cast<FwAssertArgType>(_status)
4228 #if FW_ENABLE_TEXT_LOGGING 4229 if (this->isConnected_logTextOut_OutputPort(0)) {
4230 #if FW_OBJECT_NAMES == 1 4231 const char* _formatString =
4232 "(%s) %s: Guest memory.grow rejected: %s (requested %" PRIu64
" bytes)";
4234 const char* _formatString =
4235 "%s: Guest memory.grow rejected: %s (requested %" PRIu64
" bytes)";
4239 reason.toString(reasonStr);
4242 (void) _logString.
format(
4245 this->m_objName.toChar(),
4247 "MemoryGrowRejected ",
4252 this->logTextOut_out(
4273 this->timeCaller_out(0, _logTime);
4283 #if FW_AMPCS_COMPATIBLE 4288 static_cast<FwAssertArgType>(_status)
4298 static_cast<FwAssertArgType>(_status)
4307 static_cast<FwAssertArgType>(_status)
4310 #if FW_AMPCS_COMPATIBLE 4317 static_cast<FwAssertArgType>(_status)
4323 static_cast<FwAssertArgType>(_status)
4336 #if FW_ENABLE_TEXT_LOGGING 4337 if (this->isConnected_logTextOut_OutputPort(0)) {
4338 #if FW_OBJECT_NAMES == 1 4339 const char* _formatString =
4340 "(%s) %s: Failed to set global value for module %s global name %s: %s";
4342 const char* _formatString =
4343 "%s: Failed to set global value for module %s global name %s: %s";
4347 reason.toString(reasonStr);
4350 (void) _logString.
format(
4353 this->m_objName.toChar(),
4361 this->logTextOut_out(
4382 this->timeCaller_out(0, _logTime);
4392 #if FW_AMPCS_COMPATIBLE 4397 static_cast<FwAssertArgType>(_status)
4407 static_cast<FwAssertArgType>(_status)
4416 static_cast<FwAssertArgType>(_status)
4419 #if FW_AMPCS_COMPATIBLE 4426 static_cast<FwAssertArgType>(_status)
4432 static_cast<FwAssertArgType>(_status)
4445 #if FW_ENABLE_TEXT_LOGGING 4446 if (this->isConnected_logTextOut_OutputPort(0)) {
4447 #if FW_OBJECT_NAMES == 1 4448 const char* _formatString =
4449 "(%s) %s: Failed to get global value for module %s global name %s: %s";
4451 const char* _formatString =
4452 "%s: Failed to get global value for module %s global name %s: %s";
4456 reason.toString(reasonStr);
4459 (void) _logString.
format(
4462 this->m_objName.toChar(),
4470 this->logTextOut_out(
4491 this->timeCaller_out(0, _logTime);
4501 #if FW_AMPCS_COMPATIBLE 4506 static_cast<FwAssertArgType>(_status)
4516 static_cast<FwAssertArgType>(_status)
4525 static_cast<FwAssertArgType>(_status)
4528 #if FW_AMPCS_COMPATIBLE 4531 static_cast<U8>(
sizeof(I32))
4535 static_cast<FwAssertArgType>(_status)
4541 static_cast<FwAssertArgType>(_status)
4554 #if FW_ENABLE_TEXT_LOGGING 4555 if (this->isConnected_logTextOut_OutputPort(0)) {
4556 #if FW_OBJECT_NAMES == 1 4557 const char* _formatString =
4558 "(%s) %s: Global value module=%s name=%s value=%" PRIi32
"";
4560 const char* _formatString =
4561 "%s: Global value module=%s name=%s value=%" PRIi32
"";
4565 (void) _logString.
format(
4568 this->m_objName.toChar(),
4576 this->logTextOut_out(
4597 this->timeCaller_out(0, _logTime);
4607 #if FW_AMPCS_COMPATIBLE 4612 static_cast<FwAssertArgType>(_status)
4622 static_cast<FwAssertArgType>(_status)
4631 static_cast<FwAssertArgType>(_status)
4634 #if FW_AMPCS_COMPATIBLE 4637 static_cast<U8>(
sizeof(I64))
4641 static_cast<FwAssertArgType>(_status)
4647 static_cast<FwAssertArgType>(_status)
4660 #if FW_ENABLE_TEXT_LOGGING 4661 if (this->isConnected_logTextOut_OutputPort(0)) {
4662 #if FW_OBJECT_NAMES == 1 4663 const char* _formatString =
4664 "(%s) %s: Global value module=%s name=%s value=%" PRIi64
"";
4666 const char* _formatString =
4667 "%s: Global value module=%s name=%s value=%" PRIi64
"";
4671 (void) _logString.
format(
4674 this->m_objName.toChar(),
4682 this->logTextOut_out(
4703 this->timeCaller_out(0, _logTime);
4713 #if FW_AMPCS_COMPATIBLE 4718 static_cast<FwAssertArgType>(_status)
4728 static_cast<FwAssertArgType>(_status)
4737 static_cast<FwAssertArgType>(_status)
4740 #if FW_AMPCS_COMPATIBLE 4743 static_cast<U8>(
sizeof(
F32))
4747 static_cast<FwAssertArgType>(_status)
4753 static_cast<FwAssertArgType>(_status)
4766 #if FW_ENABLE_TEXT_LOGGING 4767 if (this->isConnected_logTextOut_OutputPort(0)) {
4768 #if FW_OBJECT_NAMES == 1 4769 const char* _formatString =
4770 "(%s) %s: Global value module=%s name=%s value=%f";
4772 const char* _formatString =
4773 "%s: Global value module=%s name=%s value=%f";
4777 (void) _logString.
format(
4780 this->m_objName.toChar(),
4785 static_cast<F64>(value)
4788 this->logTextOut_out(
4809 this->timeCaller_out(0, _logTime);
4819 #if FW_AMPCS_COMPATIBLE 4824 static_cast<FwAssertArgType>(_status)
4834 static_cast<FwAssertArgType>(_status)
4843 static_cast<FwAssertArgType>(_status)
4846 #if FW_AMPCS_COMPATIBLE 4849 static_cast<U8>(
sizeof(
F64))
4853 static_cast<FwAssertArgType>(_status)
4859 static_cast<FwAssertArgType>(_status)
4872 #if FW_ENABLE_TEXT_LOGGING 4873 if (this->isConnected_logTextOut_OutputPort(0)) {
4874 #if FW_OBJECT_NAMES == 1 4875 const char* _formatString =
4876 "(%s) %s: Global value module=%s name=%s value=%f";
4878 const char* _formatString =
4879 "%s: Global value module=%s name=%s value=%f";
4883 (void) _logString.
format(
4886 this->m_objName.toChar(),
4894 this->logTextOut_out(
4914 this->timeCaller_out(0, _logTime);
4924 #if FW_AMPCS_COMPATIBLE 4929 static_cast<FwAssertArgType>(_status)
4939 static_cast<FwAssertArgType>(_status)
4942 #if FW_AMPCS_COMPATIBLE 4945 static_cast<U8>(
sizeof(I32))
4949 static_cast<FwAssertArgType>(_status)
4955 static_cast<FwAssertArgType>(_status)
4968 #if FW_ENABLE_TEXT_LOGGING 4969 if (this->isConnected_logTextOut_OutputPort(0)) {
4970 #if FW_OBJECT_NAMES == 1 4971 const char* _formatString =
4972 "(%s) %s: Failed to open Wasm module file %s: status %" PRIi32
"";
4974 const char* _formatString =
4975 "%s: Failed to open Wasm module file %s: status %" PRIi32
"";
4979 (void) _logString.
format(
4982 this->m_objName.toChar(),
4989 this->logTextOut_out(
5009 this->timeCaller_out(0, _logTime);
5019 #if FW_AMPCS_COMPATIBLE 5024 static_cast<FwAssertArgType>(_status)
5034 static_cast<FwAssertArgType>(_status)
5043 static_cast<FwAssertArgType>(_status)
5056 #if FW_ENABLE_TEXT_LOGGING 5057 if (this->isConnected_logTextOut_OutputPort(0)) {
5058 #if FW_OBJECT_NAMES == 1 5059 const char* _formatString =
5060 "(%s) %s: Sequence file path too long: base dir %s + file %s";
5062 const char* _formatString =
5063 "%s: Sequence file path too long: base dir %s + file %s";
5067 (void) _logString.
format(
5070 this->m_objName.toChar(),
5072 "SequenceFilePathTooLong ",
5077 this->logTextOut_out(
5097 this->timeCaller_out(0, _logTime);
5107 #if FW_AMPCS_COMPATIBLE 5112 static_cast<FwAssertArgType>(_status)
5122 static_cast<FwAssertArgType>(_status)
5131 static_cast<FwAssertArgType>(_status)
5144 #if FW_ENABLE_TEXT_LOGGING 5145 if (this->isConnected_logTextOut_OutputPort(0)) {
5146 #if FW_OBJECT_NAMES == 1 5147 const char* _formatString =
5148 "(%s) %s: Sequence file %s is not contained within base dir %s (path traversal rejected)";
5150 const char* _formatString =
5151 "%s: Sequence file %s is not contained within base dir %s (path traversal rejected)";
5155 (void) _logString.
format(
5158 this->m_objName.toChar(),
5160 "SequenceFilePathNotContained ",
5165 this->logTextOut_out(
5182 this->timeCaller_out(0, _logTime);
5192 #if FW_AMPCS_COMPATIBLE 5197 static_cast<FwAssertArgType>(_status)
5201 #if FW_AMPCS_COMPATIBLE 5208 static_cast<FwAssertArgType>(_status)
5214 static_cast<FwAssertArgType>(_status)
5227 #if FW_ENABLE_TEXT_LOGGING 5228 if (this->isConnected_logTextOut_OutputPort(0)) {
5229 #if FW_OBJECT_NAMES == 1 5230 const char* _formatString =
5231 "(%s) %s: Module load failed: %s";
5233 const char* _formatString =
5234 "%s: Module load failed: %s";
5238 status.toString(statusStr);
5241 (void) _logString.
format(
5244 this->m_objName.toChar(),
5246 "ModuleLoadFailed ",
5250 this->logTextOut_out(
5267 this->timeCaller_out(0, _logTime);
5277 #if FW_AMPCS_COMPATIBLE 5282 static_cast<FwAssertArgType>(_status)
5286 #if FW_AMPCS_COMPATIBLE 5293 static_cast<FwAssertArgType>(_status)
5299 static_cast<FwAssertArgType>(_status)
5312 #if FW_ENABLE_TEXT_LOGGING 5313 if (this->isConnected_logTextOut_OutputPort(0)) {
5314 #if FW_OBJECT_NAMES == 1 5315 const char* _formatString =
5316 "(%s) %s: Module main invoke failed: %s";
5318 const char* _formatString =
5319 "%s: Module main invoke failed: %s";
5323 status.toString(statusStr);
5326 (void) _logString.
format(
5329 this->m_objName.toChar(),
5331 "ModuleMainInvokeFailed ",
5335 this->logTextOut_out(
5352 this->timeCaller_out(0, _logTime);
5362 #if FW_AMPCS_COMPATIBLE 5367 static_cast<FwAssertArgType>(_status)
5371 #if FW_AMPCS_COMPATIBLE 5378 static_cast<FwAssertArgType>(_status)
5384 static_cast<FwAssertArgType>(_status)
5397 #if FW_ENABLE_TEXT_LOGGING 5398 if (this->isConnected_logTextOut_OutputPort(0)) {
5399 #if FW_OBJECT_NAMES == 1 5400 const char* _formatString =
5401 "(%s) %s: Module start invoke failed: %s";
5403 const char* _formatString =
5404 "%s: Module start invoke failed: %s";
5408 status.toString(statusStr);
5411 (void) _logString.
format(
5414 this->m_objName.toChar(),
5416 "ModuleStartInvokeFailed ",
5420 this->logTextOut_out(
5437 this->timeCaller_out(0, _logTime);
5446 #if FW_AMPCS_COMPATIBLE 5452 static_cast<FwAssertArgType>(_status)
5466 #if FW_ENABLE_TEXT_LOGGING 5467 if (this->isConnected_logTextOut_OutputPort(0)) {
5468 #if FW_OBJECT_NAMES == 1 5469 const char* _formatString =
5470 "(%s) %s: Too many commands blocking on sequencer finish";
5472 const char* _formatString =
5473 "%s: Too many commands blocking on sequencer finish";
5477 (void) _logString.
format(
5480 this->m_objName.toChar(),
5482 "TooManyBlockingCommands " 5485 this->logTextOut_out(
5506 this->timeCaller_out(0, _logTime);
5516 #if FW_AMPCS_COMPATIBLE 5521 static_cast<FwAssertArgType>(_status)
5525 #if FW_AMPCS_COMPATIBLE 5532 static_cast<FwAssertArgType>(_status)
5538 static_cast<FwAssertArgType>(_status)
5541 #if FW_AMPCS_COMPATIBLE 5544 static_cast<U8>(
sizeof(U32))
5548 static_cast<FwAssertArgType>(_status)
5554 static_cast<FwAssertArgType>(_status)
5557 #if FW_AMPCS_COMPATIBLE 5560 static_cast<U8>(
sizeof(U32))
5564 static_cast<FwAssertArgType>(_status)
5570 static_cast<FwAssertArgType>(_status)
5583 #if FW_ENABLE_TEXT_LOGGING 5584 if (this->isConnected_logTextOut_OutputPort(0)) {
5585 #if FW_OBJECT_NAMES == 1 5586 const char* _formatString =
5587 "(%s) %s: Host function %s buffer payload size %" PRIu32
" larger than host maximum size %" PRIu32
"";
5589 const char* _formatString =
5590 "%s: Host function %s buffer payload size %" PRIu32
" larger than host maximum size %" PRIu32
"";
5594 host_function.toString(host_functionStr);
5597 (void) _logString.
format(
5600 this->m_objName.toChar(),
5603 host_functionStr.
toChar(),
5608 this->logTextOut_out(
5629 this->timeCaller_out(0, _logTime);
5639 #if FW_AMPCS_COMPATIBLE 5644 static_cast<FwAssertArgType>(_status)
5648 #if FW_AMPCS_COMPATIBLE 5655 static_cast<FwAssertArgType>(_status)
5661 static_cast<FwAssertArgType>(_status)
5664 #if FW_AMPCS_COMPATIBLE 5667 static_cast<U8>(
sizeof(U32))
5671 static_cast<FwAssertArgType>(_status)
5677 static_cast<FwAssertArgType>(_status)
5680 #if FW_AMPCS_COMPATIBLE 5683 static_cast<U8>(
sizeof(U32))
5687 static_cast<FwAssertArgType>(_status)
5693 static_cast<FwAssertArgType>(_status)
5706 #if FW_ENABLE_TEXT_LOGGING 5707 if (this->isConnected_logTextOut_OutputPort(0)) {
5708 #if FW_OBJECT_NAMES == 1 5709 const char* _formatString =
5710 "(%s) %s: Host function %s buffer payload size %" PRIu32
" smaller than host value size %" PRIu32
"";
5712 const char* _formatString =
5713 "%s: Host function %s buffer payload size %" PRIu32
" smaller than host value size %" PRIu32
"";
5717 host_function.toString(host_functionStr);
5720 (void) _logString.
format(
5723 this->m_objName.toChar(),
5726 host_functionStr.
toChar(),
5731 this->logTextOut_out(
5751 this->timeCaller_out(0, _logTime);
5761 #if FW_AMPCS_COMPATIBLE 5766 static_cast<FwAssertArgType>(_status)
5770 #if FW_AMPCS_COMPATIBLE 5777 static_cast<FwAssertArgType>(_status)
5783 static_cast<FwAssertArgType>(_status)
5786 #if FW_AMPCS_COMPATIBLE 5793 static_cast<FwAssertArgType>(_status)
5799 static_cast<FwAssertArgType>(_status)
5812 #if FW_ENABLE_TEXT_LOGGING 5813 if (this->isConnected_logTextOut_OutputPort(0)) {
5814 #if FW_OBJECT_NAMES == 1 5815 const char* _formatString =
5816 "(%s) %s: Failed to read guest pointer in host function %s: %s";
5818 const char* _formatString =
5819 "%s: Failed to read guest pointer in host function %s: %s";
5823 host_function.toString(host_functionStr);
5825 code.toString(codeStr);
5828 (void) _logString.
format(
5831 this->m_objName.toChar(),
5833 "HostFunctionInvalidPointer ",
5834 host_functionStr.
toChar(),
5838 this->logTextOut_out(
5855 this->timeCaller_out(0, _logTime);
5865 #if FW_AMPCS_COMPATIBLE 5870 static_cast<FwAssertArgType>(_status)
5874 #if FW_AMPCS_COMPATIBLE 5877 static_cast<U8>(
sizeof(I32))
5881 static_cast<FwAssertArgType>(_status)
5887 static_cast<FwAssertArgType>(_status)
5900 #if FW_ENABLE_TEXT_LOGGING 5901 if (this->isConnected_logTextOut_OutputPort(0)) {
5902 #if FW_OBJECT_NAMES == 1 5903 const char* _formatString =
5904 "(%s) %s: Invalid blocking type value passed to serial_recv: %" PRIi32
"";
5906 const char* _formatString =
5907 "%s: Invalid blocking type value passed to serial_recv: %" PRIi32
"";
5911 (void) _logString.
format(
5914 this->m_objName.toChar(),
5916 "InvalidBlockingTypeValue ",
5920 this->logTextOut_out(
5941 this->timeCaller_out(0, _logTime);
5951 #if FW_AMPCS_COMPATIBLE 5956 static_cast<FwAssertArgType>(_status)
5960 #if FW_AMPCS_COMPATIBLE 5967 static_cast<FwAssertArgType>(_status)
5973 static_cast<FwAssertArgType>(_status)
5976 #if FW_AMPCS_COMPATIBLE 5979 static_cast<U8>(
sizeof(I32))
5983 static_cast<FwAssertArgType>(_status)
5989 static_cast<FwAssertArgType>(_status)
5992 #if FW_AMPCS_COMPATIBLE 5995 static_cast<U8>(
sizeof(U32))
5999 static_cast<FwAssertArgType>(_status)
6005 static_cast<FwAssertArgType>(_status)
6018 #if FW_ENABLE_TEXT_LOGGING 6019 if (this->isConnected_logTextOut_OutputPort(0)) {
6020 #if FW_OBJECT_NAMES == 1 6021 const char* _formatString =
6022 "(%s) %s: Host function %s requested invalid serial port index %" PRIi32
" (have %" PRIu32
" ports)";
6024 const char* _formatString =
6025 "%s: Host function %s requested invalid serial port index %" PRIi32
" (have %" PRIu32
" ports)";
6029 host_function.toString(host_functionStr);
6032 (void) _logString.
format(
6035 this->m_objName.toChar(),
6037 "HostFunctionInvalidPort ",
6038 host_functionStr.
toChar(),
6043 this->logTextOut_out(
6063 this->timeCaller_out(0, _logTime);
6073 #if FW_AMPCS_COMPATIBLE 6078 static_cast<FwAssertArgType>(_status)
6082 #if FW_AMPCS_COMPATIBLE 6089 static_cast<FwAssertArgType>(_status)
6095 static_cast<FwAssertArgType>(_status)
6098 #if FW_AMPCS_COMPATIBLE 6101 static_cast<U8>(
sizeof(I32))
6105 static_cast<FwAssertArgType>(_status)
6111 static_cast<FwAssertArgType>(_status)
6124 #if FW_ENABLE_TEXT_LOGGING 6125 if (this->isConnected_logTextOut_OutputPort(0)) {
6126 #if FW_OBJECT_NAMES == 1 6127 const char* _formatString =
6128 "(%s) %s: Host function %s failed to send on serial port: serialize status %" PRIi32
"";
6130 const char* _formatString =
6131 "%s: Host function %s failed to send on serial port: serialize status %" PRIi32
"";
6135 host_function.toString(host_functionStr);
6138 (void) _logString.
format(
6141 this->m_objName.toChar(),
6143 "SerialPortSendFailed ",
6144 host_functionStr.
toChar(),
6148 this->logTextOut_out(
6169 this->timeCaller_out(0, _logTime);
6179 #if FW_AMPCS_COMPATIBLE 6184 static_cast<FwAssertArgType>(_status)
6188 #if FW_AMPCS_COMPATIBLE 6191 static_cast<U8>(
sizeof(U32))
6195 static_cast<FwAssertArgType>(_status)
6201 static_cast<FwAssertArgType>(_status)
6204 #if FW_AMPCS_COMPATIBLE 6207 static_cast<U8>(
sizeof(U32))
6211 static_cast<FwAssertArgType>(_status)
6217 static_cast<FwAssertArgType>(_status)
6220 #if FW_AMPCS_COMPATIBLE 6223 static_cast<U8>(
sizeof(U32))
6227 static_cast<FwAssertArgType>(_status)
6233 static_cast<FwAssertArgType>(_status)
6246 #if FW_ENABLE_TEXT_LOGGING 6247 if (this->isConnected_logTextOut_OutputPort(0)) {
6248 #if FW_OBJECT_NAMES == 1 6249 const char* _formatString =
6250 "(%s) %s: Serial input port %" PRIu32
" dropped oversized frame of %" PRIu32
" bytes (queue max %" PRIu32
")";
6252 const char* _formatString =
6253 "%s: Serial input port %" PRIu32
" dropped oversized frame of %" PRIu32
" bytes (queue max %" PRIu32
")";
6257 (void) _logString.
format(
6260 this->m_objName.toChar(),
6262 "SerialInFrameTooLarge ",
6268 this->logTextOut_out(
6288 this->timeCaller_out(0, _logTime);
6298 #if FW_AMPCS_COMPATIBLE 6303 static_cast<FwAssertArgType>(_status)
6307 #if FW_AMPCS_COMPATIBLE 6310 static_cast<U8>(
sizeof(I32))
6314 static_cast<FwAssertArgType>(_status)
6320 static_cast<FwAssertArgType>(_status)
6329 static_cast<FwAssertArgType>(_status)
6342 #if FW_ENABLE_TEXT_LOGGING 6343 if (this->isConnected_logTextOut_OutputPort(0)) {
6344 #if FW_OBJECT_NAMES == 1 6345 const char* _formatString =
6346 "(%s) %s: Guest event at invalid/forbidden severity '%" PRIi32
"': %s";
6348 const char* _formatString =
6349 "%s: Guest event at invalid/forbidden severity '%" PRIi32
"': %s";
6353 (void) _logString.
format(
6356 this->m_objName.toChar(),
6358 "HostFunctionInvalidSeverity ",
6363 this->logTextOut_out(
6380 this->timeCaller_out(0, _logTime);
6390 #if FW_AMPCS_COMPATIBLE 6395 static_cast<FwAssertArgType>(_status)
6399 #if FW_AMPCS_COMPATIBLE 6406 static_cast<FwAssertArgType>(_status)
6412 static_cast<FwAssertArgType>(_status)
6425 #if FW_ENABLE_TEXT_LOGGING 6426 if (this->isConnected_logTextOut_OutputPort(0)) {
6427 #if FW_OBJECT_NAMES == 1 6428 const char* _formatString =
6429 "(%s) %s: Sequence at index %" PRIu8
" finished starting";
6431 const char* _formatString =
6432 "%s: Sequence at index %" PRIu8
" finished starting";
6436 (void) _logString.
format(
6439 this->m_objName.toChar(),
6441 "SequenceStarting ",
6445 this->logTextOut_out(
6462 this->timeCaller_out(0, _logTime);
6472 #if FW_AMPCS_COMPATIBLE 6477 static_cast<FwAssertArgType>(_status)
6481 #if FW_AMPCS_COMPATIBLE 6488 static_cast<FwAssertArgType>(_status)
6494 static_cast<FwAssertArgType>(_status)
6507 #if FW_ENABLE_TEXT_LOGGING 6508 if (this->isConnected_logTextOut_OutputPort(0)) {
6509 #if FW_OBJECT_NAMES == 1 6510 const char* _formatString =
6511 "(%s) %s: Sequence at index %" PRIu8
" finished successfully";
6513 const char* _formatString =
6514 "%s: Sequence at index %" PRIu8
" finished successfully";
6518 (void) _logString.
format(
6521 this->m_objName.toChar(),
6523 "SequenceSucceeded ",
6527 this->logTextOut_out(
6547 this->timeCaller_out(0, _logTime);
6557 #if FW_AMPCS_COMPATIBLE 6562 static_cast<FwAssertArgType>(_status)
6566 #if FW_AMPCS_COMPATIBLE 6573 static_cast<FwAssertArgType>(_status)
6579 static_cast<FwAssertArgType>(_status)
6582 #if FW_AMPCS_COMPATIBLE 6589 static_cast<FwAssertArgType>(_status)
6595 static_cast<FwAssertArgType>(_status)
6608 #if FW_ENABLE_TEXT_LOGGING 6609 if (this->isConnected_logTextOut_OutputPort(0)) {
6610 #if FW_OBJECT_NAMES == 1 6611 const char* _formatString =
6612 "(%s) %s: Sequence at index %" PRIu8
" was cancelled during %s";
6614 const char* _formatString =
6615 "%s: Sequence at index %" PRIu8
" was cancelled during %s";
6619 phase.toString(phaseStr);
6622 (void) _logString.
format(
6625 this->m_objName.toChar(),
6627 "SequenceCancelled ",
6632 this->logTextOut_out(
6653 this->timeCaller_out(0, _logTime);
6663 #if FW_AMPCS_COMPATIBLE 6668 static_cast<FwAssertArgType>(_status)
6672 #if FW_AMPCS_COMPATIBLE 6679 static_cast<FwAssertArgType>(_status)
6685 static_cast<FwAssertArgType>(_status)
6688 #if FW_AMPCS_COMPATIBLE 6695 static_cast<FwAssertArgType>(_status)
6701 static_cast<FwAssertArgType>(_status)
6704 #if FW_AMPCS_COMPATIBLE 6707 static_cast<U8>(
sizeof(I32))
6711 static_cast<FwAssertArgType>(_status)
6717 static_cast<FwAssertArgType>(_status)
6730 #if FW_ENABLE_TEXT_LOGGING 6731 if (this->isConnected_logTextOut_OutputPort(0)) {
6732 #if FW_OBJECT_NAMES == 1 6733 const char* _formatString =
6734 "(%s) %s: Sequence at index %" PRIu8
" exited during %s with non-zero code %" PRIi32
"";
6736 const char* _formatString =
6737 "%s: Sequence at index %" PRIu8
" exited during %s with non-zero code %" PRIi32
"";
6741 phase.toString(phaseStr);
6744 (void) _logString.
format(
6747 this->m_objName.toChar(),
6755 this->logTextOut_out(
6776 this->timeCaller_out(0, _logTime);
6786 #if FW_AMPCS_COMPATIBLE 6791 static_cast<FwAssertArgType>(_status)
6795 #if FW_AMPCS_COMPATIBLE 6802 static_cast<FwAssertArgType>(_status)
6808 static_cast<FwAssertArgType>(_status)
6811 #if FW_AMPCS_COMPATIBLE 6818 static_cast<FwAssertArgType>(_status)
6824 static_cast<FwAssertArgType>(_status)
6827 #if FW_AMPCS_COMPATIBLE 6830 static_cast<U8>(
sizeof(I32))
6834 static_cast<FwAssertArgType>(_status)
6840 static_cast<FwAssertArgType>(_status)
6853 #if FW_ENABLE_TEXT_LOGGING 6854 if (this->isConnected_logTextOut_OutputPort(0)) {
6855 #if FW_OBJECT_NAMES == 1 6856 const char* _formatString =
6857 "(%s) %s: Sequence at index %" PRIu8
" panicked during %s with code %" PRIi32
"";
6859 const char* _formatString =
6860 "%s: Sequence at index %" PRIu8
" panicked during %s with code %" PRIi32
"";
6864 phase.toString(phaseStr);
6867 (void) _logString.
format(
6870 this->m_objName.toChar(),
6878 this->logTextOut_out(
6899 this->timeCaller_out(0, _logTime);
6909 #if FW_AMPCS_COMPATIBLE 6914 static_cast<FwAssertArgType>(_status)
6918 #if FW_AMPCS_COMPATIBLE 6925 static_cast<FwAssertArgType>(_status)
6931 static_cast<FwAssertArgType>(_status)
6934 #if FW_AMPCS_COMPATIBLE 6941 static_cast<FwAssertArgType>(_status)
6947 static_cast<FwAssertArgType>(_status)
6950 #if FW_AMPCS_COMPATIBLE 6957 static_cast<FwAssertArgType>(_status)
6963 static_cast<FwAssertArgType>(_status)
6976 #if FW_ENABLE_TEXT_LOGGING 6977 if (this->isConnected_logTextOut_OutputPort(0)) {
6978 #if FW_OBJECT_NAMES == 1 6979 const char* _formatString =
6980 "(%s) %s: Sequence at index %" PRIu8
" trapped during %s: %s";
6982 const char* _formatString =
6983 "%s: Sequence at index %" PRIu8
" trapped during %s: %s";
6987 phase.toString(phaseStr);
6989 reason.toString(reasonStr);
6992 (void) _logString.
format(
6995 this->m_objName.toChar(),
7003 this->logTextOut_out(
7025 this->timeCaller_out(0, _logTime);
7035 #if FW_AMPCS_COMPATIBLE 7040 static_cast<FwAssertArgType>(_status)
7044 #if FW_AMPCS_COMPATIBLE 7051 static_cast<FwAssertArgType>(_status)
7057 static_cast<FwAssertArgType>(_status)
7060 #if FW_AMPCS_COMPATIBLE 7067 static_cast<FwAssertArgType>(_status)
7073 static_cast<FwAssertArgType>(_status)
7076 #if FW_AMPCS_COMPATIBLE 7083 static_cast<FwAssertArgType>(_status)
7089 static_cast<FwAssertArgType>(_status)
7092 #if FW_AMPCS_COMPATIBLE 7099 static_cast<FwAssertArgType>(_status)
7105 static_cast<FwAssertArgType>(_status)
7118 #if FW_ENABLE_TEXT_LOGGING 7119 if (this->isConnected_logTextOut_OutputPort(0)) {
7120 #if FW_OBJECT_NAMES == 1 7121 const char* _formatString =
7122 "(%s) %s: Sequence at index %" PRIu8
" failed during %s: %s while awaiting host function %s";
7124 const char* _formatString =
7125 "%s: Sequence at index %" PRIu8
" failed during %s: %s while awaiting host function %s";
7129 phase.toString(phaseStr);
7131 reason.toString(reasonStr);
7133 hostFunction.toString(hostFunctionStr);
7136 (void) _logString.
format(
7139 this->m_objName.toChar(),
7141 "SequenceHostFailure ",
7148 this->logTextOut_out(
7165 this->timeCaller_out(0, _logTime);
7174 #if FW_AMPCS_COMPATIBLE 7180 static_cast<FwAssertArgType>(_status)
7194 #if FW_ENABLE_TEXT_LOGGING 7195 if (this->isConnected_logTextOut_OutputPort(0)) {
7196 #if FW_OBJECT_NAMES == 1 7197 const char* _formatString =
7198 "(%s) %s: Sequence execution paused";
7200 const char* _formatString =
7201 "%s: Sequence execution paused";
7205 (void) _logString.
format(
7208 this->m_objName.toChar(),
7213 this->logTextOut_out(
7230 this->timeCaller_out(0, _logTime);
7239 #if FW_AMPCS_COMPATIBLE 7245 static_cast<FwAssertArgType>(_status)
7259 #if FW_ENABLE_TEXT_LOGGING 7260 if (this->isConnected_logTextOut_OutputPort(0)) {
7261 #if FW_OBJECT_NAMES == 1 7262 const char* _formatString =
7263 "(%s) %s: Sequence cannot continue when interpreter is not running";
7265 const char* _formatString =
7266 "%s: Sequence cannot continue when interpreter is not running";
7270 (void) _logString.
format(
7273 this->m_objName.toChar(),
7275 "SequenceNotRunning " 7278 this->logTextOut_out(
7298 this->timeCaller_out(0, _logTime);
7308 #if FW_AMPCS_COMPATIBLE 7313 static_cast<FwAssertArgType>(_status)
7317 #if FW_AMPCS_COMPATIBLE 7324 static_cast<FwAssertArgType>(_status)
7330 static_cast<FwAssertArgType>(_status)
7333 #if FW_AMPCS_COMPATIBLE 7336 static_cast<U8>(
sizeof(U64))
7340 static_cast<FwAssertArgType>(_status)
7346 static_cast<FwAssertArgType>(_status)
7359 #if FW_ENABLE_TEXT_LOGGING 7360 if (this->isConnected_logTextOut_OutputPort(0)) {
7361 #if FW_OBJECT_NAMES == 1 7362 const char* _formatString =
7363 "(%s) %s: Host function %s requested a sleep of %" PRIu64
" us that overflows the host timer";
7365 const char* _formatString =
7366 "%s: Host function %s requested a sleep of %" PRIu64
" us that overflows the host timer";
7370 host_function.toString(host_functionStr);
7373 (void) _logString.
format(
7376 this->m_objName.toChar(),
7378 "SleepDurationTooLarge ",
7379 host_functionStr.
toChar(),
7383 this->logTextOut_out(
7403 this->timeCaller_out(0, _logTime);
7413 #if FW_AMPCS_COMPATIBLE 7418 static_cast<FwAssertArgType>(_status)
7422 #if FW_AMPCS_COMPATIBLE 7429 static_cast<FwAssertArgType>(_status)
7435 static_cast<FwAssertArgType>(_status)
7438 #if FW_AMPCS_COMPATIBLE 7441 static_cast<U8>(
sizeof(I64))
7445 static_cast<FwAssertArgType>(_status)
7451 static_cast<FwAssertArgType>(_status)
7464 #if FW_ENABLE_TEXT_LOGGING 7465 if (this->isConnected_logTextOut_OutputPort(0)) {
7466 #if FW_OBJECT_NAMES == 1 7467 const char* _formatString =
7468 "(%s) %s: Host function %s requested id %" PRIi64
" outside representable id range";
7470 const char* _formatString =
7471 "%s: Host function %s requested id %" PRIi64
" outside representable id range";
7475 host_function.toString(host_functionStr);
7478 (void) _logString.
format(
7481 this->m_objName.toChar(),
7483 "HostFunctionInvalidId ",
7484 host_functionStr.
toChar(),
7488 this->logTextOut_out(
7504 U16 currentSequenceIdx
7510 this->timeCaller_out(0, _logTime);
7520 #if FW_AMPCS_COMPATIBLE 7525 static_cast<FwAssertArgType>(_status)
7529 #if FW_AMPCS_COMPATIBLE 7536 static_cast<FwAssertArgType>(_status)
7542 static_cast<FwAssertArgType>(_status)
7545 #if FW_AMPCS_COMPATIBLE 7552 static_cast<FwAssertArgType>(_status)
7558 static_cast<FwAssertArgType>(_status)
7561 #if FW_AMPCS_COMPATIBLE 7564 static_cast<U8>(
sizeof(U16))
7568 static_cast<FwAssertArgType>(_status)
7574 static_cast<FwAssertArgType>(_status)
7577 #if FW_AMPCS_COMPATIBLE 7580 static_cast<U8>(
sizeof(U16))
7584 static_cast<FwAssertArgType>(_status)
7590 static_cast<FwAssertArgType>(_status)
7603 #if FW_ENABLE_TEXT_LOGGING 7604 if (this->isConnected_logTextOut_OutputPort(0)) {
7605 #if FW_OBJECT_NAMES == 1 7606 const char* _formatString =
7607 "(%s) %s: Command response (opcode %" PRIu32
", response %s) was from a previous sequence (old idx %" PRIu16
", current idx %" PRIu16
")";
7609 const char* _formatString =
7610 "%s: Command response (opcode %" PRIu32
", response %s) was from a previous sequence (old idx %" PRIu16
", current idx %" PRIu16
")";
7614 response.toString(responseStr);
7617 (void) _logString.
format(
7620 this->m_objName.toChar(),
7622 "CmdResponseFromOldSequence ",
7629 this->logTextOut_out(
7651 this->timeCaller_out(0, _logTime);
7661 #if FW_AMPCS_COMPATIBLE 7666 static_cast<FwAssertArgType>(_status)
7670 #if FW_AMPCS_COMPATIBLE 7677 static_cast<FwAssertArgType>(_status)
7683 static_cast<FwAssertArgType>(_status)
7686 #if FW_AMPCS_COMPATIBLE 7693 static_cast<FwAssertArgType>(_status)
7699 static_cast<FwAssertArgType>(_status)
7702 #if FW_AMPCS_COMPATIBLE 7705 static_cast<U8>(
sizeof(U16))
7709 static_cast<FwAssertArgType>(_status)
7715 static_cast<FwAssertArgType>(_status)
7718 #if FW_AMPCS_COMPATIBLE 7721 static_cast<U8>(
sizeof(U16))
7725 static_cast<FwAssertArgType>(_status)
7731 static_cast<FwAssertArgType>(_status)
7744 #if FW_ENABLE_TEXT_LOGGING 7745 if (this->isConnected_logTextOut_OutputPort(0)) {
7746 #if FW_OBJECT_NAMES == 1 7747 const char* _formatString =
7748 "(%s) %s: Command response (opcode %" PRIu32
", response %s) was for a different command instance (actual idx %" PRIu16
", expected %" PRIu16
")";
7750 const char* _formatString =
7751 "%s: Command response (opcode %" PRIu32
", response %s) was for a different command instance (actual idx %" PRIu16
", expected %" PRIu16
")";
7755 response.toString(responseStr);
7758 (void) _logString.
format(
7761 this->m_objName.toChar(),
7763 "WrongCmdResponseIndex ",
7770 this->logTextOut_out(
7790 this->timeCaller_out(0, _logTime);
7800 #if FW_AMPCS_COMPATIBLE 7805 static_cast<FwAssertArgType>(_status)
7809 #if FW_AMPCS_COMPATIBLE 7816 static_cast<FwAssertArgType>(_status)
7822 static_cast<FwAssertArgType>(_status)
7825 #if FW_AMPCS_COMPATIBLE 7832 static_cast<FwAssertArgType>(_status)
7838 static_cast<FwAssertArgType>(_status)
7851 #if FW_ENABLE_TEXT_LOGGING 7852 if (this->isConnected_logTextOut_OutputPort(0)) {
7853 #if FW_OBJECT_NAMES == 1 7854 const char* _formatString =
7855 "(%s) %s: Module at index %" PRIu8
" does not have a valid 'main' entrypoint: %s";
7857 const char* _formatString =
7858 "%s: Module at index %" PRIu8
" does not have a valid 'main' entrypoint: %s";
7862 status.toString(statusStr);
7865 (void) _logString.
format(
7868 this->m_objName.toChar(),
7870 "InvalidModuleEntrypoint ",
7875 this->logTextOut_out(
7892 this->timeCaller_out(0, _logTime);
7902 #if FW_AMPCS_COMPATIBLE 7907 static_cast<FwAssertArgType>(_status)
7917 static_cast<FwAssertArgType>(_status)
7930 #if FW_ENABLE_TEXT_LOGGING 7931 if (this->isConnected_logTextOut_OutputPort(0)) {
7932 #if FW_OBJECT_NAMES == 1 7933 const char* _formatString =
7936 const char* _formatString =
7941 (void) _logString.
format(
7944 this->m_objName.toChar(),
7950 this->logTextOut_out(
7967 this->timeCaller_out(0, _logTime);
7977 #if FW_AMPCS_COMPATIBLE 7982 static_cast<FwAssertArgType>(_status)
7992 static_cast<FwAssertArgType>(_status)
8005 #if FW_ENABLE_TEXT_LOGGING 8006 if (this->isConnected_logTextOut_OutputPort(0)) {
8007 #if FW_OBJECT_NAMES == 1 8008 const char* _formatString =
8011 const char* _formatString =
8016 (void) _logString.
format(
8019 this->m_objName.toChar(),
8025 this->logTextOut_out(
8042 this->timeCaller_out(0, _logTime);
8052 #if FW_AMPCS_COMPATIBLE 8057 static_cast<FwAssertArgType>(_status)
8067 static_cast<FwAssertArgType>(_status)
8080 #if FW_ENABLE_TEXT_LOGGING 8081 if (this->isConnected_logTextOut_OutputPort(0)) {
8082 #if FW_OBJECT_NAMES == 1 8083 const char* _formatString =
8086 const char* _formatString =
8091 (void) _logString.
format(
8094 this->m_objName.toChar(),
8100 this->logTextOut_out(
8117 this->timeCaller_out(0, _logTime);
8127 #if FW_AMPCS_COMPATIBLE 8132 static_cast<FwAssertArgType>(_status)
8142 static_cast<FwAssertArgType>(_status)
8155 #if FW_ENABLE_TEXT_LOGGING 8156 if (this->isConnected_logTextOut_OutputPort(0)) {
8157 #if FW_OBJECT_NAMES == 1 8158 const char* _formatString =
8161 const char* _formatString =
8166 (void) _logString.
format(
8169 this->m_objName.toChar(),
8175 this->logTextOut_out(
8192 this->timeCaller_out(0, _logTime);
8202 #if FW_AMPCS_COMPATIBLE 8207 static_cast<FwAssertArgType>(_status)
8217 static_cast<FwAssertArgType>(_status)
8230 #if FW_ENABLE_TEXT_LOGGING 8231 if (this->isConnected_logTextOut_OutputPort(0)) {
8232 #if FW_OBJECT_NAMES == 1 8233 const char* _formatString =
8236 const char* _formatString =
8241 (void) _logString.
format(
8244 this->m_objName.toChar(),
8250 this->logTextOut_out(
8277 this->timeCaller_out(0, _tlmTime);
8303 if (not this->m_first_update_ControllerState) {
8305 if (arg == this->m_last_ControllerState) {
8309 this->m_last_ControllerState = arg;
8313 this->m_first_update_ControllerState =
false;
8314 this->m_last_ControllerState = arg;
8322 static_cast<FwAssertArgType>(_stat)
8340 if (not this->m_first_update_InterpreterState) {
8342 if (arg == this->m_last_InterpreterState) {
8346 this->m_last_InterpreterState = arg;
8350 this->m_first_update_InterpreterState =
false;
8351 this->m_last_InterpreterState = arg;
8359 static_cast<FwAssertArgType>(_stat)
8377 if (not this->m_first_update_SequencesSucceeded) {
8379 if (arg == this->m_last_SequencesSucceeded) {
8383 this->m_last_SequencesSucceeded = arg;
8387 this->m_first_update_SequencesSucceeded =
false;
8388 this->m_last_SequencesSucceeded = arg;
8396 static_cast<FwAssertArgType>(_stat)
8414 if (not this->m_first_update_SequencesFailed) {
8416 if (arg == this->m_last_SequencesFailed) {
8420 this->m_last_SequencesFailed = arg;
8424 this->m_first_update_SequencesFailed =
false;
8425 this->m_last_SequencesFailed = arg;
8433 static_cast<FwAssertArgType>(_stat)
8451 if (not this->m_first_update_SequencesCancelled) {
8453 if (arg == this->m_last_SequencesCancelled) {
8457 this->m_last_SequencesCancelled = arg;
8461 this->m_first_update_SequencesCancelled =
false;
8462 this->m_last_SequencesCancelled = arg;
8470 static_cast<FwAssertArgType>(_stat)
8488 if (not this->m_first_update_CommandsDispatched) {
8490 if (arg == this->m_last_CommandsDispatched) {
8494 this->m_last_CommandsDispatched = arg;
8498 this->m_first_update_CommandsDispatched =
false;
8499 this->m_last_CommandsDispatched = arg;
8507 static_cast<FwAssertArgType>(_stat)
8525 if (not this->m_first_update_CommandsFailed) {
8527 if (arg == this->m_last_CommandsFailed) {
8531 this->m_last_CommandsFailed = arg;
8535 this->m_first_update_CommandsFailed =
false;
8536 this->m_last_CommandsFailed = arg;
8544 static_cast<FwAssertArgType>(_stat)
8562 if (not this->m_first_update_LastTrapReason) {
8564 if (arg == this->m_last_LastTrapReason) {
8568 this->m_last_LastTrapReason = arg;
8572 this->m_first_update_LastTrapReason =
false;
8573 this->m_last_LastTrapReason = arg;
8581 static_cast<FwAssertArgType>(_stat)
8599 if (not this->m_first_update_SeqName) {
8601 if (arg == this->m_last_SeqName) {
8605 this->m_last_SeqName = arg;
8609 this->m_first_update_SeqName =
false;
8610 this->m_last_SeqName = arg;
8621 static_cast<FwAssertArgType>(_stat)
8667 this->m_paramLock.
lock();
8668 valid = this->m_param_HOST_FUNCTION_TIMEOUT_SECS_valid;
8670 _local = this->m_HOST_FUNCTION_TIMEOUT_SECS;
8672 this->m_paramLock.
unlock();
8680 this->m_paramLock.
lock();
8681 valid = this->m_param_INSTRUCTION_FUEL_valid;
8683 _local = this->m_INSTRUCTION_FUEL;
8685 this->m_paramLock.
unlock();
8693 this->m_paramLock.
lock();
8694 valid = this->m_param_SEQ_BASE_DIR_valid;
8696 _local = this->m_SEQ_BASE_DIR;
8698 this->m_paramLock.
unlock();
8711 this->timeCaller_out(0, _time);
8729 this->m_guardedPortMutex.
lock();
8735 this->m_guardedPortMutex.
unLock();
8745 ComponentIpcSerializableBuffer _msg;
8755 static_cast<FwAssertArgType>(_msgStatus)
8765 static_cast<FwAssertArgType>(_deserStatus)
8768 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
8770 if (_msgType == WASMSEQUENCER_COMPONENT_EXIT) {
8775 _deserStatus = _msg.deserializeTo(portNum);
8778 static_cast<FwAssertArgType>(_deserStatus)
8783 case CHECKTIMERS_SCHED: {
8786 _deserStatus = _msg.deserializeTo(context);
8789 static_cast<FwAssertArgType>(_deserStatus)
8801 case CMDRESPONSEIN_CMDRESPONSE: {
8804 _deserStatus = _msg.deserializeTo(opCode);
8807 static_cast<FwAssertArgType>(_deserStatus)
8812 _deserStatus = _msg.deserializeTo(cmdSeq);
8815 static_cast<FwAssertArgType>(_deserStatus)
8820 _deserStatus = _msg.deserializeTo(response);
8823 static_cast<FwAssertArgType>(_deserStatus)
8837 case SEQRUNIN_CMDSEQIN: {
8840 Fw::ExternalString filename(__fprime_ac_filename_buffer,
sizeof __fprime_ac_filename_buffer);
8841 _deserStatus = _msg.deserializeTo(filename);
8844 static_cast<FwAssertArgType>(_deserStatus)
8849 _deserStatus = _msg.deserializeTo(args);
8852 static_cast<FwAssertArgType>(_deserStatus)
8868 _deserStatus = _msg.deserializeTo(_opCode);
8871 static_cast<FwAssertArgType>(_deserStatus)
8876 _deserStatus = _msg.deserializeTo(_cmdSeq);
8879 static_cast<FwAssertArgType>(_deserStatus)
8884 _deserStatus = _msg.deserializeTo(args);
8887 static_cast<FwAssertArgType>(_deserStatus)
8925 #if FW_CMD_CHECK_RESIDUAL 8949 _deserStatus = _msg.deserializeTo(_opCode);
8952 static_cast<FwAssertArgType>(_deserStatus)
8957 _deserStatus = _msg.deserializeTo(_cmdSeq);
8960 static_cast<FwAssertArgType>(_deserStatus)
8965 _deserStatus = _msg.deserializeTo(args);
8968 static_cast<FwAssertArgType>(_deserStatus)
9006 #if FW_CMD_CHECK_RESIDUAL 9030 _deserStatus = _msg.deserializeTo(_opCode);
9033 static_cast<FwAssertArgType>(_deserStatus)
9038 _deserStatus = _msg.deserializeTo(_cmdSeq);
9041 static_cast<FwAssertArgType>(_deserStatus)
9046 _deserStatus = _msg.deserializeTo(args);
9049 static_cast<FwAssertArgType>(_deserStatus)
9087 #if FW_CMD_CHECK_RESIDUAL 9111 _deserStatus = _msg.deserializeTo(_opCode);
9114 static_cast<FwAssertArgType>(_deserStatus)
9119 _deserStatus = _msg.deserializeTo(_cmdSeq);
9122 static_cast<FwAssertArgType>(_deserStatus)
9127 _deserStatus = _msg.deserializeTo(args);
9130 static_cast<FwAssertArgType>(_deserStatus)
9138 #if FW_CMD_CHECK_RESIDUAL 9158 _deserStatus = _msg.deserializeTo(_opCode);
9161 static_cast<FwAssertArgType>(_deserStatus)
9166 _deserStatus = _msg.deserializeTo(_cmdSeq);
9169 static_cast<FwAssertArgType>(_deserStatus)
9174 _deserStatus = _msg.deserializeTo(args);
9177 static_cast<FwAssertArgType>(_deserStatus)
9185 #if FW_CMD_CHECK_RESIDUAL 9202 case CMD_CONTINUE: {
9205 _deserStatus = _msg.deserializeTo(_opCode);
9208 static_cast<FwAssertArgType>(_deserStatus)
9213 _deserStatus = _msg.deserializeTo(_cmdSeq);
9216 static_cast<FwAssertArgType>(_deserStatus)
9221 _deserStatus = _msg.deserializeTo(args);
9224 static_cast<FwAssertArgType>(_deserStatus)
9232 #if FW_CMD_CHECK_RESIDUAL 9249 case CMD_GLOBAL_SET_I32: {
9252 _deserStatus = _msg.deserializeTo(_opCode);
9255 static_cast<FwAssertArgType>(_deserStatus)
9260 _deserStatus = _msg.deserializeTo(_cmdSeq);
9263 static_cast<FwAssertArgType>(_deserStatus)
9268 _deserStatus = _msg.deserializeTo(args);
9271 static_cast<FwAssertArgType>(_deserStatus)
9324 #if FW_CMD_CHECK_RESIDUAL 9346 case CMD_GLOBAL_SET_I64: {
9349 _deserStatus = _msg.deserializeTo(_opCode);
9352 static_cast<FwAssertArgType>(_deserStatus)
9357 _deserStatus = _msg.deserializeTo(_cmdSeq);
9360 static_cast<FwAssertArgType>(_deserStatus)
9365 _deserStatus = _msg.deserializeTo(args);
9368 static_cast<FwAssertArgType>(_deserStatus)
9421 #if FW_CMD_CHECK_RESIDUAL 9443 case CMD_GLOBAL_SET_F32: {
9446 _deserStatus = _msg.deserializeTo(_opCode);
9449 static_cast<FwAssertArgType>(_deserStatus)
9454 _deserStatus = _msg.deserializeTo(_cmdSeq);
9457 static_cast<FwAssertArgType>(_deserStatus)
9462 _deserStatus = _msg.deserializeTo(args);
9465 static_cast<FwAssertArgType>(_deserStatus)
9518 #if FW_CMD_CHECK_RESIDUAL 9540 case CMD_GLOBAL_SET_F64: {
9543 _deserStatus = _msg.deserializeTo(_opCode);
9546 static_cast<FwAssertArgType>(_deserStatus)
9551 _deserStatus = _msg.deserializeTo(_cmdSeq);
9554 static_cast<FwAssertArgType>(_deserStatus)
9559 _deserStatus = _msg.deserializeTo(args);
9562 static_cast<FwAssertArgType>(_deserStatus)
9615 #if FW_CMD_CHECK_RESIDUAL 9637 case CMD_GLOBAL_GET: {
9640 _deserStatus = _msg.deserializeTo(_opCode);
9643 static_cast<FwAssertArgType>(_deserStatus)
9648 _deserStatus = _msg.deserializeTo(_cmdSeq);
9651 static_cast<FwAssertArgType>(_deserStatus)
9656 _deserStatus = _msg.deserializeTo(args);
9659 static_cast<FwAssertArgType>(_deserStatus)
9697 #if FW_CMD_CHECK_RESIDUAL 9718 case INT_IF_WRITETELEMETRYINTERNAL: {
9722 _msg.getDeserializeSizeLeft() == 0,
9734 case INTERNAL_STATE_MACHINE_SIGNAL:
9735 this->smDispatch(_msg);
9749 void WasmSequencerComponentBase ::
9760 compPtr->cmdIn_handlerBase(
9772 void WasmSequencerComponentBase ::
9781 compPtr->checkTimers_handlerBase(
9787 void WasmSequencerComponentBase ::
9788 m_p_cmdResponseIn_in(
9798 compPtr->cmdResponseIn_handlerBase(
9806 void WasmSequencerComponentBase ::
9814 compPtr->seqCancelIn_handlerBase(portNum);
9817 void WasmSequencerComponentBase ::
9827 compPtr->seqRunIn_handlerBase(
9834 void WasmSequencerComponentBase ::
9835 m_p_writeTelemetry_in(
9843 compPtr->writeTelemetry_handlerBase(
9853 #if FW_PORT_SERIALIZATION 9855 void WasmSequencerComponentBase ::
9864 compPtr->serialIn_handlerBase(
9872 #if !FW_DIRECT_PORT_CALLS 9878 void WasmSequencerComponentBase ::
9886 static_cast<FwAssertArgType>(portNum)
9890 this->m_cmdRegOut_OutputPort[portNum].isConnected(),
9891 static_cast<FwAssertArgType>(portNum)
9893 this->m_cmdRegOut_OutputPort[portNum].
invoke(
9898 void WasmSequencerComponentBase ::
9908 static_cast<FwAssertArgType>(portNum)
9912 this->m_cmdResponseOut_OutputPort[portNum].isConnected(),
9913 static_cast<FwAssertArgType>(portNum)
9915 this->m_cmdResponseOut_OutputPort[portNum].
invoke(
9922 void WasmSequencerComponentBase ::
9933 static_cast<FwAssertArgType>(portNum)
9937 this->m_logOut_OutputPort[portNum].isConnected(),
9938 static_cast<FwAssertArgType>(portNum)
9940 this->m_logOut_OutputPort[portNum].
invoke(
9948 #if FW_ENABLE_TEXT_LOGGING 9950 void WasmSequencerComponentBase ::
9960 (0 <= portNum) && (portNum < this->getNum_logTextOut_OutputPorts()),
9961 static_cast<FwAssertArgType>(portNum)
9965 this->m_logTextOut_OutputPort[portNum].isConnected(),
9966 static_cast<FwAssertArgType>(portNum)
9968 this->m_logTextOut_OutputPort[portNum].invoke(
9987 static_cast<FwAssertArgType>(portNum)
9991 this->m_prmGet_OutputPort[portNum].isConnected(),
9992 static_cast<FwAssertArgType>(portNum)
9994 return this->m_prmGet_OutputPort[portNum].
invoke(
10000 void WasmSequencerComponentBase ::
10009 static_cast<FwAssertArgType>(portNum)
10013 this->m_prmSet_OutputPort[portNum].isConnected(),
10014 static_cast<FwAssertArgType>(portNum)
10016 this->m_prmSet_OutputPort[portNum].
invoke(
10022 void WasmSequencerComponentBase ::
10030 static_cast<FwAssertArgType>(portNum)
10034 this->m_timeCaller_OutputPort[portNum].isConnected(),
10035 static_cast<FwAssertArgType>(portNum)
10037 this->m_timeCaller_OutputPort[portNum].
invoke(
10042 void WasmSequencerComponentBase ::
10052 static_cast<FwAssertArgType>(portNum)
10056 this->m_tlmOut_OutputPort[portNum].isConnected(),
10057 static_cast<FwAssertArgType>(portNum)
10059 this->m_tlmOut_OutputPort[portNum].
invoke(
10072 void WasmSequencerComponentBase ::
10082 status = buffer.
serializeFrom(static_cast<FwEnumStoreType>(INTERNAL_STATE_MACHINE_SIGNAL));
10086 status = buffer.
serializeFrom(static_cast<FwIndexType>(0));
10090 status = buffer.
serializeFrom(static_cast<FwEnumStoreType>(smId));
10094 status = buffer.
serializeFrom(static_cast<FwEnumStoreType>(signal));
10098 void WasmSequencerComponentBase ::
10107 static_cast<FwAssertArgType>(qStatus)
10111 void WasmSequencerComponentBase ::
10120 static_cast<FwAssertArgType>(qStatus)
10128 void WasmSequencerComponentBase ::
10134 WasmSequencerComponentBase::deserializeSmIdAndSignal(buffer, storedSmId, storedSignal);
10137 const SmId smId =
static_cast<SmId>(storedSmId);
10141 this->Svc_WasmSequencer_ControllerStateMachine_smDispatch(buffer, this->m_stateMachine_controller, signal);
10146 this->Svc_WasmSequencer_InterpreterStateMachine_smDispatch(buffer, this->m_stateMachine_interpreter, signal);
10150 FW_ASSERT(
false, static_cast<FwAssertArgType>(smId));
10155 void WasmSequencerComponentBase ::
10156 deserializeSmIdAndSignal(
10176 void WasmSequencerComponentBase ::
10177 Svc_WasmSequencer_ControllerStateMachine_smDispatch(
10179 Svc_WasmSequencer_ControllerStateMachine& sm,
10192 sm.sendSignal_run(value);
10203 sm.sendSignal_load(value);
10214 sm.sendSignal_invoke(value);
10225 sm.sendSignal_invoked(value);
10236 sm.sendSignal_invokeFailed(value);
10243 sm.sendSignal_cancel();
10254 sm.sendSignal_loadSucceeded(value);
10265 sm.sendSignal_loadFailed(value);
10276 sm.sendSignal_engineFinished(value);
10280 FW_ASSERT(
false, static_cast<FwAssertArgType>(signal));
10285 void WasmSequencerComponentBase ::
10286 Svc_WasmSequencer_InterpreterStateMachine_smDispatch(
10288 Svc_WasmSequencer_InterpreterStateMachine& sm,
10297 sm.sendSignal_cmd_CONTINUE();
10308 sm.sendSignal_cmdCancel(value);
10315 sm.sendSignal_cancel();
10322 sm.sendSignal_entered();
10333 sm.sendSignal_run(value);
10340 sm.sendSignal_checkTimers();
10347 sm.sendSignal_hostResume();
10358 sm.sendSignal_hostResumeI32(value);
10365 sm.sendSignal_hostResponseFailure();
10376 sm.sendSignal_hostResponseUnexpected(value);
10383 sm.sendSignal_hostResponseTimeIncomparable();
10390 sm.sendSignal_hostResponseTimeout();
10401 sm.sendSignal_serialInMessage(value);
10412 sm.sendSignal_interpreterFinished(value);
10423 sm.sendSignal_interpreterTrap(value);
10430 sm.sendSignal_interpreterOutOfFuel();
10437 sm.sendSignal_interpreterHostFunctionNeedsPause();
10441 FW_ASSERT(
false, static_cast<FwAssertArgType>(signal));
10460 this->m_paramLock.
lock();
10461 this->m_HOST_FUNCTION_TIMEOUT_SECS = _localVal;
10463 this->m_paramLock.
unlock();
10480 this->m_paramLock.
lock();
10481 this->m_INSTRUCTION_FUEL = _localVal;
10483 this->m_paramLock.
unlock();
10500 this->m_paramLock.
lock();
10501 this->m_SEQ_BASE_DIR = _localVal;
10503 this->m_paramLock.
unlock();
10515 paramSave_HOST_FUNCTION_TIMEOUT_SECS()
10524 this->m_paramLock.
lock();
10526 _stat = _paramBuffer.
serializeFrom(m_HOST_FUNCTION_TIMEOUT_SECS);
10528 this->m_paramLock.
unlock();
10543 paramSave_INSTRUCTION_FUEL()
10552 this->m_paramLock.
lock();
10556 this->m_paramLock.
unlock();
10571 paramSave_SEQ_BASE_DIR()
10580 this->m_paramLock.
lock();
10584 this->m_paramLock.
unlock();
void log_ACTIVITY_LO_LogActivityLo(const Fw::StringBase &msg) const
Called on cancel port invocation.
Serialization/Deserialization operation was successful.
static constexpr FwIndexType getNum_serialIn_InputPorts()
An ACTIVITY_HI event emitted by the guest program.
void interpreter_sendSignal_hostResumeI32(I32 value)
Send signal hostResumeI32 to state machine interpreter.
void controller_sendSignal_loadFailed(const Svc::WasmSequencer_RequestContext &value)
Send signal loadFailed to state machine controller.
void addCallPort(InputTimePort *callPort)
Register an input port.
Fw::ParamValid getParam_out(FwIndexType portNum, FwPrmIdType id, Fw::ParamBuffer &val) const
Invoke output port getParam.
A command was issued in a state where it is not valid.
void invoke(Fw::ComBuffer &data, U32 context) const
Invoke a port connection.
void init()
Initialization function.
static constexpr FwSizeType CAPACITY
void checkTimers_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port checkTimers.
void invoke(const Fw::StringBase &filename, const Svc::SeqArgs &args) const
Invoke a port connection.
A function has been invoked, run the interpreter to completion.
void log_WARNING_HI_HostFunctionInvalidId(const Svc::WasmSequencer_HostFunction &host_function, I64 id) const
void log_WARNING_HI_ModuleStartInvokeFailed(const Svc::WasmSequencer_Status &status) const
A guest serial port host function requested a port index outside the configured range.
void cmdResponseIn_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Handler base-class function for input port cmdResponseIn.
Opcode to set parameter INSTRUCTION_FUEL.
void tlmWrite_SequencesSucceeded(U64 arg, Fw::Time _tlmTime=Fw::Time())
virtual void cmdResponseIn_handler(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)=0
Handler for input port cmdResponseIn.
Called on CANCEL cmd. Raised in LOADING, READY and RUNNING modes.
FwIdType FwOpcodeType
The type of a command opcode.
void log_WARNING_HI_TooManyBlockingCommands() const
virtual void parameterLoaded(FwPrmIdType id, Fw::ParamValid valid)
Called for each parameter when parameters are loaded.
void GLOBAL_SET_F32_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void log_WARNING_LO_CmdResponseFromOldSequence(FwOpcodeType opcode, const Fw::CmdResponse &response, U16 oldSequenceIdx, U16 currentSequenceIdx) const
void log_WARNING_HI_SequenceTrapped(Svc::WasmSequencer_ModuleIdx index, const Svc::WasmSequencer_SequencePhase &phase, const Svc::WasmSequencer_TrapReason &reason) const
static constexpr FwSizeType CAPACITY
The size of the serial representation.
#define FW_PARAM_OK(paramValid)
virtual void GLOBAL_SET_I64_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command GLOBAL_SET_I64.
FwIdType getIdBase() const
void log_WARNING_HI_InvalidBlockingTypeValue(I32 invalidValue) const
Log event InvalidBlockingTypeValue.
PlatformSizeType FwSizeType
Auto-generated base for WasmSequencer component.
The size of the serial representation.
void writeTelemetryInternal_internalInterfaceInvoke()
Internal interface base-class function for writeTelemetryInternal.
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
virtual void lock()
Lock the guarded mutex.
void WAIT_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void controller_sendSignal_engineFinished(const Svc::WasmSequencer_RequestContext &value)
Send signal engineFinished to state machine controller.
void log_ACTIVITY_LO_GlobalValueF32(const Fw::StringBase &module_name, const Fw::StringBase &globalName, F32 value) const
Log event GlobalValueF32.
Channel ID for SequencesSucceeded.
Wait for the interpreter to finish and return it's result as a CmdResponse.
void set_getTlmChan_OutputPort(FwIndexType portNum, Fw::InputTlmGetPort *port)
Connect port to getTlmChan[portNum].
Status
status returned from the queue send function
virtual void GLOBAL_GET_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &moduleName, const Fw::CmdStringArg &name)=0
void log_ACTIVITY_HI_LogActivityHi(const Fw::StringBase &msg) const
void tlmWrite_InterpreterState(const Svc::WasmSequencer_InterpreterStateMachine_State &arg, Fw::Time _tlmTime=Fw::Time())
called when an unexpected or incorrect host-function response comes in. only raised in the RUNNING st...
raised whenever the checkTimers port is called
void init()
Initialization function.
Tracks the currently executing host function.
void log_WARNING_HI_SequenceFilePathNotContained(const Fw::StringBase &baseDir, const Fw::StringBase &fileName) const
StringTemplate< FW_FIXED_LENGTH_STRING_SIZE > String
Svc_WasmSequencer_InterpreterStateMachine(WasmSequencerComponentBase &component)
Constructor.
SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG) override
Deserialize an 8-bit unsigned integer value.
virtual void LOAD_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &fileName, const Fw::CmdStringArg &name)=0
FwIdType FwPrmIdType
The type of a parameter identifier.
void CONTINUE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void interpreter_sendSignal_entered()
Send signal entered to state machine interpreter.
void log_ACTIVITY_HI_SequencePaused() const
void addCallPort(InputPrmSetPort *callPort)
Register an input port.
The guest called fprime.panic.
Fw::Times are not comparable during a sleep.
void addCallPort(InputTlmGetPort *callPort)
Register an input port.
bool isConnected_getTlmChan_OutputPort(FwIndexType portNum) const
static constexpr FwIndexType getNum_prmSet_OutputPorts()
virtual const CHAR * toChar() const =0
Convert to a C-style char*.
void interpreter_sendSignal_serialInMessage(const FwIndexType &value)
Send signal serialInMessage to state machine interpreter.
void seqCancelIn_handlerBase(FwIndexType portNum)
Handler base-class function for input port seqCancelIn.
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
void GLOBAL_SET_I32_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
static constexpr FwIndexType getNum_cmdOut_OutputPorts()
Signal to AWAITING_RESPONSE to resume the interpreter with no host function return value...
Signal emited inside the laod action when module load fails.
void set_seqDoneOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to seqDoneOut[portNum].
void log_WARNING_HI_FileOpenError(const Fw::StringBase &fileName, I32 status) const
void init()
Initialization function.
void log_WARNING_LO_ControllerBusy(const Svc::WasmSequencer_SignalSource &signalSource, const Svc::WasmSequencer_ControllerStateMachine_State &state) const
static constexpr FwIndexType getNum_seqStartOut_OutputPorts()
Enum representing a command response.
No time base has been established (Required)
No sequence is running so we cannot continue from a pause.
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
FwSizeType paramGet_INSTRUCTION_FUEL(Fw::ParamValid &valid)
void regCommands()
Register commands with the Command Dispatcher.
bool isConnected_getParam_OutputPort(FwIndexType portNum) const
virtual SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG)=0
Serialize an 8-bit unsigned integer value.
bool isConnected_tlmOut_OutputPort(FwIndexType portNum) const
virtual void PAUSE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
Opcode to save parameter HOST_FUNCTION_TIMEOUT_SECS.
void init()
Initialization function.
void log_WARNING_LO_MemoryGrowRejected(const Svc::WasmSequencer_MemoryGrowFailReason &reason, U64 requestedSize) const
Os::Queue m_queue
queue object for active component
void log_WARNING_HI_HostFunctionInvalidPointer(const Svc::WasmSequencer_HostFunction &host_function, const Svc::WasmSequencer_Status &code) const
Log event HostFunctionInvalidPointer.
The size of the serial representation.
Software diagnostic events.
void addCallPort(InputTlmPort *callPort)
Register an input port.
void addCallPort(InputPrmGetPort *callPort)
Register an input port.
The size of the serial representation.
void init()
Object initializer.
message to exit active component task
void RUN_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
SerializeStatus
forward declaration for string
Channel ID for LastTrapReason.
void controller_sendSignal_cancel()
Send signal cancel to state machine controller.
static constexpr FwIndexType getNum_getTlmChan_OutputPorts()
float F32
32-bit floating point
Failed to invoke a module's start function.
called on CONTINUE cmd. only raised in RUNNING.PAUSED state
virtual SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG)=0
Deserialize an 8-bit unsigned integer value.
Message will block until space is available.
A WARNING_LO event emitted by the guest program.
void log_ACTIVITY_LO_GlobalValueI32(const Fw::StringBase &module_name, const Fw::StringBase &globalName, I32 value) const
Log event GlobalValueI32.
void set_prmGet_OutputPort(FwIndexType portNum, Fw::InputPrmGetPort *port)
Connect port to prmGet[portNum].
void log_DIAGNOSTIC_StoreAllocationSucceeded(U16 moduleCount) const
void interpreter_sendSignal_cmd_CONTINUE()
Send signal cmd_CONTINUE to state machine interpreter.
void log_WARNING_HI_SequencePanic(Svc::WasmSequencer_ModuleIdx index, const Svc::WasmSequencer_SequencePhase &phase, I32 code) const
void log_WARNING_HI_HostFunctionInvalidPort(const Svc::WasmSequencer_HostFunction &host_function, I32 index, U32 numPorts) const
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()
void GLOBAL_SET_I64_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
virtual ~WasmSequencerComponentBase()
Destroy WasmSequencerComponentBase object.
FwIdType FwEventIdType
The type of an event identifier.
called when a paused host function (F´ command) unsuccessfully executed. only raised in RUNNING...
static constexpr FwIndexType getNum_cmdResponseIn_InputPorts()
Svc_WasmSequencer_ControllerStateMachine::State controller_getState() const
Get the state of state machine instance controller.
Channel ID for SequencesCancelled.
void invoke(FwOpcodeType opCode) const
Invoke a port connection.
virtual void WAIT_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
bool isConnected_prmSet_OutputPort(FwIndexType portNum) const
virtual void parameterUpdated(FwPrmIdType id)
Called whenever a parameter is updated.
void log_WARNING_LO_SequenceNotRunning() const
Resume the sequence from a paused state.
void controller_sendSignal_load(const Svc::WasmSequencer_LoadRequest &value)
Send signal load to state machine controller.
The program has been aborted.
void cmdOut_out(FwIndexType portNum, Fw::ComBuffer &data, U32 context) const
Invoke output port cmdOut.
Fw::TlmValid invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val) const
The interpreter store was allocated with capacity for the given number of modules.
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
A host function timed-out.
void init()
Initialization function.
The size of the serial representation.
A command was issued in a state where it is not valid.
Data was the wrong format (e.g. wrong packet type)
virtual void unLock()
Unlock the guarded mutex.
Invoke a main function from a loaded module.
void interpreter_sendSignal_interpreterHostFunctionNeedsPause()
Send signal interpreterHostFunctionNeedsPause to state machine interpreter.
Svc::InputSchedPort * get_writeTelemetry_InputPort(FwIndexType portNum)
Less important informational events.
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
void seqDoneOut_out(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) const
Invoke output port seqDoneOut.
Signal to AWAITING_RESPONSE to resume the interpreter with an i32 host function return value...
#define FW_MIN(a, b)
MIN macro (deprecated in C++, use std::min)
void controller_sendSignal_loadSucceeded(const Svc::WasmSequencer_RequestContext &value)
Send signal loadSucceeded to state machine controller.
void loadParameters()
Load the parameters from a parameter source.
A less serious but recoverable event.
Fw::ParamValid invoke(FwPrmIdType id, Fw::ParamBuffer &val) const
Channel ID for ControllerState.
A module failed to decode/validate while loading.
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
ActiveComponentBase(const char *name)
Constructor.
The size of the serial representation.
virtual void writeTelemetryInternal_overflowHook()=0
Overflow hook for async input port writeTelemetryInternal.
virtual void GLOBAL_GET_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command GLOBAL_GET.
static constexpr FwIndexType getNum_seqCancelIn_InputPorts()
bool isConnected_seqDoneOut_OutputPort(FwIndexType portNum) const
bool isConnected_serialOut_OutputPort(FwIndexType portNum) const
The size of the serial representation.
void interpreter_sendSignal_hostResponseUnexpected(const Svc::WasmSequencer_HostFunction &value)
Send signal hostResponseUnexpected to state machine interpreter.
void tlmWrite_LastTrapReason(const Svc::WasmSequencer_TrapReason &arg, Fw::Time _tlmTime=Fw::Time())
void invoke(Fw::Time &time) const
Invoke a port connection.
WasmSequencerComponentBase(const char *compName="")
Construct WasmSequencerComponentBase object.
void cmdIn_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Handler base-class function for input port cmdIn.
Serializable::SizeType getDeserializeSizeLeft() const override
Get remaining deserialization buffer size.
Channel ID for CommandsFailed.
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) const
Invoke a port connection.
virtual void CONTINUE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CONTINUE.
void unLock()
unlock the mutex and assert success
Fw::InputSerializePort * get_serialIn_InputPort(FwIndexType portNum)
FwIdType FwChanIdType
The type of a telemetry channel identifier.
void interpreter_sendSignal_hostResponseFailure()
Send signal hostResponseFailure to state machine interpreter.
virtual void GLOBAL_SET_F32_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &moduleName, const Fw::CmdStringArg &name, F32 value)=0
The size of the serial representation.
WasmSequencerComponentBase::SmId getId() const
Get the state machine id.
Fw::InputCmdResponsePort * get_cmdResponseIn_InputPort(FwIndexType portNum)
void log_WARNING_HI_SequenceExited(Svc::WasmSequencer_ModuleIdx index, const Svc::WasmSequencer_SequencePhase &phase, I32 code) const
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum) const
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
Sequencer blocking state.
void log_ACTIVITY_LO_GlobalValueF64(const Fw::StringBase &module_name, const Fw::StringBase &globalName, F64 value) const
Log event GlobalValueF64.
void log_WARNING_HI_LogWarningHi(const Fw::StringBase &msg) const
void interpreter_sendSignal_interpreterFinished(I32 value)
Send signal interpreterFinished to state machine interpreter.
static constexpr FwIndexType getNum_seqRunIn_InputPorts()
virtual void writeTelemetry_handler(FwIndexType portNum, U32 context)=0
Handler for input port writeTelemetry.
void resetDeser() override
Reset deserialization pointer to beginning of buffer.
void interpreter_sendSignal_hostResume()
Send signal hostResume to state machine interpreter.
void log_WARNING_LO_GlobalSetFailed(const Fw::StringBase &module_name, const Fw::StringBase &globalName, const Svc::WasmSequencer_Status &reason) const
Log event GlobalSetFailed.
WasmSequencerComponentBase::SmId getId() const
Get the state machine id.
bool isConnected_logOut_OutputPort(FwIndexType portNum) const
void log_WARNING_HI_ModuleLoadFailed(const Svc::WasmSequencer_Status &status) const
A string backed by an external buffer.
A serious but recoverable event.
Errors dispatching messages.
The size of the serial representation.
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val) const
Invoke a port connection.
U8 WasmSequencer_ModuleIdx
const char * toChar() const
Convert to a C-style char*.
void log_WARNING_HI_HostFunctionInvalidSeverity(I32 raw, const Fw::StringBase &msg) const
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
Enum representing event severity.
The size of the serial representation.
Signal sent from command to load a Wasm module but not execute it.
void interpreter_sendSignal_hostResponseTimeout()
Send signal hostResponseTimeout to state machine interpreter.
void log_WARNING_HI_SerialInFrameTooLarge(U32 portIndex, U32 size, U32 maxSize) const
void GLOBAL_SET_F64_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Signal emited inside of the load action when a module load succeeds.
void tlmWrite_SequencesFailed(U64 arg, Fw::Time _tlmTime=Fw::Time())
Which phase of a module's execution a sequence-completion event refers to.
Fw::SerializeStatus serialOut_out(FwIndexType portNum, Fw::LinearBufferBase &buffer)
Invoke output port serialOut.
The size of the serial representation.
static constexpr FwIndexType getNum_writeTelemetry_InputPorts()
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
Command successfully executed.
virtual void GLOBAL_SET_I32_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &moduleName, const Fw::CmdStringArg &name, I32 value)=0
void set_prmSet_OutputPort(FwIndexType portNum, Fw::InputPrmSetPort *port)
Connect port to prmSet[portNum].
virtual void checkTimers_preMsgHook(FwIndexType portNum, U32 context)
Pre-message hook for async input port checkTimers.
void tlmWrite_ControllerState(const Svc::WasmSequencer_ControllerStateMachine_State &arg, Fw::Time _tlmTime=Fw::Time())
void set_seqStartOut_OutputPort(FwIndexType portNum, Svc::InputCmdSeqInPort *port)
Connect port to seqStartOut[portNum].
Fw::TlmValid getTlmChan_out(FwIndexType portNum, FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val) const
Invoke output port getTlmChan.
bool isConnected_seqStartOut_OutputPort(FwIndexType portNum) const
virtual Serializable::SizeType getDeserializeSizeLeft() const =0
Get remaining deserialization buffer size.
void log_ACTIVITY_HI_SequenceStarting(Svc::WasmSequencer_ModuleIdx index) const
void log_ACTIVITY_LO_GlobalValueI64(const Fw::StringBase &module_name, const Fw::StringBase &globalName, I64 value) const
Log event GlobalValueI64.
F32 paramGet_HOST_FUNCTION_TIMEOUT_SECS(Fw::ParamValid &valid)
uint8_t U8
8-bit unsigned integer
Svc_WasmSequencer_InterpreterStateMachine::State interpreter_getState() const
Get the state of state machine instance interpreter.
static constexpr FwSizeType CAPACITY
The program has completed.
void log_WARNING_LO_LogWarningLo(const Fw::StringBase &msg) const
Svc::InputSchedPort * get_checkTimers_InputPort(FwIndexType portNum)
void init(WasmSequencerComponentBase::SmId smId)
Initialize the state machine.
An asynchronous host function has been called and has requested the interpreter pause.
void tlmWrite(FwChanIdType id, Fw::TlmBuffer &_tlmBuff, Fw::Time _tlmTime=Fw::Time()) const
void log_WARNING_HI_BufferTooLarge(const Svc::WasmSequencer_HostFunction &host_function, U32 size, U32 maxSize) const
Channel ID for InterpreterState.
Generic entry of a state.
Command failed to deserialize.
void interpreter_sendSignal_checkTimers()
Send signal checkTimers to state machine interpreter.
void lock()
lock the mutex and assert success
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
static constexpr FwIndexType getNum_serialOut_OutputPorts()
Command had execution error.
Important informational events.
void controller_sendSignal_run(const Svc::WasmSequencer_LoadRequest &value)
Send signal run to state machine controller.
void log_WARNING_LO_ControllerCannotInvoke() const
void interpreter_sendSignal_interpreterTrap(const Svc::WasmSequencer_TrapReason &value)
Send signal interpreterTrap to state machine interpreter.
void tlmWrite_SeqName(const Fw::StringBase &arg, Fw::Time _tlmTime=Fw::Time())
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port connection.
Svc::InputCmdSeqCancelPort * get_seqCancelIn_InputPort(FwIndexType portNum)
virtual void seqRunIn_handler(FwIndexType portNum, const Fw::StringBase &filename, const Svc::SeqArgs &args)=0
Handler for input port seqRunIn.
SmId
State machine identifiers.
WasmSequencer_InterpreterStateMachineStateMachineBase::State getState() const
Get the state.
static constexpr FwIndexType getNum_prmGet_OutputPorts()
Fw::ParamString paramGet_SEQ_BASE_DIR(Fw::ParamValid &valid)
Opcode to save parameter SEQ_BASE_DIR.
void interpreter_sendSignal_run(const Svc::WasmSequencer_RequestContext &value)
Send signal run to state machine interpreter.
void tlmWrite_CommandsFailed(U64 arg, Fw::Time _tlmTime=Fw::Time())
void log_ACTIVITY_HI_SequenceSucceeded(Svc::WasmSequencer_ModuleIdx index) const
void init()
Initialization function.
virtual void CONTINUE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
void log_WARNING_HI_SequenceHostFailure(Svc::WasmSequencer_ModuleIdx index, const Svc::WasmSequencer_SequencePhase &phase, const Svc::WasmSequencer_ExitReason &reason, const Svc::WasmSequencer_HostFunction &hostFunction) const
The size of the serial representation.
A message was sent requesting an exit of the loop.
virtual void seqRunIn_preMsgHook(FwIndexType portNum, const Fw::StringBase &filename, const Svc::SeqArgs &args)
Pre-message hook for async input port seqRunIn.
Failed to find a loaded module with the requested name.
A guest host function supplied a buffer larger than the host maximum for that call.
static constexpr FwIndexType getNum_logOut_OutputPorts()
void interpreter_sendSignal_hostResponseTimeIncomparable()
Send signal hostResponseTimeIncomparable to state machine interpreter.
void log_WARNING_LO_ModuleNotFound(const Fw::StringBase &module_name) const
void writeTelemetry_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port writeTelemetry.
void log_WARNING_HI_WrongCmdResponseIndex(FwOpcodeType opcode, const Fw::CmdResponse &response, U16 actualCmdIdx, U16 expectedCmdIdx) const
virtual void writeTelemetryInternal_internalInterfaceHandler()=0
Internal interface handler for writeTelemetryInternal.
PlatformIndexType FwIndexType
Failed to invoke a module's main entrypoint.
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].
WasmSequencer_ControllerStateMachineStateMachineBase::State getState() const
Get the state.
void log_WARNING_HI_InvalidModuleEntrypoint(Svc::WasmSequencer_ModuleIdx moduleIdx, const Svc::WasmSequencer_Status &status) const
Log event InvalidModuleEntrypoint.
void log_WARNING_LO_GlobalGetFailed(const Fw::StringBase &module_name, const Fw::StringBase &globalName, const Svc::WasmSequencer_Status &reason) const
Log event GlobalGetFailed.
void tlmWrite_SequencesCancelled(U64 arg, Fw::Time _tlmTime=Fw::Time())
double F64
64-bit floating point (double). Required for compiler-supplied double promotion.
Channel ID for SequencesFailed.
void log_WARNING_HI_ModuleMainInvokeFailed(const Svc::WasmSequencer_Status &status) const
A sequence is starting after the main entrypoint was invoked.
The sequence was cancelled.
void addCallPort(InputLogPort *callPort)
Register an input port.
void addCallPort(InputCmdSeqInPort *callPort)
Register an input port.
virtual void GLOBAL_SET_F64_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command GLOBAL_SET_F64.
Opcode to save parameter INSTRUCTION_FUEL.
void seqStartOut_out(FwIndexType portNum, const Fw::StringBase &filename, const Svc::SeqArgs &args) const
Invoke output port seqStartOut.
Execution was paused at a breakpoint.
virtual void cmdResponseIn_preMsgHook(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Pre-message hook for async input port cmdResponseIn.
void init()
Initialization function.
void set_cmdOut_OutputPort(FwIndexType portNum, Fw::InputComPort *port)
Connect port to cmdOut[portNum].
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
Svc_WasmSequencer_ControllerStateMachine(WasmSequencerComponentBase &component)
Constructor.
void unlock()
alias for unLock to meet BasicLockable requirements
void interpreter_sendSignal_interpreterOutOfFuel()
Send signal interpreterOutOfFuel to state machine interpreter.
void serialIn_handlerBase(FwIndexType portNum, Fw::LinearBufferBase &buffer)
Handler base-class function for input port serialIn.
void set_logOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to logOut[portNum].
Command failed validation.
RateGroupDivider component implementation.
void CANCEL_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
A guest host function supplied a buffer too small to hold the host value being returned.
The interpreter ran a program to completion.
message sent/received okay
Enum representing parameter validity.
void log_ACTIVITY_HI_SequenceCancelled(Svc::WasmSequencer_ModuleIdx index, const Svc::WasmSequencer_SequencePhase &phase) const
void controller_sendSignal_invoked(const Svc::WasmSequencer_RequestContext &value)
Send signal invoked to state machine controller.
A WARNING_HI event emitted by the guest program.
void init(WasmSequencerComponentBase::SmId smId)
Initialize the state machine.
void invoke(FwPrmIdType id, Fw::ParamBuffer &val) const
Invoke a port connection.
void seqRunIn_handlerBase(FwIndexType portNum, const Fw::StringBase &filename, const Svc::SeqArgs &args)
Handler base-class function for input port seqRunIn.
void log_DIAGNOSTIC_LogDiagnostic(const Fw::StringBase &msg) const
void addCallPort(InputComPort *callPort)
Register an input port.
A DIAGNOSTIC event emitted by the guest program.
void INVOKE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void set_getParam_OutputPort(FwIndexType portNum, Fw::InputPrmGetPort *port)
Connect port to getParam[portNum].
The size of the serial representation.
Called on CANCEL cmd. Raised in LOADING, READY and RUNNING modes.
virtual void RUN_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command RUN.
virtual void INVOKE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &module, const Svc::BlockState &block)=0
virtual void RUN_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &fileName, const Svc::BlockState &block)=0
Failed to open the requested Wasm module file.
void PAUSE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void LOAD_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
LinearBufferTemplate< FW_SM_SIGNAL_BUFFER_MAX_SIZE > SmSignalBuffer
Message will return with status when space is unavailable.
The interpreter aborted the sequence with a byte-code trap.
void log_WARNING_HI_SleepDurationTooLarge(const Svc::WasmSequencer_HostFunction &host_function, U64 micros) const
Implementation of malloc based allocator.
virtual void LOAD_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command LOAD.
static constexpr FwIndexType getNum_checkTimers_InputPorts()
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts()
void log_WARNING_HI_SequenceFilePathTooLong(const Fw::StringBase &baseDir, const Fw::StringBase &fileName) const
virtual void PAUSE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command PAUSE.
Corresponds to spacewasm_status_t.
static constexpr SizeType BUFFER_SIZE(SizeType maxLength)
Get the size of a null-terminated string buffer.
virtual void CANCEL_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
void init()
Initialization function.
virtual void GLOBAL_SET_F64_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &moduleName, const Fw::CmdStringArg &name, F64 value)=0
virtual void GLOBAL_SET_I64_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &moduleName, const Fw::CmdStringArg &name, I64 value)=0
static constexpr FwIndexType getNum_cmdIn_InputPorts()
void controller_sendSignal_invokeFailed(const Svc::WasmSequencer_RequestContext &value)
Send signal invokeFailed to state machine controller.
void init()
Initialization function.
bool isConnected_timeCaller_OutputPort(FwIndexType portNum) const
Channel ID for CommandsDispatched.
void interpreter_sendSignal_cancel()
Send signal cancel to state machine interpreter.
Signal emitted by processInvoke when the requested module was resolved successfully.
A struct holding the context needed to reply to a command request.
void interpreter_sendSignal_cmdCancel(const Svc::WasmSequencer_CommandRequest &value)
Send signal cmdCancel to state machine interpreter.
virtual SerializeStatus moveDeserToOffset(FwSizeType offset)=0
Move deserialization pointer to specified offset.
virtual void serialIn_handler(FwIndexType portNum, Fw::LinearBufferBase &buffer)=0
Handler for input port serialIn.
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum) const
virtual void INVOKE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command INVOKE.
FpySequencer_SequencerStateMachineStateMachineBase::Signal Signal
bool isConnected_prmGet_OutputPort(FwIndexType portNum) const
Opcode to set parameter SEQ_BASE_DIR.
virtual void GLOBAL_SET_I32_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command GLOBAL_SET_I32.
static constexpr FwSizeType CAPACITY
bool isConnected_cmdOut_OutputPort(FwIndexType portNum) const
Svc::InputCmdSeqInPort * get_seqRunIn_InputPort(FwIndexType portNum)
void log_WARNING_HI_SerialPortSendFailed(const Svc::WasmSequencer_HostFunction &host_function, I32 status) const
An ACTIVITY_LO event emitted by the guest program.
Why a guest memory.grow request could not be serviced by the guest bump allocator.
void controller_sendSignal_invoke(const Svc::WasmSequencer_InvokeRequest &value)
Send signal invoke to state machine controller.
virtual void checkTimers_handler(FwIndexType portNum, U32 context)=0
Handler for input port checkTimers.
PlatformAssertArgType FwAssertArgType
The type of arguments to assert functions.
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
void GLOBAL_GET_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Opcode to set parameter HOST_FUNCTION_TIMEOUT_SECS.
No more fuel (ran to instruction bound)
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
virtual void WAIT_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command WAIT.
virtual void parametersLoaded()
Called whenever parameters are loaded.
Svc::WasmSequencer_ControllerStateMachine_State State
The state type.
virtual void GLOBAL_SET_F32_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command GLOBAL_SET_F32.
SerializeStatus serializeTo(SerialBufferBase &buffer, Endianness mode=Endianness::BIG) const override
Serialize the contents of this object to a buffer.
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
BYTE cmdPortSize[Fw::CmdPortBuffer::CAPACITY]
void tlmWrite_CommandsDispatched(U64 arg, Fw::Time _tlmTime=Fw::Time())
static constexpr FwIndexType getNum_getParam_OutputPorts()
void log_WARNING_HI_BufferTooSmall(const Svc::WasmSequencer_HostFunction &host_function, U32 size, U32 valueSize) const
static constexpr FwIndexType getNum_seqDoneOut_OutputPorts()
virtual void seqCancelIn_handler(FwIndexType portNum)=0
Handler for input port seqCancelIn.