F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
Svc::WasmSequencerComponentBase Class Referenceabstract

Auto-generated base for WasmSequencer component. More...

#include <Svc/WasmSequencer/WasmSequencerComponentAc.hpp>

Inheritance diagram for Svc::WasmSequencerComponentBase:
Fw::ActiveComponentBase Fw::QueuedComponentBase Fw::PassiveComponentBase Fw::ObjBase Svc::WasmSequencer

Classes

class  Svc_WasmSequencer_ControllerStateMachine
 Implementation of state machine Svc_WasmSequencer_ControllerStateMachine. More...
 
class  Svc_WasmSequencer_InterpreterStateMachine
 Implementation of state machine Svc_WasmSequencer_InterpreterStateMachine. More...
 

Public Member Functions

void init (FwSizeType queueDepth, FwEnumStoreType instance=0)
 Initialize WasmSequencerComponentBase object. More...
 
Fw::InputCmdPortget_cmdIn_InputPort (FwIndexType portNum)
 
Svc::InputSchedPortget_checkTimers_InputPort (FwIndexType portNum)
 
Fw::InputCmdResponsePortget_cmdResponseIn_InputPort (FwIndexType portNum)
 
Svc::InputCmdSeqCancelPortget_seqCancelIn_InputPort (FwIndexType portNum)
 
Svc::InputCmdSeqInPortget_seqRunIn_InputPort (FwIndexType portNum)
 
Svc::InputSchedPortget_writeTelemetry_InputPort (FwIndexType portNum)
 
Fw::InputSerializePort * get_serialIn_InputPort (FwIndexType portNum)
 
void set_cmdRegOut_OutputPort (FwIndexType portNum, Fw::InputCmdRegPort *port)
 Connect port to cmdRegOut[portNum]. More...
 
void set_cmdResponseOut_OutputPort (FwIndexType portNum, Fw::InputCmdResponsePort *port)
 Connect port to cmdResponseOut[portNum]. More...
 
void set_logOut_OutputPort (FwIndexType portNum, Fw::InputLogPort *port)
 Connect port to logOut[portNum]. More...
 
void set_prmGet_OutputPort (FwIndexType portNum, Fw::InputPrmGetPort *port)
 Connect port to prmGet[portNum]. More...
 
void set_prmSet_OutputPort (FwIndexType portNum, Fw::InputPrmSetPort *port)
 Connect port to prmSet[portNum]. More...
 
void set_timeCaller_OutputPort (FwIndexType portNum, Fw::InputTimePort *port)
 Connect port to timeCaller[portNum]. More...
 
void set_tlmOut_OutputPort (FwIndexType portNum, Fw::InputTlmPort *port)
 Connect port to tlmOut[portNum]. More...
 
void set_cmdOut_OutputPort (FwIndexType portNum, Fw::InputComPort *port)
 Connect port to cmdOut[portNum]. More...
 
void set_getParam_OutputPort (FwIndexType portNum, Fw::InputPrmGetPort *port)
 Connect port to getParam[portNum]. More...
 
void set_getTlmChan_OutputPort (FwIndexType portNum, Fw::InputTlmGetPort *port)
 Connect port to getTlmChan[portNum]. More...
 
void set_seqDoneOut_OutputPort (FwIndexType portNum, Fw::InputCmdResponsePort *port)
 Connect port to seqDoneOut[portNum]. More...
 
void set_seqStartOut_OutputPort (FwIndexType portNum, Svc::InputCmdSeqInPort *port)
 Connect port to seqStartOut[portNum]. More...
 
void regCommands ()
 Register commands with the Command Dispatcher. More...
 
void loadParameters ()
 Load the parameters from a parameter source. More...
 
- Public Member Functions inherited from Fw::ActiveComponentBase
void start (FwTaskPriorityType priority=Os::Task::TASK_PRIORITY_DEFAULT, FwSizeType stackSize=Os::Task::TASK_DEFAULT, FwSizeType cpuAffinity=Os::Task::TASK_DEFAULT, FwTaskIdType identifier=static_cast< FwTaskIdType >(Os::Task::TASK_DEFAULT))
 called by instantiator when task is to be started More...
 
void exit ()
 exit task in active component More...
 
Os::Task::Status join ()
 Join the thread. More...
 
 DEPRECATED (Os::Task::Status join(void **value_ptr), "Switch to .join()")
 Join to thread with discarded value_ptr. More...
 
- Public Member Functions inherited from Fw::QueuedComponentBase
void deinit () override
 Allows de-initialization on teardown. More...
 
- Public Member Functions inherited from Fw::PassiveComponentBase
void setIdBase (const FwIdType)
 Set the ID base. More...
 
FwIdType getIdBase () const
 

Protected Types

enum  { NUM_CMDIN_INPUT_PORTS = 1 }
 Enumerations for numbers of special input ports. More...
 
enum  {
  NUM_CHECKTIMERS_INPUT_PORTS = 1, NUM_CMDRESPONSEIN_INPUT_PORTS = 1, NUM_SEQCANCELIN_INPUT_PORTS = 1, NUM_SEQRUNIN_INPUT_PORTS = 1,
  NUM_WRITETELEMETRY_INPUT_PORTS = 1
}
 Enumerations for numbers of typed input ports. More...
 
enum  { NUM_SERIALIN_INPUT_PORTS = 5 }
 Enumerations for numbers of serial input ports. More...
 
enum  {
  NUM_CMDREGOUT_OUTPUT_PORTS = 1, NUM_CMDRESPONSEOUT_OUTPUT_PORTS = 1, NUM_LOGOUT_OUTPUT_PORTS = 1, NUM_LOGTEXTOUT_OUTPUT_PORTS = 1,
  NUM_PRMGET_OUTPUT_PORTS = 1, NUM_PRMSET_OUTPUT_PORTS = 1, NUM_TIMECALLER_OUTPUT_PORTS = 1, NUM_TLMOUT_OUTPUT_PORTS = 1
}
 Enumerations for numbers of special output ports. More...
 
enum  {
  NUM_CMDOUT_OUTPUT_PORTS = 1, NUM_GETPARAM_OUTPUT_PORTS = 1, NUM_GETTLMCHAN_OUTPUT_PORTS = 1, NUM_SEQDONEOUT_OUTPUT_PORTS = 1,
  NUM_SEQSTARTOUT_OUTPUT_PORTS = 1
}
 Enumerations for numbers of typed output ports. More...
 
enum  { NUM_SERIALOUT_OUTPUT_PORTS = 5 }
 Enumerations for numbers of serial output ports. More...
 
enum  {
  OPCODE_RUN = 0x0, OPCODE_LOAD = 0x1, OPCODE_INVOKE = 0x2, OPCODE_WAIT = 0x3,
  OPCODE_CANCEL = 0x4, OPCODE_PAUSE = 0x5, OPCODE_CONTINUE = 0x6, OPCODE_GLOBAL_SET_I32 = 0x7,
  OPCODE_GLOBAL_SET_I64 = 0x8, OPCODE_GLOBAL_SET_F32 = 0x9, OPCODE_GLOBAL_SET_F64 = 0xa, OPCODE_GLOBAL_GET = 0xb,
  OPCODE_HOST_FUNCTION_TIMEOUT_SECS_SET = 0xc, OPCODE_HOST_FUNCTION_TIMEOUT_SECS_SAVE = 0xd, OPCODE_INSTRUCTION_FUEL_SET = 0xe, OPCODE_INSTRUCTION_FUEL_SAVE = 0xf,
  OPCODE_SEQ_BASE_DIR_SET = 0x10, OPCODE_SEQ_BASE_DIR_SAVE = 0x11
}
 Command opcodes. More...
 
enum  {
  EVENTID_STOREALLOCATIONSUCCEEDED = 0x0, EVENTID_CONTROLLERCANNOTINVOKE = 0x1, EVENTID_CONTROLLERBUSY = 0x2, EVENTID_MODULENOTFOUND = 0x3,
  EVENTID_MEMORYGROWREJECTED = 0x4, EVENTID_GLOBALSETFAILED = 0x5, EVENTID_GLOBALGETFAILED = 0x6, EVENTID_GLOBALVALUEI32 = 0x7,
  EVENTID_GLOBALVALUEI64 = 0x8, EVENTID_GLOBALVALUEF32 = 0x9, EVENTID_GLOBALVALUEF64 = 0xa, EVENTID_FILEOPENERROR = 0xb,
  EVENTID_SEQUENCEFILEPATHTOOLONG = 0xc, EVENTID_SEQUENCEFILEPATHNOTCONTAINED = 0xd, EVENTID_MODULELOADFAILED = 0xe, EVENTID_MODULEMAININVOKEFAILED = 0xf,
  EVENTID_MODULESTARTINVOKEFAILED = 0x10, EVENTID_TOOMANYBLOCKINGCOMMANDS = 0x11, EVENTID_BUFFERTOOLARGE = 0x12, EVENTID_BUFFERTOOSMALL = 0x13,
  EVENTID_HOSTFUNCTIONINVALIDPOINTER = 0x14, EVENTID_INVALIDBLOCKINGTYPEVALUE = 0x15, EVENTID_HOSTFUNCTIONINVALIDPORT = 0x16, EVENTID_SERIALPORTSENDFAILED = 0x17,
  EVENTID_SERIALINFRAMETOOLARGE = 0x18, EVENTID_HOSTFUNCTIONINVALIDSEVERITY = 0x19, EVENTID_SEQUENCESTARTING = 0x1a, EVENTID_SEQUENCESUCCEEDED = 0x1b,
  EVENTID_SEQUENCECANCELLED = 0x1c, EVENTID_SEQUENCEEXITED = 0x1d, EVENTID_SEQUENCEPANIC = 0x1e, EVENTID_SEQUENCETRAPPED = 0x1f,
  EVENTID_SEQUENCEHOSTFAILURE = 0x20, EVENTID_SEQUENCEPAUSED = 0x21, EVENTID_SEQUENCENOTRUNNING = 0x22, EVENTID_SLEEPDURATIONTOOLARGE = 0x23,
  EVENTID_HOSTFUNCTIONINVALIDID = 0x24, EVENTID_CMDRESPONSEFROMOLDSEQUENCE = 0x25, EVENTID_WRONGCMDRESPONSEINDEX = 0x26, EVENTID_INVALIDMODULEENTRYPOINT = 0x27,
  EVENTID_LOGWARNINGHI = 0x28, EVENTID_LOGWARNINGLO = 0x29, EVENTID_LOGACTIVITYHI = 0x2a, EVENTID_LOGACTIVITYLO = 0x2b,
  EVENTID_LOGDIAGNOSTIC = 0x2c
}
 Event IDs. More...
 
enum  {
  CHANNELID_CONTROLLERSTATE = 0x0, CHANNELID_INTERPRETERSTATE = 0x1, CHANNELID_SEQUENCESSUCCEEDED = 0x2, CHANNELID_SEQUENCESFAILED = 0x3,
  CHANNELID_SEQUENCESCANCELLED = 0x4, CHANNELID_COMMANDSDISPATCHED = 0x5, CHANNELID_COMMANDSFAILED = 0x6, CHANNELID_LASTTRAPREASON = 0x7,
  CHANNELID_SEQNAME = 0x8
}
 Channel IDs. More...
 
enum  { PARAMID_HOST_FUNCTION_TIMEOUT_SECS = 0x0, PARAMID_INSTRUCTION_FUEL = 0x1, PARAMID_SEQ_BASE_DIR = 0x2 }
 Parameter IDs. More...
 
enum  SmId : FwEnumStoreType { SmId::controller, SmId::interpreter }
 State machine identifiers. More...
 
- Protected Types inherited from Fw::ActiveComponentBase
enum  Lifecycle { CREATED, DISPATCHING, FINALIZING, DONE }
 Tracks the lifecycle of the component. More...
 

Protected Member Functions

 WasmSequencerComponentBase (const char *compName="")
 Construct WasmSequencerComponentBase object. More...
 
virtual ~WasmSequencerComponentBase ()
 Destroy WasmSequencerComponentBase object. More...
 
bool isConnected_cmdRegOut_OutputPort (FwIndexType portNum) const
 
bool isConnected_cmdResponseOut_OutputPort (FwIndexType portNum) const
 
bool isConnected_logOut_OutputPort (FwIndexType portNum) const
 
bool isConnected_prmGet_OutputPort (FwIndexType portNum) const
 
bool isConnected_prmSet_OutputPort (FwIndexType portNum) const
 
bool isConnected_timeCaller_OutputPort (FwIndexType portNum) const
 
bool isConnected_tlmOut_OutputPort (FwIndexType portNum) const
 
bool isConnected_cmdOut_OutputPort (FwIndexType portNum) const
 
bool isConnected_getParam_OutputPort (FwIndexType portNum) const
 
bool isConnected_getTlmChan_OutputPort (FwIndexType portNum) const
 
bool isConnected_seqDoneOut_OutputPort (FwIndexType portNum) const
 
bool isConnected_seqStartOut_OutputPort (FwIndexType portNum) const
 
bool isConnected_serialOut_OutputPort (FwIndexType portNum) const
 
void cmdIn_handlerBase (FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 Handler base-class function for input port cmdIn. More...
 
virtual void checkTimers_handler (FwIndexType portNum, U32 context)=0
 Handler for input port checkTimers. More...
 
virtual void cmdResponseIn_handler (FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)=0
 Handler for input port cmdResponseIn. More...
 
virtual void seqCancelIn_handler (FwIndexType portNum)=0
 Handler for input port seqCancelIn. More...
 
virtual void seqRunIn_handler (FwIndexType portNum, const Fw::StringBase &filename, const Svc::SeqArgs &args)=0
 Handler for input port seqRunIn. More...
 
virtual void writeTelemetry_handler (FwIndexType portNum, U32 context)=0
 Handler for input port writeTelemetry. More...
 
void checkTimers_handlerBase (FwIndexType portNum, U32 context)
 Handler base-class function for input port checkTimers. More...
 
void cmdResponseIn_handlerBase (FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
 Handler base-class function for input port cmdResponseIn. More...
 
void seqCancelIn_handlerBase (FwIndexType portNum)
 Handler base-class function for input port seqCancelIn. More...
 
void seqRunIn_handlerBase (FwIndexType portNum, const Fw::StringBase &filename, const Svc::SeqArgs &args)
 Handler base-class function for input port seqRunIn. More...
 
void writeTelemetry_handlerBase (FwIndexType portNum, U32 context)
 Handler base-class function for input port writeTelemetry. More...
 
virtual void serialIn_handler (FwIndexType portNum, Fw::LinearBufferBase &buffer)=0
 Handler for input port serialIn. More...
 
void serialIn_handlerBase (FwIndexType portNum, Fw::LinearBufferBase &buffer)
 Handler base-class function for input port serialIn. More...
 
virtual void checkTimers_preMsgHook (FwIndexType portNum, U32 context)
 Pre-message hook for async input port checkTimers. More...
 
virtual void cmdResponseIn_preMsgHook (FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
 Pre-message hook for async input port cmdResponseIn. More...
 
virtual void seqRunIn_preMsgHook (FwIndexType portNum, const Fw::StringBase &filename, const Svc::SeqArgs &args)
 Pre-message hook for async input port seqRunIn. More...
 
virtual void writeTelemetry_preMsgHook (FwIndexType portNum, U32 context)
 Pre-message hook for async input port writeTelemetry. More...
 
void cmdOut_out (FwIndexType portNum, Fw::ComBuffer &data, U32 context) const
 Invoke output port cmdOut. More...
 
Fw::ParamValid getParam_out (FwIndexType portNum, FwPrmIdType id, Fw::ParamBuffer &val) const
 Invoke output port getParam. More...
 
Fw::TlmValid getTlmChan_out (FwIndexType portNum, FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val) const
 Invoke output port getTlmChan. More...
 
void seqDoneOut_out (FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) const
 Invoke output port seqDoneOut. More...
 
void seqStartOut_out (FwIndexType portNum, const Fw::StringBase &filename, const Svc::SeqArgs &args) const
 Invoke output port seqStartOut. More...
 
Fw::SerializeStatus serialOut_out (FwIndexType portNum, Fw::LinearBufferBase &buffer)
 Invoke output port serialOut. More...
 
Svc_WasmSequencer_ControllerStateMachine::State controller_getState () const
 Get the state of state machine instance controller. More...
 
Svc_WasmSequencer_InterpreterStateMachine::State interpreter_getState () const
 Get the state of state machine instance interpreter. More...
 
void controller_sendSignal_run (const Svc::WasmSequencer_LoadRequest &value)
 Send signal run to state machine controller. More...
 
void controller_sendSignal_load (const Svc::WasmSequencer_LoadRequest &value)
 Send signal load to state machine controller. More...
 
void controller_sendSignal_invoke (const Svc::WasmSequencer_InvokeRequest &value)
 Send signal invoke to state machine controller. More...
 
void controller_sendSignal_invoked (const Svc::WasmSequencer_RequestContext &value)
 Send signal invoked to state machine controller. More...
 
void controller_sendSignal_invokeFailed (const Svc::WasmSequencer_RequestContext &value)
 Send signal invokeFailed to state machine controller. More...
 
void controller_sendSignal_cancel ()
 Send signal cancel to state machine controller. More...
 
void controller_sendSignal_loadSucceeded (const Svc::WasmSequencer_RequestContext &value)
 Send signal loadSucceeded to state machine controller. More...
 
void controller_sendSignal_loadFailed (const Svc::WasmSequencer_RequestContext &value)
 Send signal loadFailed to state machine controller. More...
 
void controller_sendSignal_engineFinished (const Svc::WasmSequencer_RequestContext &value)
 Send signal engineFinished to state machine controller. More...
 
void interpreter_sendSignal_cmd_CONTINUE ()
 Send signal cmd_CONTINUE to state machine interpreter. More...
 
void interpreter_sendSignal_cmdCancel (const Svc::WasmSequencer_CommandRequest &value)
 Send signal cmdCancel to state machine interpreter. More...
 
void interpreter_sendSignal_cancel ()
 Send signal cancel to state machine interpreter. More...
 
void interpreter_sendSignal_entered ()
 Send signal entered to state machine interpreter. More...
 
void interpreter_sendSignal_run (const Svc::WasmSequencer_RequestContext &value)
 Send signal run to state machine interpreter. More...
 
void interpreter_sendSignal_checkTimers ()
 Send signal checkTimers to state machine interpreter. More...
 
void interpreter_sendSignal_hostResume ()
 Send signal hostResume to state machine interpreter. More...
 
void interpreter_sendSignal_hostResumeI32 (I32 value)
 Send signal hostResumeI32 to state machine interpreter. More...
 
void interpreter_sendSignal_hostResponseFailure ()
 Send signal hostResponseFailure to state machine interpreter. More...
 
void interpreter_sendSignal_hostResponseUnexpected (const Svc::WasmSequencer_HostFunction &value)
 Send signal hostResponseUnexpected to state machine interpreter. More...
 
void interpreter_sendSignal_hostResponseTimeIncomparable ()
 Send signal hostResponseTimeIncomparable to state machine interpreter. More...
 
void interpreter_sendSignal_hostResponseTimeout ()
 Send signal hostResponseTimeout to state machine interpreter. More...
 
void interpreter_sendSignal_serialInMessage (const FwIndexType &value)
 Send signal serialInMessage to state machine interpreter. More...
 
void interpreter_sendSignal_interpreterFinished (I32 value)
 Send signal interpreterFinished to state machine interpreter. More...
 
void interpreter_sendSignal_interpreterTrap (const Svc::WasmSequencer_TrapReason &value)
 Send signal interpreterTrap to state machine interpreter. More...
 
void interpreter_sendSignal_interpreterOutOfFuel ()
 Send signal interpreterOutOfFuel to state machine interpreter. More...
 
void interpreter_sendSignal_interpreterHostFunctionNeedsPause ()
 Send signal interpreterHostFunctionNeedsPause to state machine interpreter. More...
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_processInvoke (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_InvokeRequest &value)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_setCancelRequested (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_clearCancelRequested (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_cancelPendingRequest (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_RequestContext &value)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_respond_noblock_OK (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_RequestContext &value)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_respond_ERROR (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_RequestContext &value)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_incrementSequenceFailure (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_respondInvoke_BUSY (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_InvokeRequest &value)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_respondInvoke_ERROR (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_InvokeRequest &value)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_respondLoad_BUSY (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_LoadRequest &value)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_respond_block_OK (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_RequestContext &value)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_respond_block_ERROR (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_RequestContext &value)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_load (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_LoadRequest &value)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_invokeStart (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_RequestContext &value)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_invokeMain (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_RequestContext &value)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_reportModuleInvalidMain (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_RequestContext &value)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_reportModuleMainInvokeFailed (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_RequestContext &value)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_reportModuleStartInvokeFailed (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_RequestContext &value)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_reportModuleStarted (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_RequestContext &value)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_reportModuleSucceeded (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_RequestContext &value)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_reportModuleStartFailed (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_RequestContext &value)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_reportModuleMainFailed (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_RequestContext &value)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_resetStore (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal)=0
 
virtual void Svc_WasmSequencer_ControllerStateMachine_action_runEngine (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_RequestContext &value)=0
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_cmdReplyOK (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal, const Svc::WasmSequencer_CommandRequest &value)=0
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_signalEntered (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_spin (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_reset (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_clearExitStatus (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 Implementation for action clearExitStatus of state machine Svc_WasmSequencer_InterpreterStateMachine. More...
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_INTERPRETER_FINISHED (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 Implementation for action setExitReason_INTERPRETER_FINISHED of state machine Svc_WasmSequencer_InterpreterStateMachine. More...
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_INTERPRETER_TRAP (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 Implementation for action setExitReason_INTERPRETER_TRAP of state machine Svc_WasmSequencer_InterpreterStateMachine. More...
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_REPLY_TIMEOUT (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 Implementation for action setExitReason_REPLY_TIMEOUT of state machine Svc_WasmSequencer_InterpreterStateMachine. More...
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_HOST_FAILURE (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 Implementation for action setExitReason_HOST_FAILURE of state machine Svc_WasmSequencer_InterpreterStateMachine. More...
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_TIMER_INCOMPARABLE (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 Implementation for action setExitReason_TIMER_INCOMPARABLE of state machine Svc_WasmSequencer_InterpreterStateMachine. More...
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_UNEXPECTED_REPLY (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 Implementation for action setExitReason_UNEXPECTED_REPLY of state machine Svc_WasmSequencer_InterpreterStateMachine. More...
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_CANCEL (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 Implementation for action setExitReason_CANCEL of state machine Svc_WasmSequencer_InterpreterStateMachine. More...
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_setExitCode (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal, I32 value)=0
 Implementation for action setExitCode of state machine Svc_WasmSequencer_InterpreterStateMachine. More...
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_setTrapReason (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal, const Svc::WasmSequencer_TrapReason &value)=0
 Implementation for action setTrapReason of state machine Svc_WasmSequencer_InterpreterStateMachine. More...
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_setLastHostFunction (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 Implementation for action setLastHostFunction of state machine Svc_WasmSequencer_InterpreterStateMachine. More...
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_finish (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_reportPaused (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_clearPause (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_dispatchPendingHostFunction (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_clearPendingHostFunction (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_setContext (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal, const Svc::WasmSequencer_RequestContext &value)=0
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_clearContext (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_resume (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_resumeI32 (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal, I32 value)=0
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_checkSleepTimers (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_checkTimeout (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal)=0
 
virtual void Svc_WasmSequencer_InterpreterStateMachine_action_dequeueSerialAndResume (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal, const FwIndexType &value)=0
 
virtual bool Svc_WasmSequencer_ControllerStateMachine_guard_cancelRequested (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal) const =0
 
virtual bool Svc_WasmSequencer_ControllerStateMachine_guard_moduleHasStart (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_RequestContext &value) const =0
 
virtual bool Svc_WasmSequencer_ControllerStateMachine_guard_moduleHasValidMain (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_RequestContext &value) const =0
 
virtual bool Svc_WasmSequencer_ControllerStateMachine_guard_invokeSucceeded (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal, const Svc::WasmSequencer_RequestContext &value) const =0
 
virtual bool Svc_WasmSequencer_ControllerStateMachine_guard_interpreterSucceeded (SmId smId, Svc_WasmSequencer_ControllerStateMachine::Signal signal) const =0
 
virtual bool Svc_WasmSequencer_InterpreterStateMachine_guard_pendingPause (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal) const =0
 
virtual bool Svc_WasmSequencer_InterpreterStateMachine_guard_pendingHostFunction (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal) const =0
 
virtual bool Svc_WasmSequencer_InterpreterStateMachine_guard_pendingHostFunctionIsSleep (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal) const =0
 
virtual bool Svc_WasmSequencer_InterpreterStateMachine_guard_blockingSerialIn (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal, const FwIndexType &value) const =0
 
virtual bool Svc_WasmSequencer_InterpreterStateMachine_guard_dequeueSucceeded (SmId smId, Svc_WasmSequencer_InterpreterStateMachine::Signal signal) const =0
 
void cmdResponse_out (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
 Emit command response. More...
 
virtual void RUN_cmdHandler (FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &fileName, const Svc::BlockState &block, const Svc::SeqArgs &seqArgs)=0
 
virtual void LOAD_cmdHandler (FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &fileName, const Fw::CmdStringArg &name)=0
 
virtual void INVOKE_cmdHandler (FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &module, const Svc::BlockState &block, const Svc::SeqArgs &seqArgs)=0
 
virtual void WAIT_cmdHandler (FwOpcodeType opCode, U32 cmdSeq)=0
 
virtual void CANCEL_cmdHandler (FwOpcodeType opCode, U32 cmdSeq)=0
 
virtual void PAUSE_cmdHandler (FwOpcodeType opCode, U32 cmdSeq)=0
 
virtual void CONTINUE_cmdHandler (FwOpcodeType opCode, U32 cmdSeq)=0
 
virtual void GLOBAL_SET_I32_cmdHandler (FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &moduleName, const Fw::CmdStringArg &name, I32 value)=0
 
virtual void GLOBAL_SET_I64_cmdHandler (FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &moduleName, const Fw::CmdStringArg &name, I64 value)=0
 
virtual void GLOBAL_SET_F32_cmdHandler (FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &moduleName, const Fw::CmdStringArg &name, F32 value)=0
 
virtual void GLOBAL_SET_F64_cmdHandler (FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &moduleName, const Fw::CmdStringArg &name, F64 value)=0
 
virtual void GLOBAL_GET_cmdHandler (FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &moduleName, const Fw::CmdStringArg &name)=0
 
void RUN_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void LOAD_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void INVOKE_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void WAIT_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void CANCEL_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void PAUSE_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void CONTINUE_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void GLOBAL_SET_I32_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void GLOBAL_SET_I64_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void GLOBAL_SET_F32_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void GLOBAL_SET_F64_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void GLOBAL_GET_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
virtual void RUN_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 Pre-message hook for command RUN. More...
 
virtual void LOAD_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 Pre-message hook for command LOAD. More...
 
virtual void INVOKE_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 Pre-message hook for command INVOKE. More...
 
virtual void WAIT_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 Pre-message hook for command WAIT. More...
 
virtual void PAUSE_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 Pre-message hook for command PAUSE. More...
 
virtual void CONTINUE_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 Pre-message hook for command CONTINUE. More...
 
virtual void GLOBAL_SET_I32_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 Pre-message hook for command GLOBAL_SET_I32. More...
 
virtual void GLOBAL_SET_I64_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 Pre-message hook for command GLOBAL_SET_I64. More...
 
virtual void GLOBAL_SET_F32_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 Pre-message hook for command GLOBAL_SET_F32. More...
 
virtual void GLOBAL_SET_F64_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 Pre-message hook for command GLOBAL_SET_F64. More...
 
virtual void GLOBAL_GET_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 Pre-message hook for command GLOBAL_GET. More...
 
void log_DIAGNOSTIC_StoreAllocationSucceeded (U16 moduleCount) const
 
void log_WARNING_LO_ControllerCannotInvoke () const
 
void log_WARNING_LO_ControllerBusy (const Svc::WasmSequencer_SignalSource &signalSource, const Svc::WasmSequencer_ControllerStateMachine_State &state) const
 
void log_WARNING_LO_ModuleNotFound (const Fw::StringBase &module_name) const
 
void log_WARNING_LO_MemoryGrowRejected (const Svc::WasmSequencer_MemoryGrowFailReason &reason, U64 requestedSize) const
 
void log_WARNING_LO_GlobalSetFailed (const Fw::StringBase &module_name, const Fw::StringBase &globalName, const Svc::WasmSequencer_Status &reason) const
 Log event GlobalSetFailed. More...
 
void log_WARNING_LO_GlobalGetFailed (const Fw::StringBase &module_name, const Fw::StringBase &globalName, const Svc::WasmSequencer_Status &reason) const
 Log event GlobalGetFailed. More...
 
void log_ACTIVITY_LO_GlobalValueI32 (const Fw::StringBase &module_name, const Fw::StringBase &globalName, I32 value) const
 Log event GlobalValueI32. More...
 
void log_ACTIVITY_LO_GlobalValueI64 (const Fw::StringBase &module_name, const Fw::StringBase &globalName, I64 value) const
 Log event GlobalValueI64. More...
 
void log_ACTIVITY_LO_GlobalValueF32 (const Fw::StringBase &module_name, const Fw::StringBase &globalName, F32 value) const
 Log event GlobalValueF32. More...
 
void log_ACTIVITY_LO_GlobalValueF64 (const Fw::StringBase &module_name, const Fw::StringBase &globalName, F64 value) const
 Log event GlobalValueF64. More...
 
void log_WARNING_HI_FileOpenError (const Fw::StringBase &fileName, I32 status) const
 
void log_WARNING_HI_SequenceFilePathTooLong (const Fw::StringBase &baseDir, const Fw::StringBase &fileName) const
 
void log_WARNING_HI_SequenceFilePathNotContained (const Fw::StringBase &baseDir, const Fw::StringBase &fileName) const
 
void log_WARNING_HI_ModuleLoadFailed (const Svc::WasmSequencer_Status &status) const
 
void log_WARNING_HI_ModuleMainInvokeFailed (const Svc::WasmSequencer_Status &status) const
 
void log_WARNING_HI_ModuleStartInvokeFailed (const Svc::WasmSequencer_Status &status) const
 
void log_WARNING_HI_TooManyBlockingCommands () const
 
void log_WARNING_HI_BufferTooLarge (const Svc::WasmSequencer_HostFunction &host_function, U32 size, U32 maxSize) const
 
void log_WARNING_HI_BufferTooSmall (const Svc::WasmSequencer_HostFunction &host_function, U32 size, U32 valueSize) const
 
void log_WARNING_HI_HostFunctionInvalidPointer (const Svc::WasmSequencer_HostFunction &host_function, const Svc::WasmSequencer_Status &code) const
 Log event HostFunctionInvalidPointer. More...
 
void log_WARNING_HI_InvalidBlockingTypeValue (I32 invalidValue) const
 Log event InvalidBlockingTypeValue. More...
 
void log_WARNING_HI_HostFunctionInvalidPort (const Svc::WasmSequencer_HostFunction &host_function, I32 index, U32 numPorts) const
 
void log_WARNING_HI_SerialPortSendFailed (const Svc::WasmSequencer_HostFunction &host_function, I32 status) const
 
void log_WARNING_HI_SerialInFrameTooLarge (U32 portIndex, U32 size, U32 maxSize) const
 
void log_WARNING_HI_HostFunctionInvalidSeverity (I32 raw, const Fw::StringBase &msg) const
 
void log_ACTIVITY_HI_SequenceStarting (Svc::WasmSequencer_ModuleIdx index) const
 
void log_ACTIVITY_HI_SequenceSucceeded (Svc::WasmSequencer_ModuleIdx index) const
 
void log_ACTIVITY_HI_SequenceCancelled (Svc::WasmSequencer_ModuleIdx index, const Svc::WasmSequencer_SequencePhase &phase) const
 
void log_WARNING_HI_SequenceExited (Svc::WasmSequencer_ModuleIdx index, const Svc::WasmSequencer_SequencePhase &phase, I32 code) const
 
void log_WARNING_HI_SequencePanic (Svc::WasmSequencer_ModuleIdx index, const Svc::WasmSequencer_SequencePhase &phase, I32 code) const
 
void log_WARNING_HI_SequenceTrapped (Svc::WasmSequencer_ModuleIdx index, const Svc::WasmSequencer_SequencePhase &phase, const Svc::WasmSequencer_TrapReason &reason) const
 
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
 
void log_ACTIVITY_HI_SequencePaused () const
 
void log_WARNING_LO_SequenceNotRunning () const
 
void log_WARNING_HI_SleepDurationTooLarge (const Svc::WasmSequencer_HostFunction &host_function, U64 micros) const
 
void log_WARNING_HI_HostFunctionInvalidId (const Svc::WasmSequencer_HostFunction &host_function, I64 id) const
 
void log_WARNING_LO_CmdResponseFromOldSequence (FwOpcodeType opcode, const Fw::CmdResponse &response, U16 oldSequenceIdx, U16 currentSequenceIdx) const
 
void log_WARNING_HI_WrongCmdResponseIndex (FwOpcodeType opcode, const Fw::CmdResponse &response, U16 actualCmdIdx, U16 expectedCmdIdx) const
 
void log_WARNING_HI_InvalidModuleEntrypoint (Svc::WasmSequencer_ModuleIdx moduleIdx, const Svc::WasmSequencer_Status &status) const
 Log event InvalidModuleEntrypoint. More...
 
void log_WARNING_HI_LogWarningHi (const Fw::StringBase &msg) const
 
void log_WARNING_LO_LogWarningLo (const Fw::StringBase &msg) const
 
void log_ACTIVITY_HI_LogActivityHi (const Fw::StringBase &msg) const
 
void log_ACTIVITY_LO_LogActivityLo (const Fw::StringBase &msg) const
 
void log_DIAGNOSTIC_LogDiagnostic (const Fw::StringBase &msg) const
 
void tlmWrite (FwChanIdType id, Fw::TlmBuffer &_tlmBuff, Fw::Time _tlmTime=Fw::Time()) const
 
void tlmWrite_ControllerState (const Svc::WasmSequencer_ControllerStateMachine_State &arg, Fw::Time _tlmTime=Fw::Time())
 
void tlmWrite_InterpreterState (const Svc::WasmSequencer_InterpreterStateMachine_State &arg, Fw::Time _tlmTime=Fw::Time())
 
void tlmWrite_SequencesSucceeded (U64 arg, Fw::Time _tlmTime=Fw::Time())
 
void tlmWrite_SequencesFailed (U64 arg, Fw::Time _tlmTime=Fw::Time())
 
void tlmWrite_SequencesCancelled (U64 arg, Fw::Time _tlmTime=Fw::Time())
 
void tlmWrite_CommandsDispatched (U64 arg, Fw::Time _tlmTime=Fw::Time())
 
void tlmWrite_CommandsFailed (U64 arg, Fw::Time _tlmTime=Fw::Time())
 
void tlmWrite_LastTrapReason (const Svc::WasmSequencer_TrapReason &arg, Fw::Time _tlmTime=Fw::Time())
 
void tlmWrite_SeqName (const Fw::StringBase &arg, Fw::Time _tlmTime=Fw::Time())
 
virtual void parameterUpdated (FwPrmIdType id)
 Called whenever a parameter is updated. More...
 
virtual void parametersLoaded ()
 Called whenever parameters are loaded. More...
 
F32 paramGet_HOST_FUNCTION_TIMEOUT_SECS (Fw::ParamValid &valid)
 
FwSizeType paramGet_INSTRUCTION_FUEL (Fw::ParamValid &valid)
 
Fw::ParamString paramGet_SEQ_BASE_DIR (Fw::ParamValid &valid)
 
Fw::Time getTime () const
 
virtual void lock ()
 Lock the guarded mutex. More...
 
virtual void unLock ()
 Unlock the guarded mutex. More...
 
- Protected Member Functions inherited from Fw::ActiveComponentBase
 ActiveComponentBase (const char *name)
 Constructor. More...
 
virtual ~ActiveComponentBase ()
 Destructor. More...
 
void init (FwEnumStoreType instance)
 initialization code More...
 
virtual void preamble ()
 A function that will be called before the event loop is entered. More...
 
MsgDispatchStatus dispatch ()
 The function that will dispatching messages. More...
 
virtual void finalizer ()
 A function that will be called after exiting the loop. More...
 
- Protected Member Functions inherited from Fw::QueuedComponentBase
 QueuedComponentBase (const char *name)
 Constructor. More...
 
virtual ~QueuedComponentBase ()
 Destructor. More...
 
void init (FwEnumStoreType instance)
 initialization function More...
 
Os::Queue::Status createQueue (FwSizeType depth, FwSizeType msgSize)
 
MsgDispatchStatus dispatchAvailableMessages ()
 dispatches all messages currently in the queue, returning status of the dispatch More...
 
FwSizeType getNumMsgsDropped ()
 return number of messages dropped More...
 
void incNumMsgDropped ()
 increment the number of messages dropped More...
 
- Protected Member Functions inherited from Fw::PassiveComponentBase
 PassiveComponentBase (const char *name)
 Named constructor. More...
 
virtual ~PassiveComponentBase ()
 Destructor. More...
 
void init (FwEnumStoreType instance)
 Initialization function. More...
 
FwEnumStoreType getInstance () const
 
- Protected Member Functions inherited from Fw::ObjBase
 ObjBase (const char *name)
 ObjBase constructor. More...
 
virtual ~ObjBase ()
 Destructor. More...
 
void init ()
 Object initializer. More...
 

Static Protected Member Functions

static constexpr FwIndexType getNum_cmdIn_InputPorts ()
 
static constexpr FwIndexType getNum_checkTimers_InputPorts ()
 
static constexpr FwIndexType getNum_cmdResponseIn_InputPorts ()
 
static constexpr FwIndexType getNum_seqCancelIn_InputPorts ()
 
static constexpr FwIndexType getNum_seqRunIn_InputPorts ()
 
static constexpr FwIndexType getNum_writeTelemetry_InputPorts ()
 
static constexpr FwIndexType getNum_serialIn_InputPorts ()
 
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts ()
 
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts ()
 
static constexpr FwIndexType getNum_logOut_OutputPorts ()
 
static constexpr FwIndexType getNum_prmGet_OutputPorts ()
 
static constexpr FwIndexType getNum_prmSet_OutputPorts ()
 
static constexpr FwIndexType getNum_timeCaller_OutputPorts ()
 
static constexpr FwIndexType getNum_tlmOut_OutputPorts ()
 
static constexpr FwIndexType getNum_cmdOut_OutputPorts ()
 
static constexpr FwIndexType getNum_getParam_OutputPorts ()
 
static constexpr FwIndexType getNum_getTlmChan_OutputPorts ()
 
static constexpr FwIndexType getNum_seqDoneOut_OutputPorts ()
 
static constexpr FwIndexType getNum_seqStartOut_OutputPorts ()
 
static constexpr FwIndexType getNum_serialOut_OutputPorts ()
 

Friends

class WasmSequencerTesterBase
 Friend class tester to support autocoded test harness. More...
 
class WasmSequencerTester
 Friend class tester implementation to support white-box testing. More...
 

Additional Inherited Members

- Public Types inherited from Fw::ActiveComponentBase
enum  { ACTIVE_COMPONENT_EXIT }
 
- Public Types inherited from Fw::QueuedComponentBase
enum  MsgDispatchStatus { MSG_DISPATCH_OK, MSG_DISPATCH_EMPTY, MSG_DISPATCH_ERROR, MSG_DISPATCH_EXIT }
 
- Protected Attributes inherited from Fw::ActiveComponentBase
Os::Task m_task
 task object for active component More...
 
- Protected Attributes inherited from Fw::QueuedComponentBase
Os::Queue m_queue
 queue object for active component More...
 

Detailed Description

Auto-generated base for WasmSequencer component.

A sequence engine based around a WebAssembly interpreter

Definition at line 74 of file WasmSequencerComponentAc.hpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected

Enumerations for numbers of special input ports.

Enumerator
NUM_CMDIN_INPUT_PORTS 

Definition at line 94 of file WasmSequencerComponentAc.hpp.

◆ anonymous enum

anonymous enum
protected

Enumerations for numbers of typed input ports.

Enumerator
NUM_CHECKTIMERS_INPUT_PORTS 
NUM_CMDRESPONSEIN_INPUT_PORTS 
NUM_SEQCANCELIN_INPUT_PORTS 
NUM_SEQRUNIN_INPUT_PORTS 
NUM_WRITETELEMETRY_INPUT_PORTS 

Definition at line 99 of file WasmSequencerComponentAc.hpp.

◆ anonymous enum

anonymous enum
protected

Enumerations for numbers of serial input ports.

Enumerator
NUM_SERIALIN_INPUT_PORTS 

Definition at line 108 of file WasmSequencerComponentAc.hpp.

◆ anonymous enum

anonymous enum
protected

Enumerations for numbers of special output ports.

Enumerator
NUM_CMDREGOUT_OUTPUT_PORTS 
NUM_CMDRESPONSEOUT_OUTPUT_PORTS 
NUM_LOGOUT_OUTPUT_PORTS 
NUM_LOGTEXTOUT_OUTPUT_PORTS 
NUM_PRMGET_OUTPUT_PORTS 
NUM_PRMSET_OUTPUT_PORTS 
NUM_TIMECALLER_OUTPUT_PORTS 
NUM_TLMOUT_OUTPUT_PORTS 

Definition at line 113 of file WasmSequencerComponentAc.hpp.

◆ anonymous enum

anonymous enum
protected

Enumerations for numbers of typed output ports.

Enumerator
NUM_CMDOUT_OUTPUT_PORTS 
NUM_GETPARAM_OUTPUT_PORTS 
NUM_GETTLMCHAN_OUTPUT_PORTS 
NUM_SEQDONEOUT_OUTPUT_PORTS 
NUM_SEQSTARTOUT_OUTPUT_PORTS 

Definition at line 125 of file WasmSequencerComponentAc.hpp.

◆ anonymous enum

anonymous enum
protected

Enumerations for numbers of serial output ports.

Enumerator
NUM_SERIALOUT_OUTPUT_PORTS 

Definition at line 134 of file WasmSequencerComponentAc.hpp.

◆ anonymous enum

anonymous enum
protected

Command opcodes.

Enumerator
OPCODE_RUN 

Run a Wasm module main function on it's own in the interpreter This command first resets the store (discarding any modules previously staged with LOAD), then is short-hand for:

```sh CANCEL # doesn't actually cancel a sequence, just resets the store LOAD [fileName] "" INVOKE "" [block] [seqArgs] ```

If $block == Svc.BlockState.BLOCK this command will wait for completion.

OPCODE_LOAD 

Loads and validates a WebAssembly module into the store under the given name. Naming the module lets its exports be referenced by other modules and lets INVOKE, GLOBAL_GET and GLOBAL_SET address it. Use an empty name for a single, standalone module. The name must not conflict with a previously loaded module.

OPCODE_INVOKE 

Invoke a main function from a loaded module.

OPCODE_WAIT 

Wait for the interpreter to finish and return it's result as a CmdResponse.

OPCODE_CANCEL 

Cancels a running or validated sequence. After running CANCEL, the sequencer should return to IDLE This completely clears the store.

OPCODE_PAUSE 

Pauses the execution of the sequencer, just before it is about to start spinning. This simply pends a pause flag that will be taken before the sequence engine starts up again.

This command completes immediately

OPCODE_CONTINUE 

Resume the sequence from a paused state.

OPCODE_GLOBAL_SET_I32 

Set a global variable to a given i32 value. Command fails if the module is not found, global is not exported, mutable, or of i32 type

OPCODE_GLOBAL_SET_I64 

Set a global variable to a given i64 value. Command fails if the module is not found, global is not exported, mutable, or of i64 type

OPCODE_GLOBAL_SET_F32 

Set a global variable to a given f32 value. Command fails if the module is not found, global is not exported, mutable, or of f32 type

OPCODE_GLOBAL_SET_F64 

Set a global variable to a given f64 value. Command fails if the module is not found, global is not exported, mutable, or of f64 type

OPCODE_GLOBAL_GET 

Get the current value of a global variable and emit an event Command fails if the module is not found or the global is not exported

OPCODE_HOST_FUNCTION_TIMEOUT_SECS_SET 

Opcode to set parameter HOST_FUNCTION_TIMEOUT_SECS.

OPCODE_HOST_FUNCTION_TIMEOUT_SECS_SAVE 

Opcode to save parameter HOST_FUNCTION_TIMEOUT_SECS.

OPCODE_INSTRUCTION_FUEL_SET 

Opcode to set parameter INSTRUCTION_FUEL.

OPCODE_INSTRUCTION_FUEL_SAVE 

Opcode to save parameter INSTRUCTION_FUEL.

OPCODE_SEQ_BASE_DIR_SET 

Opcode to set parameter SEQ_BASE_DIR.

OPCODE_SEQ_BASE_DIR_SAVE 

Opcode to save parameter SEQ_BASE_DIR.

Definition at line 139 of file WasmSequencerComponentAc.hpp.

◆ anonymous enum

anonymous enum
protected

Event IDs.

Enumerator
EVENTID_STOREALLOCATIONSUCCEEDED 

The interpreter store was allocated with capacity for the given number of modules.

EVENTID_CONTROLLERCANNOTINVOKE 

A command was issued in a state where it is not valid.

EVENTID_CONTROLLERBUSY 

A command was issued in a state where it is not valid.

EVENTID_MODULENOTFOUND 

Failed to find a loaded module with the requested name.

EVENTID_MEMORYGROWREJECTED 

A guest memory.grow could not be serviced by the guest bump allocator and was rejected. The guest sees memory.grow return -1; execution continues.

EVENTID_GLOBALSETFAILED 
EVENTID_GLOBALGETFAILED 
EVENTID_GLOBALVALUEI32 
EVENTID_GLOBALVALUEI64 
EVENTID_GLOBALVALUEF32 
EVENTID_GLOBALVALUEF64 
EVENTID_FILEOPENERROR 

Failed to open the requested Wasm module file.

EVENTID_SEQUENCEFILEPATHTOOLONG 

The SEQ_BASE_DIR base directory joined with the requested sequence file path exceeds the file-path buffer; the load will fail to open the truncated path.

EVENTID_SEQUENCEFILEPATHNOTCONTAINED 

A ground-supplied sequence file name contained a ".." path-traversal component while SEQ_BASE_DIR was configured, so it could escape the base directory. The load is rejected rather than opening a path outside the configured base dir.

EVENTID_MODULELOADFAILED 

A module failed to decode/validate while loading.

EVENTID_MODULEMAININVOKEFAILED 

Failed to invoke a module's main entrypoint.

EVENTID_MODULESTARTINVOKEFAILED 

Failed to invoke a module's start function.

EVENTID_TOOMANYBLOCKINGCOMMANDS 

A blocking command could not be queued because too many commands are already waiting on the sequencer to finish

EVENTID_BUFFERTOOLARGE 

A guest host function supplied a buffer larger than the host maximum for that call.

EVENTID_BUFFERTOOSMALL 

A guest host function supplied a buffer too small to hold the host value being returned.

EVENTID_HOSTFUNCTIONINVALIDPOINTER 
EVENTID_INVALIDBLOCKINGTYPEVALUE 
EVENTID_HOSTFUNCTIONINVALIDPORT 

A guest serial port host function requested a port index outside the configured range.

EVENTID_SERIALPORTSENDFAILED 

A guest serial port payload could not be serialized onto the serial output port (the receiving port rejected the guest-supplied bytes)

EVENTID_SERIALINFRAMETOOLARGE 

An inbound serial frame was larger than the receiving queue could ever hold and was dropped. serialIn is fed by external hardware/ground data, so an oversized frame is rejected here rather than asserting on flight software.

EVENTID_HOSTFUNCTIONINVALIDSEVERITY 

The guest requested an event at a severity that is not permitted for guest programs (an out-of-range id, or FATAL/COMMAND which are reserved for the host). The guest message is preserved and reported here at WARNING_HI.

EVENTID_SEQUENCESTARTING 

A sequence is starting after the main entrypoint was invoked.

EVENTID_SEQUENCESUCCEEDED 

The interpreter ran a program to completion.

EVENTID_SEQUENCECANCELLED 

The sequence was cancelled.

EVENTID_SEQUENCEEXITED 

The sequence finished with a non-zero code: the guest returned a non-zero value from main, or called fprime.exit with a non-zero code

EVENTID_SEQUENCEPANIC 

The guest called fprime.panic.

EVENTID_SEQUENCETRAPPED 

The interpreter aborted the sequence with a byte-code trap.

EVENTID_SEQUENCEHOSTFAILURE 

A host function the sequence was awaiting failed: an error reply, a reply timeout, an unexpected reply, or an incomparable timer

EVENTID_SEQUENCEPAUSED 

Execution was paused at a breakpoint.

EVENTID_SEQUENCENOTRUNNING 

No sequence is running so we cannot continue from a pause.

EVENTID_SLEEPDURATIONTOOLARGE 

The guest requested a sleep whose duration (in microseconds) does not fit the host timer representation (its whole-seconds part overflows U32)

EVENTID_HOSTFUNCTIONINVALIDID 

A guest host function supplied a 64-bit id (telemetry channel or parameter id) that does not fit in the narrower id type used by the framework. Casting it directly would silently alias a different, valid id, so the request is rejected rather than truncated.

EVENTID_CMDRESPONSEFROMOLDSEQUENCE 

A command response arrived carrying a context (cmdUid) from a previous sequence run. Reported (not failed) because a late reply after CANCEL is nominal.

EVENTID_WRONGCMDRESPONSEINDEX 

A command response arrived for the correct opcode from this sequence, but for a different dispatch instance than the one currently being awaited.

EVENTID_INVALIDMODULEENTRYPOINT 
EVENTID_LOGWARNINGHI 

A WARNING_HI event emitted by the guest program.

EVENTID_LOGWARNINGLO 

A WARNING_LO event emitted by the guest program.

EVENTID_LOGACTIVITYHI 

An ACTIVITY_HI event emitted by the guest program.

EVENTID_LOGACTIVITYLO 

An ACTIVITY_LO event emitted by the guest program.

EVENTID_LOGDIAGNOSTIC 

A DIAGNOSTIC event emitted by the guest program.

Definition at line 184 of file WasmSequencerComponentAc.hpp.

◆ anonymous enum

anonymous enum
protected

Channel IDs.

Enumerator
CHANNELID_CONTROLLERSTATE 

Channel ID for ControllerState.

CHANNELID_INTERPRETERSTATE 

Channel ID for InterpreterState.

CHANNELID_SEQUENCESSUCCEEDED 

Channel ID for SequencesSucceeded.

CHANNELID_SEQUENCESFAILED 

Channel ID for SequencesFailed.

CHANNELID_SEQUENCESCANCELLED 

Channel ID for SequencesCancelled.

CHANNELID_COMMANDSDISPATCHED 

Channel ID for CommandsDispatched.

CHANNELID_COMMANDSFAILED 

Channel ID for CommandsFailed.

CHANNELID_LASTTRAPREASON 

Channel ID for LastTrapReason.

CHANNELID_SEQNAME 

Channel ID for SeqName.

Definition at line 251 of file WasmSequencerComponentAc.hpp.

◆ anonymous enum

anonymous enum
protected

Parameter IDs.

Enumerator
PARAMID_HOST_FUNCTION_TIMEOUT_SECS 

the number of seconds to wait before giving up on a host function/command. if <= 0 or greater than U32 max, never time out. accuracy of this timeout is determined by the rate group driving this component. it will be rounded up.

PARAMID_INSTRUCTION_FUEL 

Number of Wasm instructions to execute per interpreter cycle. Larger numbers will effect the responsiveness of the interpreter to PAUSE commands. The interpreter will always pause before commands.

Larger numbers make the interpreter faster because the engine doesn't need to feed itself through a queue to fuel more cycles.

PARAMID_SEQ_BASE_DIR 

A literal prefix prepended to every requested sequence file path before resolution following the rules of Os::File::open. When non-empty it also acts as a containment boundary: a requested name with a ".." component is rejected rather than being allowed to escape the prefix.

Definition at line 264 of file WasmSequencerComponentAc.hpp.

◆ SmId

State machine identifiers.

Enumerator
controller 
interpreter 

Definition at line 282 of file WasmSequencerComponentAc.hpp.

Constructor & Destructor Documentation

◆ WasmSequencerComponentBase()

Svc::WasmSequencerComponentBase::WasmSequencerComponentBase ( const char *  compName = "")
protected

Construct WasmSequencerComponentBase object.

Parameters
compNameThe component name

Definition at line 1793 of file WasmSequencerComponentAc.cpp.

◆ ~WasmSequencerComponentBase()

Svc::WasmSequencerComponentBase::~WasmSequencerComponentBase ( )
protectedvirtual

Destroy WasmSequencerComponentBase object.

Definition at line 1802 of file WasmSequencerComponentAc.cpp.

Member Function Documentation

◆ CANCEL_cmdHandler()

virtual void Svc::WasmSequencerComponentBase::CANCEL_cmdHandler ( FwOpcodeType  opCode,
U32  cmdSeq 
)
protectedpure virtual

Handler for command CANCEL

Cancels a running or validated sequence. After running CANCEL, the sequencer should return to IDLE This completely clears the store.

Parameters
opCodeThe opcode
cmdSeqThe command sequence number

◆ CANCEL_cmdHandlerBase()

void Svc::WasmSequencerComponentBase::CANCEL_cmdHandlerBase ( FwOpcodeType  opCode,
U32  cmdSeq,
Fw::CmdArgBuffer args 
)
protected

Base-class handler function for command CANCEL

Cancels a running or validated sequence. After running CANCEL, the sequencer should return to IDLE This completely clears the store.

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
argsThe command argument buffer

Definition at line 3256 of file WasmSequencerComponentAc.cpp.

◆ checkTimers_handler()

virtual void Svc::WasmSequencerComponentBase::checkTimers_handler ( FwIndexType  portNum,
U32  context 
)
protectedpure virtual

Handler for input port checkTimers.

Parameters
portNumThe port number
contextThe call order

◆ checkTimers_handlerBase()

void Svc::WasmSequencerComponentBase::checkTimers_handlerBase ( FwIndexType  portNum,
U32  context 
)
protected

Handler base-class function for input port checkTimers.

Parameters
portNumThe port number
contextThe call order

Definition at line 2189 of file WasmSequencerComponentAc.cpp.

◆ checkTimers_preMsgHook()

void Svc::WasmSequencerComponentBase::checkTimers_preMsgHook ( FwIndexType  portNum,
U32  context 
)
protectedvirtual

Pre-message hook for async input port checkTimers.

Parameters
portNumThe port number
contextThe call order

Definition at line 2485 of file WasmSequencerComponentAc.cpp.

◆ cmdIn_handlerBase()

void Svc::WasmSequencerComponentBase::cmdIn_handlerBase ( FwIndexType  portNum,
FwOpcodeType  opCode,
U32  cmdSeq,
Fw::CmdArgBuffer args 
)
protected

Handler base-class function for input port cmdIn.

Parameters
portNumThe port number
opCodeThe opcode
cmdSeqThe command sequence number
argsThe command argument buffer

Definition at line 1996 of file WasmSequencerComponentAc.cpp.

◆ cmdOut_out()

void Svc::WasmSequencerComponentBase::cmdOut_out ( FwIndexType  portNum,
Fw::ComBuffer data,
U32  context 
) const
protected

Invoke output port cmdOut.

Parameters
portNumThe port number
dataBuffer containing packet data
contextCall context value; meaning chosen by user

Definition at line 2530 of file WasmSequencerComponentAc.cpp.

◆ cmdResponse_out()

void Svc::WasmSequencerComponentBase::cmdResponse_out ( FwOpcodeType  opCode,
U32  cmdSeq,
Fw::CmdResponse  response 
)
protected

Emit command response.

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
responseThe command response

Definition at line 3003 of file WasmSequencerComponentAc.cpp.

◆ cmdResponseIn_handler()

virtual void Svc::WasmSequencerComponentBase::cmdResponseIn_handler ( FwIndexType  portNum,
FwOpcodeType  opCode,
U32  cmdSeq,
const Fw::CmdResponse response 
)
protectedpure virtual

Handler for input port cmdResponseIn.

Parameters
portNumThe port number
opCodeCommand Op Code
cmdSeqCommand Sequence
responseThe command response argument

◆ cmdResponseIn_handlerBase()

void Svc::WasmSequencerComponentBase::cmdResponseIn_handlerBase ( FwIndexType  portNum,
FwOpcodeType  opCode,
U32  cmdSeq,
const Fw::CmdResponse response 
)
protected

Handler base-class function for input port cmdResponseIn.

Parameters
portNumThe port number
opCodeCommand Op Code
cmdSeqCommand Sequence
responseThe command response argument

Definition at line 2242 of file WasmSequencerComponentAc.cpp.

◆ cmdResponseIn_preMsgHook()

void Svc::WasmSequencerComponentBase::cmdResponseIn_preMsgHook ( FwIndexType  portNum,
FwOpcodeType  opCode,
U32  cmdSeq,
const Fw::CmdResponse response 
)
protectedvirtual

Pre-message hook for async input port cmdResponseIn.

Parameters
portNumThe port number
opCodeCommand Op Code
cmdSeqCommand Sequence
responseThe command response argument

Definition at line 2494 of file WasmSequencerComponentAc.cpp.

◆ CONTINUE_cmdHandler()

virtual void Svc::WasmSequencerComponentBase::CONTINUE_cmdHandler ( FwOpcodeType  opCode,
U32  cmdSeq 
)
protectedpure virtual

Handler for command CONTINUE

Resume the sequence from a paused state

Parameters
opCodeThe opcode
cmdSeqThe command sequence number

◆ CONTINUE_cmdHandlerBase()

void Svc::WasmSequencerComponentBase::CONTINUE_cmdHandlerBase ( FwOpcodeType  opCode,
U32  cmdSeq,
Fw::CmdArgBuffer args 
)
protected

Base-class handler function for command CONTINUE

Resume the sequence from a paused state

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
argsThe command argument buffer

Definition at line 3341 of file WasmSequencerComponentAc.cpp.

◆ CONTINUE_preMsgHook()

void Svc::WasmSequencerComponentBase::CONTINUE_preMsgHook ( FwOpcodeType  opCode,
U32  cmdSeq 
)
protectedvirtual

Pre-message hook for command CONTINUE.

Parameters
opCodeThe opcode
cmdSeqThe command sequence number

Definition at line 3758 of file WasmSequencerComponentAc.cpp.

◆ controller_getState()

WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine::State Svc::WasmSequencerComponentBase::controller_getState ( ) const
protected

Get the state of state machine instance controller.

Definition at line 2678 of file WasmSequencerComponentAc.cpp.

◆ controller_sendSignal_cancel()

void Svc::WasmSequencerComponentBase::controller_sendSignal_cancel ( )
protected

Send signal cancel to state machine controller.

Definition at line 2759 of file WasmSequencerComponentAc.cpp.

◆ controller_sendSignal_engineFinished()

void Svc::WasmSequencerComponentBase::controller_sendSignal_engineFinished ( const Svc::WasmSequencer_RequestContext value)
protected

Send signal engineFinished to state machine controller.

Parameters
valueThe value

Definition at line 2795 of file WasmSequencerComponentAc.cpp.

◆ controller_sendSignal_invoke()

void Svc::WasmSequencerComponentBase::controller_sendSignal_invoke ( const Svc::WasmSequencer_InvokeRequest value)
protected

Send signal invoke to state machine controller.

Parameters
valueThe value

Definition at line 2720 of file WasmSequencerComponentAc.cpp.

◆ controller_sendSignal_invoked()

void Svc::WasmSequencerComponentBase::controller_sendSignal_invoked ( const Svc::WasmSequencer_RequestContext value)
protected

Send signal invoked to state machine controller.

Parameters
valueThe value

Definition at line 2733 of file WasmSequencerComponentAc.cpp.

◆ controller_sendSignal_invokeFailed()

void Svc::WasmSequencerComponentBase::controller_sendSignal_invokeFailed ( const Svc::WasmSequencer_RequestContext value)
protected

Send signal invokeFailed to state machine controller.

Parameters
valueThe value

Definition at line 2746 of file WasmSequencerComponentAc.cpp.

◆ controller_sendSignal_load()

void Svc::WasmSequencerComponentBase::controller_sendSignal_load ( const Svc::WasmSequencer_LoadRequest value)
protected

Send signal load to state machine controller.

Parameters
valueThe value

Definition at line 2707 of file WasmSequencerComponentAc.cpp.

◆ controller_sendSignal_loadFailed()

void Svc::WasmSequencerComponentBase::controller_sendSignal_loadFailed ( const Svc::WasmSequencer_RequestContext value)
protected

Send signal loadFailed to state machine controller.

Parameters
valueThe value

Definition at line 2782 of file WasmSequencerComponentAc.cpp.

◆ controller_sendSignal_loadSucceeded()

void Svc::WasmSequencerComponentBase::controller_sendSignal_loadSucceeded ( const Svc::WasmSequencer_RequestContext value)
protected

Send signal loadSucceeded to state machine controller.

Parameters
valueThe value

Definition at line 2769 of file WasmSequencerComponentAc.cpp.

◆ controller_sendSignal_run()

void Svc::WasmSequencerComponentBase::controller_sendSignal_run ( const Svc::WasmSequencer_LoadRequest value)
protected

Send signal run to state machine controller.

Parameters
valueThe value

Definition at line 2694 of file WasmSequencerComponentAc.cpp.

◆ get_checkTimers_InputPort()

Svc::InputSchedPort * Svc::WasmSequencerComponentBase::get_checkTimers_InputPort ( FwIndexType  portNum)

Get typed input port at index

Returns
checkTimers[portNum]
Parameters
portNumThe port number

Definition at line 1130 of file WasmSequencerComponentAc.cpp.

◆ get_cmdIn_InputPort()

Fw::InputCmdPort * Svc::WasmSequencerComponentBase::get_cmdIn_InputPort ( FwIndexType  portNum)

Get special input port at index

Returns
cmdIn[portNum]
Parameters
portNumThe port number

Definition at line 1111 of file WasmSequencerComponentAc.cpp.

◆ get_cmdResponseIn_InputPort()

Fw::InputCmdResponsePort * Svc::WasmSequencerComponentBase::get_cmdResponseIn_InputPort ( FwIndexType  portNum)

Get typed input port at index

Returns
cmdResponseIn[portNum]
Parameters
portNumThe port number

Definition at line 1141 of file WasmSequencerComponentAc.cpp.

◆ get_seqCancelIn_InputPort()

Svc::InputCmdSeqCancelPort * Svc::WasmSequencerComponentBase::get_seqCancelIn_InputPort ( FwIndexType  portNum)

Get typed input port at index

Returns
seqCancelIn[portNum]
Parameters
portNumThe port number

Definition at line 1152 of file WasmSequencerComponentAc.cpp.

◆ get_seqRunIn_InputPort()

Svc::InputCmdSeqInPort * Svc::WasmSequencerComponentBase::get_seqRunIn_InputPort ( FwIndexType  portNum)

Get typed input port at index

Returns
seqRunIn[portNum]
Parameters
portNumThe port number

Definition at line 1163 of file WasmSequencerComponentAc.cpp.

◆ get_serialIn_InputPort()

Fw::InputSerializePort * Svc::WasmSequencerComponentBase::get_serialIn_InputPort ( FwIndexType  portNum)

Get serial input port at index

Returns
serialIn[portNum]
Parameters
portNumThe port number

Definition at line 1193 of file WasmSequencerComponentAc.cpp.

◆ get_writeTelemetry_InputPort()

Svc::InputSchedPort * Svc::WasmSequencerComponentBase::get_writeTelemetry_InputPort ( FwIndexType  portNum)

Get typed input port at index

Returns
writeTelemetry[portNum]
Parameters
portNumThe port number

Definition at line 1174 of file WasmSequencerComponentAc.cpp.

◆ getNum_checkTimers_InputPorts()

static constexpr FwIndexType Svc::WasmSequencerComponentBase::getNum_checkTimers_InputPorts ( )
inlinestaticprotected

Get the number of checkTimers input ports

Returns
The number of checkTimers input ports

Definition at line 1067 of file WasmSequencerComponentAc.hpp.

◆ getNum_cmdIn_InputPorts()

static constexpr FwIndexType Svc::WasmSequencerComponentBase::getNum_cmdIn_InputPorts ( )
inlinestaticprotected

Get the number of cmdIn input ports

Returns
The number of cmdIn input ports

Definition at line 1054 of file WasmSequencerComponentAc.hpp.

◆ getNum_cmdOut_OutputPorts()

static constexpr FwIndexType Svc::WasmSequencerComponentBase::getNum_cmdOut_OutputPorts ( )
inlinestaticprotected

Get the number of cmdOut output ports

Returns
The number of cmdOut output ports

Definition at line 1187 of file WasmSequencerComponentAc.hpp.

◆ getNum_cmdRegOut_OutputPorts()

static constexpr FwIndexType Svc::WasmSequencerComponentBase::getNum_cmdRegOut_OutputPorts ( )
inlinestaticprotected

Get the number of cmdRegOut output ports

Returns
The number of cmdRegOut output ports

Definition at line 1121 of file WasmSequencerComponentAc.hpp.

◆ getNum_cmdResponseIn_InputPorts()

static constexpr FwIndexType Svc::WasmSequencerComponentBase::getNum_cmdResponseIn_InputPorts ( )
inlinestaticprotected

Get the number of cmdResponseIn input ports

Returns
The number of cmdResponseIn input ports

Definition at line 1074 of file WasmSequencerComponentAc.hpp.

◆ getNum_cmdResponseOut_OutputPorts()

static constexpr FwIndexType Svc::WasmSequencerComponentBase::getNum_cmdResponseOut_OutputPorts ( )
inlinestaticprotected

Get the number of cmdResponseOut output ports

Returns
The number of cmdResponseOut output ports

Definition at line 1128 of file WasmSequencerComponentAc.hpp.

◆ getNum_getParam_OutputPorts()

static constexpr FwIndexType Svc::WasmSequencerComponentBase::getNum_getParam_OutputPorts ( )
inlinestaticprotected

Get the number of getParam output ports

Returns
The number of getParam output ports

Definition at line 1194 of file WasmSequencerComponentAc.hpp.

◆ getNum_getTlmChan_OutputPorts()

static constexpr FwIndexType Svc::WasmSequencerComponentBase::getNum_getTlmChan_OutputPorts ( )
inlinestaticprotected

Get the number of getTlmChan output ports

Returns
The number of getTlmChan output ports

Definition at line 1201 of file WasmSequencerComponentAc.hpp.

◆ getNum_logOut_OutputPorts()

static constexpr FwIndexType Svc::WasmSequencerComponentBase::getNum_logOut_OutputPorts ( )
inlinestaticprotected

Get the number of logOut output ports

Returns
The number of logOut output ports

Definition at line 1135 of file WasmSequencerComponentAc.hpp.

◆ getNum_prmGet_OutputPorts()

static constexpr FwIndexType Svc::WasmSequencerComponentBase::getNum_prmGet_OutputPorts ( )
inlinestaticprotected

Get the number of prmGet output ports

Returns
The number of prmGet output ports

Definition at line 1153 of file WasmSequencerComponentAc.hpp.

◆ getNum_prmSet_OutputPorts()

static constexpr FwIndexType Svc::WasmSequencerComponentBase::getNum_prmSet_OutputPorts ( )
inlinestaticprotected

Get the number of prmSet output ports

Returns
The number of prmSet output ports

Definition at line 1160 of file WasmSequencerComponentAc.hpp.

◆ getNum_seqCancelIn_InputPorts()

static constexpr FwIndexType Svc::WasmSequencerComponentBase::getNum_seqCancelIn_InputPorts ( )
inlinestaticprotected

Get the number of seqCancelIn input ports

Returns
The number of seqCancelIn input ports

Definition at line 1081 of file WasmSequencerComponentAc.hpp.

◆ getNum_seqDoneOut_OutputPorts()

static constexpr FwIndexType Svc::WasmSequencerComponentBase::getNum_seqDoneOut_OutputPorts ( )
inlinestaticprotected

Get the number of seqDoneOut output ports

Returns
The number of seqDoneOut output ports

Definition at line 1208 of file WasmSequencerComponentAc.hpp.

◆ getNum_seqRunIn_InputPorts()

static constexpr FwIndexType Svc::WasmSequencerComponentBase::getNum_seqRunIn_InputPorts ( )
inlinestaticprotected

Get the number of seqRunIn input ports

Returns
The number of seqRunIn input ports

Definition at line 1088 of file WasmSequencerComponentAc.hpp.

◆ getNum_seqStartOut_OutputPorts()

static constexpr FwIndexType Svc::WasmSequencerComponentBase::getNum_seqStartOut_OutputPorts ( )
inlinestaticprotected

Get the number of seqStartOut output ports

Returns
The number of seqStartOut output ports

Definition at line 1215 of file WasmSequencerComponentAc.hpp.

◆ getNum_serialIn_InputPorts()

static constexpr FwIndexType Svc::WasmSequencerComponentBase::getNum_serialIn_InputPorts ( )
inlinestaticprotected

Get the number of serialIn input ports

Returns
The number of serialIn input ports

Definition at line 1108 of file WasmSequencerComponentAc.hpp.

◆ getNum_serialOut_OutputPorts()

static constexpr FwIndexType Svc::WasmSequencerComponentBase::getNum_serialOut_OutputPorts ( )
inlinestaticprotected

Get the number of serialOut output ports

Returns
The number of serialOut output ports

Definition at line 1228 of file WasmSequencerComponentAc.hpp.

◆ getNum_timeCaller_OutputPorts()

static constexpr FwIndexType Svc::WasmSequencerComponentBase::getNum_timeCaller_OutputPorts ( )
inlinestaticprotected

Get the number of timeCaller output ports

Returns
The number of timeCaller output ports

Definition at line 1167 of file WasmSequencerComponentAc.hpp.

◆ getNum_tlmOut_OutputPorts()

static constexpr FwIndexType Svc::WasmSequencerComponentBase::getNum_tlmOut_OutputPorts ( )
inlinestaticprotected

Get the number of tlmOut output ports

Returns
The number of tlmOut output ports

Definition at line 1174 of file WasmSequencerComponentAc.hpp.

◆ getNum_writeTelemetry_InputPorts()

static constexpr FwIndexType Svc::WasmSequencerComponentBase::getNum_writeTelemetry_InputPorts ( )
inlinestaticprotected

Get the number of writeTelemetry input ports

Returns
The number of writeTelemetry input ports

Definition at line 1095 of file WasmSequencerComponentAc.hpp.

◆ getParam_out()

Fw::ParamValid Svc::WasmSequencerComponentBase::getParam_out ( FwIndexType  portNum,
FwPrmIdType  id,
Fw::ParamBuffer val 
) const
protected

Invoke output port getParam.

Parameters
portNumThe port number
idParameter ID
valBuffer containing serialized parameter value. Unmodified if param not found.

Definition at line 2552 of file WasmSequencerComponentAc.cpp.

◆ getTime()

Fw::Time Svc::WasmSequencerComponentBase::getTime ( ) const
protected

Get the time

\return The current time

Definition at line 8694 of file WasmSequencerComponentAc.cpp.

◆ getTlmChan_out()

Fw::TlmValid Svc::WasmSequencerComponentBase::getTlmChan_out ( FwIndexType  portNum,
FwChanIdType  id,
Fw::Time timeTag,
Fw::TlmBuffer val 
) const
protected

Invoke output port getTlmChan.

Parameters
portNumThe port number
idTelemetry Channel ID
timeTagTime Tag
valBuffer containing serialized telemetry value. Size set to 0 if channel not found, or if no value has been received for this channel yet.

Definition at line 2574 of file WasmSequencerComponentAc.cpp.

◆ GLOBAL_GET_cmdHandler()

virtual void Svc::WasmSequencerComponentBase::GLOBAL_GET_cmdHandler ( FwOpcodeType  opCode,
U32  cmdSeq,
const Fw::CmdStringArg moduleName,
const Fw::CmdStringArg name 
)
protectedpure virtual

Handler for command GLOBAL_GET

Get the current value of a global variable and emit an event Command fails if the module is not found or the global is not exported

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
moduleNameName of the module to get global for
nameName of the global

◆ GLOBAL_GET_cmdHandlerBase()

void Svc::WasmSequencerComponentBase::GLOBAL_GET_cmdHandlerBase ( FwOpcodeType  opCode,
U32  cmdSeq,
Fw::CmdArgBuffer args 
)
protected

Base-class handler function for command GLOBAL_GET

Get the current value of a global variable and emit an event Command fails if the module is not found or the global is not exported

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
argsThe command argument buffer

Definition at line 3636 of file WasmSequencerComponentAc.cpp.

◆ GLOBAL_GET_preMsgHook()

void Svc::WasmSequencerComponentBase::GLOBAL_GET_preMsgHook ( FwOpcodeType  opCode,
U32  cmdSeq 
)
protectedvirtual

Pre-message hook for command GLOBAL_GET.

Parameters
opCodeThe opcode
cmdSeqThe command sequence number

Definition at line 3813 of file WasmSequencerComponentAc.cpp.

◆ GLOBAL_SET_F32_cmdHandler()

virtual void Svc::WasmSequencerComponentBase::GLOBAL_SET_F32_cmdHandler ( FwOpcodeType  opCode,
U32  cmdSeq,
const Fw::CmdStringArg moduleName,
const Fw::CmdStringArg name,
F32  value 
)
protectedpure virtual

Handler for command GLOBAL_SET_F32

Set a global variable to a given f32 value. Command fails if the module is not found, global is not exported, mutable, or of f32 type

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
moduleNameName of the module to set global for
nameName of the global
valueValue to set global to

◆ GLOBAL_SET_F32_cmdHandlerBase()

void Svc::WasmSequencerComponentBase::GLOBAL_SET_F32_cmdHandlerBase ( FwOpcodeType  opCode,
U32  cmdSeq,
Fw::CmdArgBuffer args 
)
protected

Base-class handler function for command GLOBAL_SET_F32

Set a global variable to a given f32 value. Command fails if the module is not found, global is not exported, mutable, or of f32 type

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
argsThe command argument buffer

Definition at line 3518 of file WasmSequencerComponentAc.cpp.

◆ GLOBAL_SET_F32_preMsgHook()

void Svc::WasmSequencerComponentBase::GLOBAL_SET_F32_preMsgHook ( FwOpcodeType  opCode,
U32  cmdSeq 
)
protectedvirtual

Pre-message hook for command GLOBAL_SET_F32.

Parameters
opCodeThe opcode
cmdSeqThe command sequence number

Definition at line 3791 of file WasmSequencerComponentAc.cpp.

◆ GLOBAL_SET_F64_cmdHandler()

virtual void Svc::WasmSequencerComponentBase::GLOBAL_SET_F64_cmdHandler ( FwOpcodeType  opCode,
U32  cmdSeq,
const Fw::CmdStringArg moduleName,
const Fw::CmdStringArg name,
F64  value 
)
protectedpure virtual

Handler for command GLOBAL_SET_F64

Set a global variable to a given f64 value. Command fails if the module is not found, global is not exported, mutable, or of f64 type

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
moduleNameName of the module to set global for
nameName of the global
valueValue to set global to

◆ GLOBAL_SET_F64_cmdHandlerBase()

void Svc::WasmSequencerComponentBase::GLOBAL_SET_F64_cmdHandlerBase ( FwOpcodeType  opCode,
U32  cmdSeq,
Fw::CmdArgBuffer args 
)
protected

Base-class handler function for command GLOBAL_SET_F64

Set a global variable to a given f64 value. Command fails if the module is not found, global is not exported, mutable, or of f64 type

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
argsThe command argument buffer

Definition at line 3577 of file WasmSequencerComponentAc.cpp.

◆ GLOBAL_SET_F64_preMsgHook()

void Svc::WasmSequencerComponentBase::GLOBAL_SET_F64_preMsgHook ( FwOpcodeType  opCode,
U32  cmdSeq 
)
protectedvirtual

Pre-message hook for command GLOBAL_SET_F64.

Parameters
opCodeThe opcode
cmdSeqThe command sequence number

Definition at line 3802 of file WasmSequencerComponentAc.cpp.

◆ GLOBAL_SET_I32_cmdHandler()

virtual void Svc::WasmSequencerComponentBase::GLOBAL_SET_I32_cmdHandler ( FwOpcodeType  opCode,
U32  cmdSeq,
const Fw::CmdStringArg moduleName,
const Fw::CmdStringArg name,
I32  value 
)
protectedpure virtual

Handler for command GLOBAL_SET_I32

Set a global variable to a given i32 value. Command fails if the module is not found, global is not exported, mutable, or of i32 type

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
moduleNameName of the module to set global for
nameName of the global
valueValue to set global to

◆ GLOBAL_SET_I32_cmdHandlerBase()

void Svc::WasmSequencerComponentBase::GLOBAL_SET_I32_cmdHandlerBase ( FwOpcodeType  opCode,
U32  cmdSeq,
Fw::CmdArgBuffer args 
)
protected

Base-class handler function for command GLOBAL_SET_I32

Set a global variable to a given i32 value. Command fails if the module is not found, global is not exported, mutable, or of i32 type

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
argsThe command argument buffer

Definition at line 3400 of file WasmSequencerComponentAc.cpp.

◆ GLOBAL_SET_I32_preMsgHook()

void Svc::WasmSequencerComponentBase::GLOBAL_SET_I32_preMsgHook ( FwOpcodeType  opCode,
U32  cmdSeq 
)
protectedvirtual

Pre-message hook for command GLOBAL_SET_I32.

Parameters
opCodeThe opcode
cmdSeqThe command sequence number

Definition at line 3769 of file WasmSequencerComponentAc.cpp.

◆ GLOBAL_SET_I64_cmdHandler()

virtual void Svc::WasmSequencerComponentBase::GLOBAL_SET_I64_cmdHandler ( FwOpcodeType  opCode,
U32  cmdSeq,
const Fw::CmdStringArg moduleName,
const Fw::CmdStringArg name,
I64  value 
)
protectedpure virtual

Handler for command GLOBAL_SET_I64

Set a global variable to a given i64 value. Command fails if the module is not found, global is not exported, mutable, or of i64 type

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
moduleNameName of the module to set global for
nameName of the global
valueValue to set global to

◆ GLOBAL_SET_I64_cmdHandlerBase()

void Svc::WasmSequencerComponentBase::GLOBAL_SET_I64_cmdHandlerBase ( FwOpcodeType  opCode,
U32  cmdSeq,
Fw::CmdArgBuffer args 
)
protected

Base-class handler function for command GLOBAL_SET_I64

Set a global variable to a given i64 value. Command fails if the module is not found, global is not exported, mutable, or of i64 type

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
argsThe command argument buffer

Definition at line 3459 of file WasmSequencerComponentAc.cpp.

◆ GLOBAL_SET_I64_preMsgHook()

void Svc::WasmSequencerComponentBase::GLOBAL_SET_I64_preMsgHook ( FwOpcodeType  opCode,
U32  cmdSeq 
)
protectedvirtual

Pre-message hook for command GLOBAL_SET_I64.

Parameters
opCodeThe opcode
cmdSeqThe command sequence number

Definition at line 3780 of file WasmSequencerComponentAc.cpp.

◆ init()

void Svc::WasmSequencerComponentBase::init ( FwSizeType  queueDepth,
FwEnumStoreType  instance = 0 
)

Initialize WasmSequencerComponentBase object.

Parameters
queueDepthThe queue depth
instanceThe instance number

Definition at line 605 of file WasmSequencerComponentAc.cpp.

◆ interpreter_getState()

WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine::State Svc::WasmSequencerComponentBase::interpreter_getState ( ) const
protected

Get the state of state machine instance interpreter.

Definition at line 2684 of file WasmSequencerComponentAc.cpp.

◆ interpreter_sendSignal_cancel()

void Svc::WasmSequencerComponentBase::interpreter_sendSignal_cancel ( )
protected

Send signal cancel to state machine interpreter.

Definition at line 2831 of file WasmSequencerComponentAc.cpp.

◆ interpreter_sendSignal_checkTimers()

void Svc::WasmSequencerComponentBase::interpreter_sendSignal_checkTimers ( )
protected

Send signal checkTimers to state machine interpreter.

Definition at line 2864 of file WasmSequencerComponentAc.cpp.

◆ interpreter_sendSignal_cmd_CONTINUE()

void Svc::WasmSequencerComponentBase::interpreter_sendSignal_cmd_CONTINUE ( )
protected

Send signal cmd_CONTINUE to state machine interpreter.

Definition at line 2808 of file WasmSequencerComponentAc.cpp.

◆ interpreter_sendSignal_cmdCancel()

void Svc::WasmSequencerComponentBase::interpreter_sendSignal_cmdCancel ( const Svc::WasmSequencer_CommandRequest value)
protected

Send signal cmdCancel to state machine interpreter.

Parameters
valueThe value

Definition at line 2818 of file WasmSequencerComponentAc.cpp.

◆ interpreter_sendSignal_entered()

void Svc::WasmSequencerComponentBase::interpreter_sendSignal_entered ( )
protected

Send signal entered to state machine interpreter.

Definition at line 2841 of file WasmSequencerComponentAc.cpp.

◆ interpreter_sendSignal_hostResponseFailure()

void Svc::WasmSequencerComponentBase::interpreter_sendSignal_hostResponseFailure ( )
protected

Send signal hostResponseFailure to state machine interpreter.

Definition at line 2897 of file WasmSequencerComponentAc.cpp.

◆ interpreter_sendSignal_hostResponseTimeIncomparable()

void Svc::WasmSequencerComponentBase::interpreter_sendSignal_hostResponseTimeIncomparable ( )
protected

Send signal hostResponseTimeIncomparable to state machine interpreter.

Definition at line 2920 of file WasmSequencerComponentAc.cpp.

◆ interpreter_sendSignal_hostResponseTimeout()

void Svc::WasmSequencerComponentBase::interpreter_sendSignal_hostResponseTimeout ( )
protected

Send signal hostResponseTimeout to state machine interpreter.

Definition at line 2930 of file WasmSequencerComponentAc.cpp.

◆ interpreter_sendSignal_hostResponseUnexpected()

void Svc::WasmSequencerComponentBase::interpreter_sendSignal_hostResponseUnexpected ( const Svc::WasmSequencer_HostFunction value)
protected

Send signal hostResponseUnexpected to state machine interpreter.

Parameters
valueThe value

Definition at line 2907 of file WasmSequencerComponentAc.cpp.

◆ interpreter_sendSignal_hostResume()

void Svc::WasmSequencerComponentBase::interpreter_sendSignal_hostResume ( )
protected

Send signal hostResume to state machine interpreter.

Definition at line 2874 of file WasmSequencerComponentAc.cpp.

◆ interpreter_sendSignal_hostResumeI32()

void Svc::WasmSequencerComponentBase::interpreter_sendSignal_hostResumeI32 ( I32  value)
protected

Send signal hostResumeI32 to state machine interpreter.

Parameters
valueThe value

Definition at line 2884 of file WasmSequencerComponentAc.cpp.

◆ interpreter_sendSignal_interpreterFinished()

void Svc::WasmSequencerComponentBase::interpreter_sendSignal_interpreterFinished ( I32  value)
protected

Send signal interpreterFinished to state machine interpreter.

Parameters
valueThe value

Definition at line 2953 of file WasmSequencerComponentAc.cpp.

◆ interpreter_sendSignal_interpreterHostFunctionNeedsPause()

void Svc::WasmSequencerComponentBase::interpreter_sendSignal_interpreterHostFunctionNeedsPause ( )
protected

Send signal interpreterHostFunctionNeedsPause to state machine interpreter.

Definition at line 2989 of file WasmSequencerComponentAc.cpp.

◆ interpreter_sendSignal_interpreterOutOfFuel()

void Svc::WasmSequencerComponentBase::interpreter_sendSignal_interpreterOutOfFuel ( )
protected

Send signal interpreterOutOfFuel to state machine interpreter.

Definition at line 2979 of file WasmSequencerComponentAc.cpp.

◆ interpreter_sendSignal_interpreterTrap()

void Svc::WasmSequencerComponentBase::interpreter_sendSignal_interpreterTrap ( const Svc::WasmSequencer_TrapReason value)
protected

Send signal interpreterTrap to state machine interpreter.

Parameters
valueThe value

Definition at line 2966 of file WasmSequencerComponentAc.cpp.

◆ interpreter_sendSignal_run()

void Svc::WasmSequencerComponentBase::interpreter_sendSignal_run ( const Svc::WasmSequencer_RequestContext value)
protected

Send signal run to state machine interpreter.

Parameters
valueThe value

Definition at line 2851 of file WasmSequencerComponentAc.cpp.

◆ interpreter_sendSignal_serialInMessage()

void Svc::WasmSequencerComponentBase::interpreter_sendSignal_serialInMessage ( const FwIndexType value)
protected

Send signal serialInMessage to state machine interpreter.

Parameters
valueThe value

Definition at line 2940 of file WasmSequencerComponentAc.cpp.

◆ INVOKE_cmdHandler()

virtual void Svc::WasmSequencerComponentBase::INVOKE_cmdHandler ( FwOpcodeType  opCode,
U32  cmdSeq,
const Fw::CmdStringArg module,
const Svc::BlockState block,
const Svc::SeqArgs seqArgs 
)
protectedpure virtual

Handler for command INVOKE

Invoke a main function from a loaded module

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
moduleName of the module to invoke a function from
blockBlock until sequence has finished running
seqArgsArguments to invoke the sequence entrypoint with

◆ INVOKE_cmdHandlerBase()

void Svc::WasmSequencerComponentBase::INVOKE_cmdHandlerBase ( FwOpcodeType  opCode,
U32  cmdSeq,
Fw::CmdArgBuffer args 
)
protected

Base-class handler function for command INVOKE

Invoke a main function from a loaded module

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
argsThe command argument buffer

Definition at line 3138 of file WasmSequencerComponentAc.cpp.

◆ INVOKE_preMsgHook()

void Svc::WasmSequencerComponentBase::INVOKE_preMsgHook ( FwOpcodeType  opCode,
U32  cmdSeq 
)
protectedvirtual

Pre-message hook for command INVOKE.

Parameters
opCodeThe opcode
cmdSeqThe command sequence number

Definition at line 3725 of file WasmSequencerComponentAc.cpp.

◆ isConnected_cmdOut_OutputPort()

bool Svc::WasmSequencerComponentBase::isConnected_cmdOut_OutputPort ( FwIndexType  portNum) const
protected

Check whether port cmdOut is connected

Returns
Whether port cmdOut is connected
Parameters
portNumThe port number

Definition at line 1914 of file WasmSequencerComponentAc.cpp.

◆ isConnected_cmdRegOut_OutputPort()

bool Svc::WasmSequencerComponentBase::isConnected_cmdRegOut_OutputPort ( FwIndexType  portNum) const
protected

Check whether port cmdRegOut is connected

Returns
Whether port cmdRegOut is connected
Parameters
portNumThe port number

Definition at line 1814 of file WasmSequencerComponentAc.cpp.

◆ isConnected_cmdResponseOut_OutputPort()

bool Svc::WasmSequencerComponentBase::isConnected_cmdResponseOut_OutputPort ( FwIndexType  portNum) const
protected

Check whether port cmdResponseOut is connected

Returns
Whether port cmdResponseOut is connected
Parameters
portNumThe port number

Definition at line 1825 of file WasmSequencerComponentAc.cpp.

◆ isConnected_getParam_OutputPort()

bool Svc::WasmSequencerComponentBase::isConnected_getParam_OutputPort ( FwIndexType  portNum) const
protected

Check whether port getParam is connected

Returns
Whether port getParam is connected
Parameters
portNumThe port number

Definition at line 1925 of file WasmSequencerComponentAc.cpp.

◆ isConnected_getTlmChan_OutputPort()

bool Svc::WasmSequencerComponentBase::isConnected_getTlmChan_OutputPort ( FwIndexType  portNum) const
protected

Check whether port getTlmChan is connected

Returns
Whether port getTlmChan is connected
Parameters
portNumThe port number

Definition at line 1936 of file WasmSequencerComponentAc.cpp.

◆ isConnected_logOut_OutputPort()

bool Svc::WasmSequencerComponentBase::isConnected_logOut_OutputPort ( FwIndexType  portNum) const
protected

Check whether port logOut is connected

Returns
Whether port logOut is connected
Parameters
portNumThe port number

Definition at line 1836 of file WasmSequencerComponentAc.cpp.

◆ isConnected_prmGet_OutputPort()

bool Svc::WasmSequencerComponentBase::isConnected_prmGet_OutputPort ( FwIndexType  portNum) const
protected

Check whether port prmGet is connected

Returns
Whether port prmGet is connected
Parameters
portNumThe port number

Definition at line 1862 of file WasmSequencerComponentAc.cpp.

◆ isConnected_prmSet_OutputPort()

bool Svc::WasmSequencerComponentBase::isConnected_prmSet_OutputPort ( FwIndexType  portNum) const
protected

Check whether port prmSet is connected

Returns
Whether port prmSet is connected
Parameters
portNumThe port number

Definition at line 1873 of file WasmSequencerComponentAc.cpp.

◆ isConnected_seqDoneOut_OutputPort()

bool Svc::WasmSequencerComponentBase::isConnected_seqDoneOut_OutputPort ( FwIndexType  portNum) const
protected

Check whether port seqDoneOut is connected

Returns
Whether port seqDoneOut is connected
Parameters
portNumThe port number

Definition at line 1947 of file WasmSequencerComponentAc.cpp.

◆ isConnected_seqStartOut_OutputPort()

bool Svc::WasmSequencerComponentBase::isConnected_seqStartOut_OutputPort ( FwIndexType  portNum) const
protected

Check whether port seqStartOut is connected

Returns
Whether port seqStartOut is connected
Parameters
portNumThe port number

Definition at line 1958 of file WasmSequencerComponentAc.cpp.

◆ isConnected_serialOut_OutputPort()

bool Svc::WasmSequencerComponentBase::isConnected_serialOut_OutputPort ( FwIndexType  portNum) const
protected

Check whether port serialOut is connected

Returns
Whether port serialOut is connected
Parameters
portNumThe port number

Definition at line 1977 of file WasmSequencerComponentAc.cpp.

◆ isConnected_timeCaller_OutputPort()

bool Svc::WasmSequencerComponentBase::isConnected_timeCaller_OutputPort ( FwIndexType  portNum) const
protected

Check whether port timeCaller is connected

Returns
Whether port timeCaller is connected
Parameters
portNumThe port number

Definition at line 1884 of file WasmSequencerComponentAc.cpp.

◆ isConnected_tlmOut_OutputPort()

bool Svc::WasmSequencerComponentBase::isConnected_tlmOut_OutputPort ( FwIndexType  portNum) const
protected

Check whether port tlmOut is connected

Returns
Whether port tlmOut is connected
Parameters
portNumThe port number

Definition at line 1895 of file WasmSequencerComponentAc.cpp.

◆ LOAD_cmdHandler()

virtual void Svc::WasmSequencerComponentBase::LOAD_cmdHandler ( FwOpcodeType  opCode,
U32  cmdSeq,
const Fw::CmdStringArg fileName,
const Fw::CmdStringArg name 
)
protectedpure virtual

Handler for command LOAD

Loads and validates a WebAssembly module into the store under the given name. Naming the module lets its exports be referenced by other modules and lets INVOKE, GLOBAL_GET and GLOBAL_SET address it. Use an empty name for a single, standalone module. The name must not conflict with a previously loaded module.

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
fileNameThe name of the sequence file
nameWebAssembly module name (empty for a single unnamed module)

◆ LOAD_cmdHandlerBase()

void Svc::WasmSequencerComponentBase::LOAD_cmdHandlerBase ( FwOpcodeType  opCode,
U32  cmdSeq,
Fw::CmdArgBuffer args 
)
protected

Base-class handler function for command LOAD

Loads and validates a WebAssembly module into the store under the given name. Naming the module lets its exports be referenced by other modules and lets INVOKE, GLOBAL_GET and GLOBAL_SET address it. Use an empty name for a single, standalone module. The name must not conflict with a previously loaded module.

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
argsThe command argument buffer

Definition at line 3079 of file WasmSequencerComponentAc.cpp.

◆ LOAD_preMsgHook()

void Svc::WasmSequencerComponentBase::LOAD_preMsgHook ( FwOpcodeType  opCode,
U32  cmdSeq 
)
protectedvirtual

Pre-message hook for command LOAD.

Parameters
opCodeThe opcode
cmdSeqThe command sequence number

Definition at line 3714 of file WasmSequencerComponentAc.cpp.

◆ loadParameters()

void Svc::WasmSequencerComponentBase::loadParameters ( )

Load the parameters from a parameter source.

Connect the parameter first

Definition at line 1694 of file WasmSequencerComponentAc.cpp.

◆ lock()

void Svc::WasmSequencerComponentBase::lock ( )
protectedvirtual

Lock the guarded mutex.

Definition at line 8714 of file WasmSequencerComponentAc.cpp.

◆ log_ACTIVITY_HI_LogActivityHi()

void Svc::WasmSequencerComponentBase::log_ACTIVITY_HI_LogActivityHi ( const Fw::StringBase msg) const
protected

Log event LogActivityHi

An ACTIVITY_HI event emitted by the guest program

Definition at line 8035 of file WasmSequencerComponentAc.cpp.

◆ log_ACTIVITY_HI_SequenceCancelled()

void Svc::WasmSequencerComponentBase::log_ACTIVITY_HI_SequenceCancelled ( Svc::WasmSequencer_ModuleIdx  index,
const Svc::WasmSequencer_SequencePhase phase 
) const
protected

Log event SequenceCancelled

The sequence was cancelled

Definition at line 6537 of file WasmSequencerComponentAc.cpp.

◆ log_ACTIVITY_HI_SequencePaused()

void Svc::WasmSequencerComponentBase::log_ACTIVITY_HI_SequencePaused ( ) const
protected

Log event SequencePaused

Execution was paused at a breakpoint

Definition at line 7158 of file WasmSequencerComponentAc.cpp.

◆ log_ACTIVITY_HI_SequenceStarting()

void Svc::WasmSequencerComponentBase::log_ACTIVITY_HI_SequenceStarting ( Svc::WasmSequencer_ModuleIdx  index) const
protected

Log event SequenceStarting

A sequence is starting after the main entrypoint was invoked

Definition at line 6373 of file WasmSequencerComponentAc.cpp.

◆ log_ACTIVITY_HI_SequenceSucceeded()

void Svc::WasmSequencerComponentBase::log_ACTIVITY_HI_SequenceSucceeded ( Svc::WasmSequencer_ModuleIdx  index) const
protected

Log event SequenceSucceeded

The interpreter ran a program to completion

Definition at line 6455 of file WasmSequencerComponentAc.cpp.

◆ log_ACTIVITY_LO_GlobalValueF32()

void Svc::WasmSequencerComponentBase::log_ACTIVITY_LO_GlobalValueF32 ( const Fw::StringBase module_name,
const Fw::StringBase globalName,
F32  value 
) const
protected

Log event GlobalValueF32.

Definition at line 4692 of file WasmSequencerComponentAc.cpp.

◆ log_ACTIVITY_LO_GlobalValueF64()

void Svc::WasmSequencerComponentBase::log_ACTIVITY_LO_GlobalValueF64 ( const Fw::StringBase module_name,
const Fw::StringBase globalName,
F64  value 
) const
protected

Log event GlobalValueF64.

Definition at line 4798 of file WasmSequencerComponentAc.cpp.

◆ log_ACTIVITY_LO_GlobalValueI32()

void Svc::WasmSequencerComponentBase::log_ACTIVITY_LO_GlobalValueI32 ( const Fw::StringBase module_name,
const Fw::StringBase globalName,
I32  value 
) const
protected

Log event GlobalValueI32.

Definition at line 4480 of file WasmSequencerComponentAc.cpp.

◆ log_ACTIVITY_LO_GlobalValueI64()

void Svc::WasmSequencerComponentBase::log_ACTIVITY_LO_GlobalValueI64 ( const Fw::StringBase module_name,
const Fw::StringBase globalName,
I64  value 
) const
protected

Log event GlobalValueI64.

Definition at line 4586 of file WasmSequencerComponentAc.cpp.

◆ log_ACTIVITY_LO_LogActivityLo()

void Svc::WasmSequencerComponentBase::log_ACTIVITY_LO_LogActivityLo ( const Fw::StringBase msg) const
protected

Log event LogActivityLo

An ACTIVITY_LO event emitted by the guest program

Definition at line 8110 of file WasmSequencerComponentAc.cpp.

◆ log_DIAGNOSTIC_LogDiagnostic()

void Svc::WasmSequencerComponentBase::log_DIAGNOSTIC_LogDiagnostic ( const Fw::StringBase msg) const
protected

Log event LogDiagnostic

A DIAGNOSTIC event emitted by the guest program

Definition at line 8185 of file WasmSequencerComponentAc.cpp.

◆ log_DIAGNOSTIC_StoreAllocationSucceeded()

void Svc::WasmSequencerComponentBase::log_DIAGNOSTIC_StoreAllocationSucceeded ( U16  moduleCount) const
protected

Log event StoreAllocationSucceeded

The interpreter store was allocated with capacity for the given number of modules

Definition at line 3828 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_BufferTooLarge()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_BufferTooLarge ( const Svc::WasmSequencer_HostFunction host_function,
U32  size,
U32  maxSize 
) const
protected

Log event BufferTooLarge

A guest host function supplied a buffer larger than the host maximum for that call

Definition at line 5495 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_BufferTooSmall()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_BufferTooSmall ( const Svc::WasmSequencer_HostFunction host_function,
U32  size,
U32  valueSize 
) const
protected

Log event BufferTooSmall

A guest host function supplied a buffer too small to hold the host value being returned

Definition at line 5618 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_FileOpenError()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_FileOpenError ( const Fw::StringBase fileName,
I32  status 
) const
protected

Log event FileOpenError

Failed to open the requested Wasm module file

Definition at line 4904 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_HostFunctionInvalidId()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_HostFunctionInvalidId ( const Svc::WasmSequencer_HostFunction host_function,
I64  id 
) const
protected

Log event HostFunctionInvalidId

A guest host function supplied a 64-bit id (telemetry channel or parameter id) that does not fit in the narrower id type used by the framework. Casting it directly would silently alias a different, valid id, so the request is rejected rather than truncated.

Definition at line 7393 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_HostFunctionInvalidPointer()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_HostFunctionInvalidPointer ( const Svc::WasmSequencer_HostFunction host_function,
const Svc::WasmSequencer_Status code 
) const
protected

Log event HostFunctionInvalidPointer.

Definition at line 5741 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_HostFunctionInvalidPort()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_HostFunctionInvalidPort ( const Svc::WasmSequencer_HostFunction host_function,
I32  index,
U32  numPorts 
) const
protected

Log event HostFunctionInvalidPort

A guest serial port host function requested a port index outside the configured range

Definition at line 5930 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_HostFunctionInvalidSeverity()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_HostFunctionInvalidSeverity ( I32  raw,
const Fw::StringBase msg 
) const
protected

Log event HostFunctionInvalidSeverity

The guest requested an event at a severity that is not permitted for guest programs (an out-of-range id, or FATAL/COMMAND which are reserved for the host). The guest message is preserved and reported here at WARNING_HI.

Definition at line 6278 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_InvalidBlockingTypeValue()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_InvalidBlockingTypeValue ( I32  invalidValue) const
protected

Log event InvalidBlockingTypeValue.

Definition at line 5848 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_InvalidModuleEntrypoint()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_InvalidModuleEntrypoint ( Svc::WasmSequencer_ModuleIdx  moduleIdx,
const Svc::WasmSequencer_Status status 
) const
protected

Log event InvalidModuleEntrypoint.

Definition at line 7780 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_LogWarningHi()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_LogWarningHi ( const Fw::StringBase msg) const
protected

Log event LogWarningHi

A WARNING_HI event emitted by the guest program

Definition at line 7885 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_ModuleLoadFailed()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_ModuleLoadFailed ( const Svc::WasmSequencer_Status status) const
protected

Log event ModuleLoadFailed

A module failed to decode/validate while loading

Definition at line 5175 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_ModuleMainInvokeFailed()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_ModuleMainInvokeFailed ( const Svc::WasmSequencer_Status status) const
protected

Log event ModuleMainInvokeFailed

Failed to invoke a module's main entrypoint

Definition at line 5260 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_ModuleStartInvokeFailed()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_ModuleStartInvokeFailed ( const Svc::WasmSequencer_Status status) const
protected

Log event ModuleStartInvokeFailed

Failed to invoke a module's start function

Definition at line 5345 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_SequenceExited()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_SequenceExited ( Svc::WasmSequencer_ModuleIdx  index,
const Svc::WasmSequencer_SequencePhase phase,
I32  code 
) const
protected

Log event SequenceExited

The sequence finished with a non-zero code: the guest returned a non-zero value from main, or called fprime.exit with a non-zero code

Definition at line 6642 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_SequenceFilePathNotContained()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_SequenceFilePathNotContained ( const Fw::StringBase baseDir,
const Fw::StringBase fileName 
) const
protected

Log event SequenceFilePathNotContained

A ground-supplied sequence file name contained a ".." path-traversal component while SEQ_BASE_DIR was configured, so it could escape the base directory. The load is rejected rather than opening a path outside the configured base dir.

Definition at line 5087 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_SequenceFilePathTooLong()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_SequenceFilePathTooLong ( const Fw::StringBase baseDir,
const Fw::StringBase fileName 
) const
protected

Log event SequenceFilePathTooLong

The SEQ_BASE_DIR base directory joined with the requested sequence file path exceeds the file-path buffer; the load will fail to open the truncated path.

Definition at line 4999 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_SequenceHostFailure()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_SequenceHostFailure ( Svc::WasmSequencer_ModuleIdx  index,
const Svc::WasmSequencer_SequencePhase phase,
const Svc::WasmSequencer_ExitReason reason,
const Svc::WasmSequencer_HostFunction hostFunction 
) const
protected

Log event SequenceHostFailure

A host function the sequence was awaiting failed: an error reply, a reply timeout, an unexpected reply, or an incomparable timer

Definition at line 7013 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_SequencePanic()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_SequencePanic ( Svc::WasmSequencer_ModuleIdx  index,
const Svc::WasmSequencer_SequencePhase phase,
I32  code 
) const
protected

Log event SequencePanic

The guest called fprime.panic

Definition at line 6765 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_SequenceTrapped()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_SequenceTrapped ( Svc::WasmSequencer_ModuleIdx  index,
const Svc::WasmSequencer_SequencePhase phase,
const Svc::WasmSequencer_TrapReason reason 
) const
protected

Log event SequenceTrapped

The interpreter aborted the sequence with a byte-code trap

Definition at line 6888 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_SerialInFrameTooLarge()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_SerialInFrameTooLarge ( U32  portIndex,
U32  size,
U32  maxSize 
) const
protected

Log event SerialInFrameTooLarge

An inbound serial frame was larger than the receiving queue could ever hold and was dropped. serialIn is fed by external hardware/ground data, so an oversized frame is rejected here rather than asserting on flight software.

Definition at line 6158 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_SerialPortSendFailed()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_SerialPortSendFailed ( const Svc::WasmSequencer_HostFunction host_function,
I32  status 
) const
protected

Log event SerialPortSendFailed

A guest serial port payload could not be serialized onto the serial output port (the receiving port rejected the guest-supplied bytes)

Definition at line 6053 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_SleepDurationTooLarge()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_SleepDurationTooLarge ( const Svc::WasmSequencer_HostFunction host_function,
U64  micros 
) const
protected

Log event SleepDurationTooLarge

The guest requested a sleep whose duration (in microseconds) does not fit the host timer representation (its whole-seconds part overflows U32)

Definition at line 7288 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_TooManyBlockingCommands()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_TooManyBlockingCommands ( ) const
protected

Log event TooManyBlockingCommands

A blocking command could not be queued because too many commands are already waiting on the sequencer to finish

Definition at line 5430 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_HI_WrongCmdResponseIndex()

void Svc::WasmSequencerComponentBase::log_WARNING_HI_WrongCmdResponseIndex ( FwOpcodeType  opcode,
const Fw::CmdResponse response,
U16  actualCmdIdx,
U16  expectedCmdIdx 
) const
protected

Log event WrongCmdResponseIndex

A command response arrived for the correct opcode from this sequence, but for a different dispatch instance than the one currently being awaited.

Definition at line 7639 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_LO_CmdResponseFromOldSequence()

void Svc::WasmSequencerComponentBase::log_WARNING_LO_CmdResponseFromOldSequence ( FwOpcodeType  opcode,
const Fw::CmdResponse response,
U16  oldSequenceIdx,
U16  currentSequenceIdx 
) const
protected

Log event CmdResponseFromOldSequence

A command response arrived carrying a context (cmdUid) from a previous sequence run. Reported (not failed) because a late reply after CANCEL is nominal.

Definition at line 7498 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_LO_ControllerBusy()

void Svc::WasmSequencerComponentBase::log_WARNING_LO_ControllerBusy ( const Svc::WasmSequencer_SignalSource signalSource,
const Svc::WasmSequencer_ControllerStateMachine_State state 
) const
protected

Log event ControllerBusy

A command was issued in a state where it is not valid

Definition at line 3975 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_LO_ControllerCannotInvoke()

void Svc::WasmSequencerComponentBase::log_WARNING_LO_ControllerCannotInvoke ( ) const
protected

Log event ControllerCannotInvoke

A command was issued in a state where it is not valid

Definition at line 3910 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_LO_GlobalGetFailed()

void Svc::WasmSequencerComponentBase::log_WARNING_LO_GlobalGetFailed ( const Fw::StringBase module_name,
const Fw::StringBase globalName,
const Svc::WasmSequencer_Status reason 
) const
protected

Log event GlobalGetFailed.

Definition at line 4371 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_LO_GlobalSetFailed()

void Svc::WasmSequencerComponentBase::log_WARNING_LO_GlobalSetFailed ( const Fw::StringBase module_name,
const Fw::StringBase globalName,
const Svc::WasmSequencer_Status reason 
) const
protected

Log event GlobalSetFailed.

Definition at line 4262 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_LO_LogWarningLo()

void Svc::WasmSequencerComponentBase::log_WARNING_LO_LogWarningLo ( const Fw::StringBase msg) const
protected

Log event LogWarningLo

A WARNING_LO event emitted by the guest program

Definition at line 7960 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_LO_MemoryGrowRejected()

void Svc::WasmSequencerComponentBase::log_WARNING_LO_MemoryGrowRejected ( const Svc::WasmSequencer_MemoryGrowFailReason reason,
U64  requestedSize 
) const
protected

Log event MemoryGrowRejected

A guest memory.grow could not be serviced by the guest bump allocator and was rejected. The guest sees memory.grow return -1; execution continues.

Parameters
reasonwhy the grow was rejected
requestedSizethe requested new linear-memory size in bytes

Definition at line 4157 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_LO_ModuleNotFound()

void Svc::WasmSequencerComponentBase::log_WARNING_LO_ModuleNotFound ( const Fw::StringBase module_name) const
protected

Log event ModuleNotFound

Failed to find a loaded module with the requested name

Definition at line 4082 of file WasmSequencerComponentAc.cpp.

◆ log_WARNING_LO_SequenceNotRunning()

void Svc::WasmSequencerComponentBase::log_WARNING_LO_SequenceNotRunning ( ) const
protected

Log event SequenceNotRunning

No sequence is running so we cannot continue from a pause

Definition at line 7223 of file WasmSequencerComponentAc.cpp.

◆ parametersLoaded()

void Svc::WasmSequencerComponentBase::parametersLoaded ( )
protectedvirtual

Called whenever parameters are loaded.

This function does nothing by default. You may override it.

Definition at line 8641 of file WasmSequencerComponentAc.cpp.

◆ parameterUpdated()

void Svc::WasmSequencerComponentBase::parameterUpdated ( FwPrmIdType  id)
protectedvirtual

Called whenever a parameter is updated.

This function does nothing by default. You may override it.

Parameters
idThe parameter ID

Definition at line 8635 of file WasmSequencerComponentAc.cpp.

◆ paramGet_HOST_FUNCTION_TIMEOUT_SECS()

F32 Svc::WasmSequencerComponentBase::paramGet_HOST_FUNCTION_TIMEOUT_SECS ( Fw::ParamValid valid)
protected

Get parameter HOST_FUNCTION_TIMEOUT_SECS

Returns
The parameter value

the number of seconds to wait before giving up on a host function/command. if <= 0 or greater than U32 max, never time out. accuracy of this timeout is determined by the rate group driving this component. it will be rounded up.

Parameters
validWhether the parameter is valid

Definition at line 8651 of file WasmSequencerComponentAc.cpp.

◆ paramGet_INSTRUCTION_FUEL()

FwSizeType Svc::WasmSequencerComponentBase::paramGet_INSTRUCTION_FUEL ( Fw::ParamValid valid)
protected

Get parameter INSTRUCTION_FUEL

Returns
The parameter value

Number of Wasm instructions to execute per interpreter cycle. Larger numbers will effect the responsiveness of the interpreter to PAUSE commands. The interpreter will always pause before commands.

Larger numbers make the interpreter faster because the engine doesn't need to feed itself through a queue to fuel more cycles.

Parameters
validWhether the parameter is valid

Definition at line 8664 of file WasmSequencerComponentAc.cpp.

◆ paramGet_SEQ_BASE_DIR()

Fw::ParamString Svc::WasmSequencerComponentBase::paramGet_SEQ_BASE_DIR ( Fw::ParamValid valid)
protected

Get parameter SEQ_BASE_DIR

Returns
The parameter value

A literal prefix prepended to every requested sequence file path before resolution following the rules of Os::File::open. When non-empty it also acts as a containment boundary: a requested name with a ".." component is rejected rather than being allowed to escape the prefix.

Parameters
validWhether the parameter is valid

Definition at line 8677 of file WasmSequencerComponentAc.cpp.

◆ PAUSE_cmdHandler()

virtual void Svc::WasmSequencerComponentBase::PAUSE_cmdHandler ( FwOpcodeType  opCode,
U32  cmdSeq 
)
protectedpure virtual

Handler for command PAUSE

Pauses the execution of the sequencer, just before it is about to start spinning. This simply pends a pause flag that will be taken before the sequence engine starts up again.

This command completes immediately

Parameters
opCodeThe opcode
cmdSeqThe command sequence number

◆ PAUSE_cmdHandlerBase()

void Svc::WasmSequencerComponentBase::PAUSE_cmdHandlerBase ( FwOpcodeType  opCode,
U32  cmdSeq,
Fw::CmdArgBuffer args 
)
protected

Base-class handler function for command PAUSE

Pauses the execution of the sequencer, just before it is about to start spinning. This simply pends a pause flag that will be taken before the sequence engine starts up again.

This command completes immediately

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
argsThe command argument buffer

Definition at line 3282 of file WasmSequencerComponentAc.cpp.

◆ PAUSE_preMsgHook()

void Svc::WasmSequencerComponentBase::PAUSE_preMsgHook ( FwOpcodeType  opCode,
U32  cmdSeq 
)
protectedvirtual

Pre-message hook for command PAUSE.

Parameters
opCodeThe opcode
cmdSeqThe command sequence number

Definition at line 3747 of file WasmSequencerComponentAc.cpp.

◆ regCommands()

void Svc::WasmSequencerComponentBase::regCommands ( )

Register commands with the Command Dispatcher.

Connect the dispatcher first

Definition at line 1594 of file WasmSequencerComponentAc.cpp.

◆ RUN_cmdHandler()

virtual void Svc::WasmSequencerComponentBase::RUN_cmdHandler ( FwOpcodeType  opCode,
U32  cmdSeq,
const Fw::CmdStringArg fileName,
const Svc::BlockState block,
const Svc::SeqArgs seqArgs 
)
protectedpure virtual

Handler for command RUN

Run a Wasm module main function on it's own in the interpreter This command first resets the store (discarding any modules previously staged with LOAD), then is short-hand for:

CANCEL # doesn't actually cancel a sequence, just resets the store
LOAD [fileName] ""
INVOKE "" [block] [seqArgs]

If $block == Svc.BlockState.BLOCK this command will wait for completion.

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
fileNameThe name of the sequence file
blockBlock until sequence has finished running
seqArgsOptional arguments to execute the sequence with Depending on the sequence being loaded these arguments may differ

◆ RUN_cmdHandlerBase()

void Svc::WasmSequencerComponentBase::RUN_cmdHandlerBase ( FwOpcodeType  opCode,
U32  cmdSeq,
Fw::CmdArgBuffer args 
)
protected

Base-class handler function for command RUN

Run a Wasm module main function on it's own in the interpreter This command first resets the store (discarding any modules previously staged with LOAD), then is short-hand for:

CANCEL # doesn't actually cancel a sequence, just resets the store
LOAD [fileName] ""
INVOKE "" [block] [seqArgs]

If $block == Svc.BlockState.BLOCK this command will wait for completion.

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
argsThe command argument buffer

Definition at line 3020 of file WasmSequencerComponentAc.cpp.

◆ RUN_preMsgHook()

void Svc::WasmSequencerComponentBase::RUN_preMsgHook ( FwOpcodeType  opCode,
U32  cmdSeq 
)
protectedvirtual

Pre-message hook for command RUN.

Parameters
opCodeThe opcode
cmdSeqThe command sequence number

Definition at line 3703 of file WasmSequencerComponentAc.cpp.

◆ seqCancelIn_handler()

virtual void Svc::WasmSequencerComponentBase::seqCancelIn_handler ( FwIndexType  portNum)
protectedpure virtual

Handler for input port seqCancelIn.

Parameters
portNumThe port number

◆ seqCancelIn_handlerBase()

void Svc::WasmSequencerComponentBase::seqCancelIn_handlerBase ( FwIndexType  portNum)
protected

Handler base-class function for input port seqCancelIn.

Parameters
portNumThe port number

Definition at line 2313 of file WasmSequencerComponentAc.cpp.

◆ seqDoneOut_out()

void Svc::WasmSequencerComponentBase::seqDoneOut_out ( FwIndexType  portNum,
FwOpcodeType  opCode,
U32  cmdSeq,
const Fw::CmdResponse response 
) const
protected

Invoke output port seqDoneOut.

Parameters
portNumThe port number
opCodeCommand Op Code
cmdSeqCommand Sequence
responseThe command response argument

Definition at line 2598 of file WasmSequencerComponentAc.cpp.

◆ seqRunIn_handler()

virtual void Svc::WasmSequencerComponentBase::seqRunIn_handler ( FwIndexType  portNum,
const Fw::StringBase filename,
const Svc::SeqArgs args 
)
protectedpure virtual

Handler for input port seqRunIn.

Parameters
portNumThe port number
filenameThe sequence file
argsSequence arguments

◆ seqRunIn_handlerBase()

void Svc::WasmSequencerComponentBase::seqRunIn_handlerBase ( FwIndexType  portNum,
const Fw::StringBase filename,
const Svc::SeqArgs args 
)
protected

Handler base-class function for input port seqRunIn.

Parameters
portNumThe port number
filenameThe sequence file
argsSequence arguments

Definition at line 2326 of file WasmSequencerComponentAc.cpp.

◆ seqRunIn_preMsgHook()

void Svc::WasmSequencerComponentBase::seqRunIn_preMsgHook ( FwIndexType  portNum,
const Fw::StringBase filename,
const Svc::SeqArgs args 
)
protectedvirtual

Pre-message hook for async input port seqRunIn.

Parameters
portNumThe port number
filenameThe sequence file
argsSequence arguments

Definition at line 2505 of file WasmSequencerComponentAc.cpp.

◆ seqStartOut_out()

void Svc::WasmSequencerComponentBase::seqStartOut_out ( FwIndexType  portNum,
const Fw::StringBase filename,
const Svc::SeqArgs args 
) const
protected

Invoke output port seqStartOut.

Parameters
portNumThe port number
filenameThe sequence file
argsSequence arguments

Definition at line 2622 of file WasmSequencerComponentAc.cpp.

◆ serialIn_handler()

virtual void Svc::WasmSequencerComponentBase::serialIn_handler ( FwIndexType  portNum,
Fw::LinearBufferBase buffer 
)
protectedpure virtual

Handler for input port serialIn.

Parameters
portNumThe port number
bufferThe serialization buffer

◆ serialIn_handlerBase()

void Svc::WasmSequencerComponentBase::serialIn_handlerBase ( FwIndexType  portNum,
Fw::LinearBufferBase buffer 
)
protected

Handler base-class function for input port serialIn.

Parameters
portNumThe port number
bufferThe serialization buffer

Definition at line 2452 of file WasmSequencerComponentAc.cpp.

◆ serialOut_out()

Fw::SerializeStatus Svc::WasmSequencerComponentBase::serialOut_out ( FwIndexType  portNum,
Fw::LinearBufferBase buffer 
)
protected

Invoke output port serialOut.

Parameters
portNumThe port number
bufferThe serialization buffer

Definition at line 2652 of file WasmSequencerComponentAc.cpp.

◆ set_cmdOut_OutputPort()

void Svc::WasmSequencerComponentBase::set_cmdOut_OutputPort ( FwIndexType  portNum,
Fw::InputComPort port 
)

Connect port to cmdOut[portNum].

Parameters
portNumThe port number
portThe input port

Definition at line 1336 of file WasmSequencerComponentAc.cpp.

◆ set_cmdRegOut_OutputPort()

void Svc::WasmSequencerComponentBase::set_cmdRegOut_OutputPort ( FwIndexType  portNum,
Fw::InputCmdRegPort port 
)

Connect port to cmdRegOut[portNum].

Parameters
portNumThe port number
portThe input port

Definition at line 1212 of file WasmSequencerComponentAc.cpp.

◆ set_cmdResponseOut_OutputPort()

void Svc::WasmSequencerComponentBase::set_cmdResponseOut_OutputPort ( FwIndexType  portNum,
Fw::InputCmdResponsePort port 
)

Connect port to cmdResponseOut[portNum].

Parameters
portNumThe port number
portThe input port

Definition at line 1226 of file WasmSequencerComponentAc.cpp.

◆ set_getParam_OutputPort()

void Svc::WasmSequencerComponentBase::set_getParam_OutputPort ( FwIndexType  portNum,
Fw::InputPrmGetPort port 
)

Connect port to getParam[portNum].

Parameters
portNumThe port number
portThe input port

Definition at line 1350 of file WasmSequencerComponentAc.cpp.

◆ set_getTlmChan_OutputPort()

void Svc::WasmSequencerComponentBase::set_getTlmChan_OutputPort ( FwIndexType  portNum,
Fw::InputTlmGetPort port 
)

Connect port to getTlmChan[portNum].

Parameters
portNumThe port number
portThe input port

Definition at line 1364 of file WasmSequencerComponentAc.cpp.

◆ set_logOut_OutputPort()

void Svc::WasmSequencerComponentBase::set_logOut_OutputPort ( FwIndexType  portNum,
Fw::InputLogPort port 
)

Connect port to logOut[portNum].

Parameters
portNumThe port number
portThe input port

Definition at line 1240 of file WasmSequencerComponentAc.cpp.

◆ set_prmGet_OutputPort()

void Svc::WasmSequencerComponentBase::set_prmGet_OutputPort ( FwIndexType  portNum,
Fw::InputPrmGetPort port 
)

Connect port to prmGet[portNum].

Parameters
portNumThe port number
portThe input port

Definition at line 1272 of file WasmSequencerComponentAc.cpp.

◆ set_prmSet_OutputPort()

void Svc::WasmSequencerComponentBase::set_prmSet_OutputPort ( FwIndexType  portNum,
Fw::InputPrmSetPort port 
)

Connect port to prmSet[portNum].

Parameters
portNumThe port number
portThe input port

Definition at line 1286 of file WasmSequencerComponentAc.cpp.

◆ set_seqDoneOut_OutputPort()

void Svc::WasmSequencerComponentBase::set_seqDoneOut_OutputPort ( FwIndexType  portNum,
Fw::InputCmdResponsePort port 
)

Connect port to seqDoneOut[portNum].

Parameters
portNumThe port number
portThe input port

Definition at line 1378 of file WasmSequencerComponentAc.cpp.

◆ set_seqStartOut_OutputPort()

void Svc::WasmSequencerComponentBase::set_seqStartOut_OutputPort ( FwIndexType  portNum,
Svc::InputCmdSeqInPort port 
)

Connect port to seqStartOut[portNum].

Parameters
portNumThe port number
portThe input port

Definition at line 1392 of file WasmSequencerComponentAc.cpp.

◆ set_timeCaller_OutputPort()

void Svc::WasmSequencerComponentBase::set_timeCaller_OutputPort ( FwIndexType  portNum,
Fw::InputTimePort port 
)

Connect port to timeCaller[portNum].

Parameters
portNumThe port number
portThe input port

Definition at line 1300 of file WasmSequencerComponentAc.cpp.

◆ set_tlmOut_OutputPort()

void Svc::WasmSequencerComponentBase::set_tlmOut_OutputPort ( FwIndexType  portNum,
Fw::InputTlmPort port 
)

Connect port to tlmOut[portNum].

Parameters
portNumThe port number
portThe input port

Definition at line 1314 of file WasmSequencerComponentAc.cpp.

◆ Svc_WasmSequencer_ControllerStateMachine_action_cancelPendingRequest()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_cancelPendingRequest ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_RequestContext value 
)
protectedpure virtual

Implementation for action cancelPendingRequest of state machine Svc_WasmSequencer_ControllerStateMachine

Abort a load/invoke that was cancelled before the engine ran

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_action_clearCancelRequested()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_clearCancelRequested ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action clearCancelRequested of state machine Svc_WasmSequencer_ControllerStateMachine

Acknowledge/clear any pending cancel

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_ControllerStateMachine_action_incrementSequenceFailure()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_incrementSequenceFailure ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action incrementSequenceFailure of state machine Svc_WasmSequencer_ControllerStateMachine

Increment the SequencesFailed telemetry counter

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_ControllerStateMachine_action_invokeMain()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_invokeMain ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_RequestContext value 
)
protectedpure virtual

Implementation for action invokeMain of state machine Svc_WasmSequencer_ControllerStateMachine

Invoke the main function for module in context

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_action_invokeStart()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_invokeStart ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_RequestContext value 
)
protectedpure virtual

Implementation for action invokeStart of state machine Svc_WasmSequencer_ControllerStateMachine

Invoke the start function on a loaded module

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_action_load()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_load ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_LoadRequest value 
)
protectedpure virtual

Implementation for action load of state machine Svc_WasmSequencer_ControllerStateMachine

Load a module into the store. Emits loadSucceded or loadFailed depending on result

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_action_processInvoke()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_processInvoke ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_InvokeRequest value 
)
protectedpure virtual

Implementation for action processInvoke of state machine Svc_WasmSequencer_ControllerStateMachine

Action to save the invoke arguments and emit an 'invoked' signal

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_action_reportModuleInvalidMain()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_reportModuleInvalidMain ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_RequestContext value 
)
protectedpure virtual

Implementation for action reportModuleInvalidMain of state machine Svc_WasmSequencer_ControllerStateMachine

Emit an event noting that a given module has no [valid] main function

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_action_reportModuleMainFailed()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_reportModuleMainFailed ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_RequestContext value 
)
protectedpure virtual

Implementation for action reportModuleMainFailed of state machine Svc_WasmSequencer_ControllerStateMachine

Emit an event noting a module failed during execution. Increment telemetry counters.

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_action_reportModuleMainInvokeFailed()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_reportModuleMainInvokeFailed ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_RequestContext value 
)
protectedpure virtual

Implementation for action reportModuleMainInvokeFailed of state machine Svc_WasmSequencer_ControllerStateMachine

Emit an event noting why the invocation of a module main failed

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_action_reportModuleStarted()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_reportModuleStarted ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_RequestContext value 
)
protectedpure virtual

Implementation for action reportModuleStarted of state machine Svc_WasmSequencer_ControllerStateMachine

Reports that a module started running it's main function

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_action_reportModuleStartFailed()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_reportModuleStartFailed ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_RequestContext value 
)
protectedpure virtual

Implementation for action reportModuleStartFailed of state machine Svc_WasmSequencer_ControllerStateMachine

Emit an event noting a module failed during execution of start. Increment telemetry counters.

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_action_reportModuleStartInvokeFailed()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_reportModuleStartInvokeFailed ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_RequestContext value 
)
protectedpure virtual

Implementation for action reportModuleStartInvokeFailed of state machine Svc_WasmSequencer_ControllerStateMachine

Emit an event noting why the invocation of a module start failed

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_action_reportModuleSucceeded()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_reportModuleSucceeded ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_RequestContext value 
)
protectedpure virtual

Implementation for action reportModuleSucceeded of state machine Svc_WasmSequencer_ControllerStateMachine

Emit an event noting a module succeeded during execution. Increment telemetry counters.

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_action_resetStore()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_resetStore ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action resetStore of state machine Svc_WasmSequencer_ControllerStateMachine

Create a new store with N_MODULES (parameter) modules

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_ControllerStateMachine_action_respond_block_ERROR()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_respond_block_ERROR ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_RequestContext value 
)
protectedpure virtual

Implementation for action respond_block_ERROR of state machine Svc_WasmSequencer_ControllerStateMachine

Responds to $block == BLOCK requests with ERROR. Responds to any pending WAIT requests with ERROR

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_action_respond_block_OK()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_respond_block_OK ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_RequestContext value 
)
protectedpure virtual

Implementation for action respond_block_OK of state machine Svc_WasmSequencer_ControllerStateMachine

Responds to $block == BLOCK requests with OK Responds to any pending WAIT requests with OK

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_action_respond_ERROR()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_respond_ERROR ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_RequestContext value 
)
protectedpure virtual

Implementation for action respond_ERROR of state machine Svc_WasmSequencer_ControllerStateMachine

Responds to request with EXECUTION_ERROR

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_action_respond_noblock_OK()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_respond_noblock_OK ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_RequestContext value 
)
protectedpure virtual

Implementation for action respond_noblock_OK of state machine Svc_WasmSequencer_ControllerStateMachine

Responds to $block == NO_BLOCK requests with OK

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_action_respondInvoke_BUSY()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_respondInvoke_BUSY ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_InvokeRequest value 
)
protectedpure virtual

Implementation for action respondInvoke_BUSY of state machine Svc_WasmSequencer_ControllerStateMachine

Responds to request with BUSY Emit an event to say why we are rejecting this request in the current state

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_action_respondInvoke_ERROR()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_respondInvoke_ERROR ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_InvokeRequest value 
)
protectedpure virtual

Implementation for action respondInvoke_ERROR of state machine Svc_WasmSequencer_ControllerStateMachine

Responds to request with EXECUTION_ERROR Emit an event to say why we are rejecting this request in the current state

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_action_respondLoad_BUSY()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_respondLoad_BUSY ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_LoadRequest value 
)
protectedpure virtual

Implementation for action respondLoad_BUSY of state machine Svc_WasmSequencer_ControllerStateMachine

Responds to request with BUSY Emit an event to say why we are rejecting this request in the current state

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_action_runEngine()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_runEngine ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_RequestContext value 
)
protectedpure virtual

Implementation for action runEngine of state machine Svc_WasmSequencer_ControllerStateMachine

Send a signal to the engine state machine to begin running The engine will asynchronously reply with the engineFinished signal

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_action_setCancelRequested()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_action_setCancelRequested ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action setCancelRequested of state machine Svc_WasmSequencer_ControllerStateMachine

Latch a cancel that arrives while a sequence is loading/resolving

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_ControllerStateMachine_guard_cancelRequested()

virtual bool Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_guard_cancelRequested ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal 
) const
protectedpure virtual

Implementation for guard cancelRequested of state machine Svc_WasmSequencer_ControllerStateMachine

True if a cancel was latched since the controller last came to rest.

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_ControllerStateMachine_guard_interpreterSucceeded()

virtual bool Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_guard_interpreterSucceeded ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal 
) const
protectedpure virtual

Implementation for guard interpreterSucceeded of state machine Svc_WasmSequencer_ControllerStateMachine

Check if the last engine execution finished executing successfully

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_ControllerStateMachine_guard_invokeSucceeded()

virtual bool Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_guard_invokeSucceeded ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_RequestContext value 
) const
protectedpure virtual

Implementation for guard invokeSucceeded of state machine Svc_WasmSequencer_ControllerStateMachine

return true if invokeStatus == SPACEWASM_OK. This flag is set as a result of invokeStart/invokeMain

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_guard_moduleHasStart()

virtual bool Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_guard_moduleHasStart ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_RequestContext value 
) const
protectedpure virtual

Implementation for guard moduleHasStart of state machine Svc_WasmSequencer_ControllerStateMachine

return true if this module has a start function

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_ControllerStateMachine_guard_moduleHasValidMain()

virtual bool Svc::WasmSequencerComponentBase::Svc_WasmSequencer_ControllerStateMachine_guard_moduleHasValidMain ( SmId  smId,
Svc_WasmSequencer_ControllerStateMachine::Signal  signal,
const Svc::WasmSequencer_RequestContext value 
) const
protectedpure virtual

Implementation for guard moduleHasValidMain of state machine Svc_WasmSequencer_ControllerStateMachine

return true if this module has a valid main function ([] -> i32)

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_InterpreterStateMachine_action_checkSleepTimers()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_checkSleepTimers ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action checkSleepTimers of state machine Svc_WasmSequencer_InterpreterStateMachine

A periodic check on the pending timer to see if we can wake up

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_action_checkTimeout()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_checkTimeout ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action checkTimeout of state machine Svc_WasmSequencer_InterpreterStateMachine

A periodic check on any host function to guard against timeouts

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_action_clearContext()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_clearContext ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action clearContext of state machine Svc_WasmSequencer_InterpreterStateMachine

Clear the current executing context

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_action_clearExitStatus()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_clearExitStatus ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action clearExitStatus of state machine Svc_WasmSequencer_InterpreterStateMachine.

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_action_clearPause()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_clearPause ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action clearPause of state machine Svc_WasmSequencer_InterpreterStateMachine

sets the pause flag to false

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_action_clearPendingHostFunction()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_clearPendingHostFunction ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action clearPendingHostFunction of state machine Svc_WasmSequencer_InterpreterStateMachine

clears the pending host function port call

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_action_cmdReplyOK()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_cmdReplyOK ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal,
const Svc::WasmSequencer_CommandRequest value 
)
protectedpure virtual

Implementation for action cmdReplyOK of state machine Svc_WasmSequencer_InterpreterStateMachine

Respond to a pending command with OK

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_InterpreterStateMachine_action_dequeueSerialAndResume()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_dequeueSerialAndResume ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal,
const FwIndexType value 
)
protectedpure virtual

Implementation for action dequeueSerialAndResume of state machine Svc_WasmSequencer_InterpreterStateMachine

Dequeue a serial message into the host guest memory and resume the interpreter

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_InterpreterStateMachine_action_dispatchPendingHostFunction()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_dispatchPendingHostFunction ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action dispatchPendingHostFunction of state machine Svc_WasmSequencer_InterpreterStateMachine

dispatch a host function port call

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_action_finish()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_finish ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action finish of state machine Svc_WasmSequencer_InterpreterStateMachine

Send a signal back to the controller state machine that we have finished executing The response codes are stored in m_exit (reason, code, lastTrapReason)

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_action_reportPaused()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_reportPaused ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action reportPaused of state machine Svc_WasmSequencer_InterpreterStateMachine

reports that execution was paused at a breakpoint

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_action_reset()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_reset ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action reset of state machine Svc_WasmSequencer_InterpreterStateMachine

resets the engine's state (clears operand stack, pc, fp, sp)

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_action_resume()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_resume ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action resume of state machine Svc_WasmSequencer_InterpreterStateMachine

spacewasm_engine_resume

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_action_resumeI32()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_resumeI32 ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal,
I32  value 
)
protectedpure virtual

Implementation for action resumeI32 of state machine Svc_WasmSequencer_InterpreterStateMachine

spacewasm_engine_resume_some(I32(value))

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_InterpreterStateMachine_action_setContext()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_setContext ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal,
const Svc::WasmSequencer_RequestContext value 
)
protectedpure virtual

Implementation for action setContext of state machine Svc_WasmSequencer_InterpreterStateMachine

Set the current executing context

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_InterpreterStateMachine_action_setExitCode()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_setExitCode ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal,
I32  value 
)
protectedpure virtual

Implementation for action setExitCode of state machine Svc_WasmSequencer_InterpreterStateMachine.

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_CANCEL()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_CANCEL ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action setExitReason_CANCEL of state machine Svc_WasmSequencer_InterpreterStateMachine.

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_HOST_FAILURE()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_HOST_FAILURE ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action setExitReason_HOST_FAILURE of state machine Svc_WasmSequencer_InterpreterStateMachine.

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_INTERPRETER_FINISHED()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_INTERPRETER_FINISHED ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action setExitReason_INTERPRETER_FINISHED of state machine Svc_WasmSequencer_InterpreterStateMachine.

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_INTERPRETER_TRAP()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_INTERPRETER_TRAP ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action setExitReason_INTERPRETER_TRAP of state machine Svc_WasmSequencer_InterpreterStateMachine.

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_REPLY_TIMEOUT()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_REPLY_TIMEOUT ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action setExitReason_REPLY_TIMEOUT of state machine Svc_WasmSequencer_InterpreterStateMachine.

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_TIMER_INCOMPARABLE()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_TIMER_INCOMPARABLE ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action setExitReason_TIMER_INCOMPARABLE of state machine Svc_WasmSequencer_InterpreterStateMachine.

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_UNEXPECTED_REPLY()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_setExitReason_UNEXPECTED_REPLY ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action setExitReason_UNEXPECTED_REPLY of state machine Svc_WasmSequencer_InterpreterStateMachine.

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_action_setLastHostFunction()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_setLastHostFunction ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action setLastHostFunction of state machine Svc_WasmSequencer_InterpreterStateMachine.

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_action_setTrapReason()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_setTrapReason ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal,
const Svc::WasmSequencer_TrapReason value 
)
protectedpure virtual

Implementation for action setTrapReason of state machine Svc_WasmSequencer_InterpreterStateMachine.

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_InterpreterStateMachine_action_signalEntered()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_signalEntered ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action signalEntered of state machine Svc_WasmSequencer_InterpreterStateMachine

generic signal raised

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_action_spin()

virtual void Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_action_spin ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
)
protectedpure virtual

Implementation for action spin of state machine Svc_WasmSequencer_InterpreterStateMachine

spins the interpreter loop, executing up to a bounded number of instructions

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_guard_blockingSerialIn()

virtual bool Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_guard_blockingSerialIn ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal,
const FwIndexType value 
) const
protectedpure virtual

Implementation for guard blockingSerialIn of state machine Svc_WasmSequencer_InterpreterStateMachine

Check if we are currently blocking on a serial_recv() for a given serial port index

Parameters
smIdThe state machine id
signalThe signal
valueThe value

◆ Svc_WasmSequencer_InterpreterStateMachine_guard_dequeueSucceeded()

virtual bool Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_guard_dequeueSucceeded ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
) const
protectedpure virtual

Implementation for guard dequeueSucceeded of state machine Svc_WasmSequencer_InterpreterStateMachine

Return true dequeueSerialAndResume processed a message successfully

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_guard_pendingHostFunction()

virtual bool Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_guard_pendingHostFunction ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
) const
protectedpure virtual

Implementation for guard pendingHostFunction of state machine Svc_WasmSequencer_InterpreterStateMachine

a host function is waiting to be processed

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_guard_pendingHostFunctionIsSleep()

virtual bool Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_guard_pendingHostFunctionIsSleep ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
) const
protectedpure virtual

Implementation for guard pendingHostFunctionIsSleep of state machine Svc_WasmSequencer_InterpreterStateMachine

the pending host function is a sleep (therefore we need to check the sleep timers)

Parameters
smIdThe state machine id
signalThe signal

◆ Svc_WasmSequencer_InterpreterStateMachine_guard_pendingPause()

virtual bool Svc::WasmSequencerComponentBase::Svc_WasmSequencer_InterpreterStateMachine_guard_pendingPause ( SmId  smId,
Svc_WasmSequencer_InterpreterStateMachine::Signal  signal 
) const
protectedpure virtual

Implementation for guard pendingPause of state machine Svc_WasmSequencer_InterpreterStateMachine

return true if execution should pause before spinning the interpreter again

Parameters
smIdThe state machine id
signalThe signal

◆ tlmWrite()

void Svc::WasmSequencerComponentBase::tlmWrite ( FwChanIdType  id,
Fw::TlmBuffer _tlmBuff,
Fw::Time  _tlmTime = Fw::Time() 
) const
protected

Write telemetry channel given its local id and serialized value. Warning: This is a low level telemetry interface that does not guarentee channel type safety. It is up to the caller to make sure the serialized data matches the definition in the model. Update on change semantics are ignored, this telemetry is always written

Parameters
idThe channel id
_tlmBuffThe serialized telemetry value
_tlmTimeTimestamp. Default: unspecified, request from getTime port

Definition at line 8264 of file WasmSequencerComponentAc.cpp.

◆ tlmWrite_CommandsDispatched()

void Svc::WasmSequencerComponentBase::tlmWrite_CommandsDispatched ( U64  arg,
Fw::Time  _tlmTime = Fw::Time() 
)
protected

Write telemetry channel CommandsDispatched

Commands dispatched total

Parameters
argThe telemetry value
_tlmTimeTimestamp. Default: unspecified, request from getTime port

Definition at line 8480 of file WasmSequencerComponentAc.cpp.

◆ tlmWrite_CommandsFailed()

void Svc::WasmSequencerComponentBase::tlmWrite_CommandsFailed ( U64  arg,
Fw::Time  _tlmTime = Fw::Time() 
)
protected

Write telemetry channel CommandsFailed

Number of commands that failed

Parameters
argThe telemetry value
_tlmTimeTimestamp. Default: unspecified, request from getTime port

Definition at line 8517 of file WasmSequencerComponentAc.cpp.

◆ tlmWrite_ControllerState()

void Svc::WasmSequencerComponentBase::tlmWrite_ControllerState ( const Svc::WasmSequencer_ControllerStateMachine_State arg,
Fw::Time  _tlmTime = Fw::Time() 
)
protected

Write telemetry channel ControllerState

Current executing state of the sequencer controller

Parameters
argThe telemetry value
_tlmTimeTimestamp. Default: unspecified, request from getTime port

Definition at line 8295 of file WasmSequencerComponentAc.cpp.

◆ tlmWrite_InterpreterState()

void Svc::WasmSequencerComponentBase::tlmWrite_InterpreterState ( const Svc::WasmSequencer_InterpreterStateMachine_State arg,
Fw::Time  _tlmTime = Fw::Time() 
)
protected

Write telemetry channel InterpreterState

Current executing state of the WebAssembly interpreter engine

Parameters
argThe telemetry value
_tlmTimeTimestamp. Default: unspecified, request from getTime port

Definition at line 8332 of file WasmSequencerComponentAc.cpp.

◆ tlmWrite_LastTrapReason()

void Svc::WasmSequencerComponentBase::tlmWrite_LastTrapReason ( const Svc::WasmSequencer_TrapReason arg,
Fw::Time  _tlmTime = Fw::Time() 
)
protected

Write telemetry channel LastTrapReason

Reason last sequence trapped

Parameters
argThe telemetry value
_tlmTimeTimestamp. Default: unspecified, request from getTime port

Definition at line 8554 of file WasmSequencerComponentAc.cpp.

◆ tlmWrite_SeqName()

void Svc::WasmSequencerComponentBase::tlmWrite_SeqName ( const Fw::StringBase arg,
Fw::Time  _tlmTime = Fw::Time() 
)
protected

Write telemetry channel SeqName

Currently running sequence name. When a module is loaded under an empty name (RUN, or LOAD with no name) the name is the filename without .wasm; otherwise it is the module name provided to LOAD

Parameters
argThe telemetry value
_tlmTimeTimestamp. Default: unspecified, request from getTime port

Definition at line 8591 of file WasmSequencerComponentAc.cpp.

◆ tlmWrite_SequencesCancelled()

void Svc::WasmSequencerComponentBase::tlmWrite_SequencesCancelled ( U64  arg,
Fw::Time  _tlmTime = Fw::Time() 
)
protected

Write telemetry channel SequencesCancelled

Sequences that were cancelled

Parameters
argThe telemetry value
_tlmTimeTimestamp. Default: unspecified, request from getTime port

Definition at line 8443 of file WasmSequencerComponentAc.cpp.

◆ tlmWrite_SequencesFailed()

void Svc::WasmSequencerComponentBase::tlmWrite_SequencesFailed ( U64  arg,
Fw::Time  _tlmTime = Fw::Time() 
)
protected

Write telemetry channel SequencesFailed

Sequences that failed to validate or execute

Parameters
argThe telemetry value
_tlmTimeTimestamp. Default: unspecified, request from getTime port

Definition at line 8406 of file WasmSequencerComponentAc.cpp.

◆ tlmWrite_SequencesSucceeded()

void Svc::WasmSequencerComponentBase::tlmWrite_SequencesSucceeded ( U64  arg,
Fw::Time  _tlmTime = Fw::Time() 
)
protected

Write telemetry channel SequencesSucceeded

Sequences successfully completed

Parameters
argThe telemetry value
_tlmTimeTimestamp. Default: unspecified, request from getTime port

Definition at line 8369 of file WasmSequencerComponentAc.cpp.

◆ unLock()

void Svc::WasmSequencerComponentBase::unLock ( )
protectedvirtual

Unlock the guarded mutex.

Definition at line 8720 of file WasmSequencerComponentAc.cpp.

◆ WAIT_cmdHandler()

virtual void Svc::WasmSequencerComponentBase::WAIT_cmdHandler ( FwOpcodeType  opCode,
U32  cmdSeq 
)
protectedpure virtual

Handler for command WAIT

Wait for the interpreter to finish and return it's result as a CmdResponse

Parameters
opCodeThe opcode
cmdSeqThe command sequence number

◆ WAIT_cmdHandlerBase()

void Svc::WasmSequencerComponentBase::WAIT_cmdHandlerBase ( FwOpcodeType  opCode,
U32  cmdSeq,
Fw::CmdArgBuffer args 
)
protected

Base-class handler function for command WAIT

Wait for the interpreter to finish and return it's result as a CmdResponse

Parameters
opCodeThe opcode
cmdSeqThe command sequence number
argsThe command argument buffer

Definition at line 3197 of file WasmSequencerComponentAc.cpp.

◆ WAIT_preMsgHook()

void Svc::WasmSequencerComponentBase::WAIT_preMsgHook ( FwOpcodeType  opCode,
U32  cmdSeq 
)
protectedvirtual

Pre-message hook for command WAIT.

Parameters
opCodeThe opcode
cmdSeqThe command sequence number

Definition at line 3736 of file WasmSequencerComponentAc.cpp.

◆ writeTelemetry_handler()

virtual void Svc::WasmSequencerComponentBase::writeTelemetry_handler ( FwIndexType  portNum,
U32  context 
)
protectedpure virtual

Handler for input port writeTelemetry.

Parameters
portNumThe port number
contextThe call order

◆ writeTelemetry_handlerBase()

void Svc::WasmSequencerComponentBase::writeTelemetry_handlerBase ( FwIndexType  portNum,
U32  context 
)
protected

Handler base-class function for input port writeTelemetry.

Parameters
portNumThe port number
contextThe call order

Definition at line 2388 of file WasmSequencerComponentAc.cpp.

◆ writeTelemetry_preMsgHook()

void Svc::WasmSequencerComponentBase::writeTelemetry_preMsgHook ( FwIndexType  portNum,
U32  context 
)
protectedvirtual

Pre-message hook for async input port writeTelemetry.

Parameters
portNumThe port number
contextThe call order

Definition at line 2515 of file WasmSequencerComponentAc.cpp.

Friends And Related Function Documentation

◆ WasmSequencerTester

friend class WasmSequencerTester
friend

Friend class tester implementation to support white-box testing.

Definition at line 85 of file WasmSequencerComponentAc.hpp.

◆ WasmSequencerTesterBase

friend class WasmSequencerTesterBase
friend

Friend class tester to support autocoded test harness.

Definition at line 83 of file WasmSequencerComponentAc.hpp.


The documentation for this class was generated from the following files: