12 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_signalEntered(
23 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_setSequenceFilePath(
35 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_setSequenceBlockState(
40 this->m_sequenceBlockState = value.
get_block();
47 void FpySequencer ::Svc_FpySequencer_SequencerStateMachine_action_setSequenceArguments(
58 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_report_seqSucceeded(
62 this->m_tlm.sequencesSucceeded++;
74 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_report_seqCancelled(
78 this->m_tlm.sequencesCancelled++;
90 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_dispatchStatement(
94 Signal result = this->dispatchStatement();
109 FW_ASSERT(0, static_cast<FwAssertArgType>(result));
118 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_setGoalState_RUNNING(
129 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_setGoalState_VALID(
140 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_setGoalState_IDLE(
151 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_sendCmdResponse_OK(
165 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_sendCmdResponse_EXECUTION_ERROR(
179 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_resetRuntime(
184 this->m_runtime.~Runtime();
185 new (&this->m_runtime) Runtime();
193 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_validate(
208 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_checkShouldWake(
212 Signal result = this->checkShouldWake();
227 FW_ASSERT(0, static_cast<FwAssertArgType>(result));
235 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_checkStatementTimeout(
239 Signal result = this->checkStatementTimeout();
254 FW_ASSERT(0, static_cast<FwAssertArgType>(result));
262 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_incrementSequenceCounter(
266 this->m_sequencesStarted++;
272 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_pushArgsToStack(
291 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_clearSequenceFile(
295 this->m_sequenceFilePath =
"";
301 void FpySequencer ::Svc_FpySequencer_SequencerStateMachine_action_clearSequenceArguments(
304 this->m_sequenceArgs = {0, 0};
310 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_clearBreakpoint(
314 this->m_breakpoint.breakpointInUse =
false;
315 this->m_breakpoint.breakpointIndex = 0;
316 this->m_breakpoint.breakOnlyOnceOnBreakpoint =
false;
317 this->m_breakpoint.breakBeforeNextLine =
false;
323 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_report_seqBroken(
333 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_setBreakpoint(
347 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_setBreakBeforeNextLine(
351 this->m_breakpoint.breakBeforeNextLine =
true;
357 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_clearBreakBeforeNextLine(
361 this->m_breakpoint.breakBeforeNextLine =
false;
367 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_report_seqFailed(
380 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_report_seqStarted(
387 this->
seqStartOut_out(0, this->m_sequenceFilePath, this->m_sequenceArgs);
415 return this->m_breakpoint.breakBeforeNextLine ||
416 (this->m_breakpoint.breakpointInUse &&
417 this->m_breakpoint.breakpointIndex == this->m_runtime.nextStatementIndex);
427 return this->m_breakpoint.breakOnlyOnceOnBreakpoint;
void sequencer_sendSignal_result_dispatchStatement_noMoreStatements()
Send signal result_dispatchStatement_noMoreStatements to state machine sequencer. ...
void sequencer_sendSignal_result_checkShouldWake_keepSleeping()
Send signal result_checkShouldWake_keepSleeping to state machine sequencer.
called in dispatchStatement method when a statement was unable to be sent out
void log_ACTIVITY_HI_SequencePaused(U32 stmtIdx) const
Log event SequencePaused.
called in dispatchStatement method when there were no more statements in the sequence ...
U32 get_breakpointIndex() const
Get member breakpointIndex.
void sequencer_sendSignal_result_dispatchStatement_success()
Send signal result_dispatchStatement_success to state machine sequencer.
bool Svc_FpySequencer_SequencerStateMachine_guard_goalStateIs_RUNNING(SmId smId, Svc_FpySequencer_SequencerStateMachine::Signal signal) const override
Svc::SeqArgs & get_buffer()
Get member buffer.
raised when we should keep sleeping
void sequencer_sendSignal_result_checkShouldWake_wakeup()
Send signal result_checkShouldWake_wakeup to state machine sequencer.
void sequencer_sendSignal_result_success()
Send signal result_success to state machine sequencer.
SmId
State machine identifiers.
void sequencer_sendSignal_result_dispatchStatement_failure()
Send signal result_dispatchStatement_failure to state machine sequencer.
called in dispatchStatement method when a statement was successfully dispatched
Fw::ExternalString & get_filePath()
Get member filePath.
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
Type_of_buffer & get_buffer()
Get member buffer.
bool Svc_FpySequencer_SequencerStateMachine_guard_shouldBreak(SmId smId, Svc_FpySequencer_SequencerStateMachine::Signal signal) const override
void sequencer_sendSignal_result_checkStatementTimeout_noTimeout()
Send signal result_checkStatementTimeout_noTimeout to state machine sequencer.
FwSizeType get_size() const
Get member size.
Command successfully executed.
void seqDoneOut_out(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) const
Invoke output port seqDoneOut.
void log_ACTIVITY_HI_BreakpointSet(U32 breakpointIdx, bool breakOnce) const
Log event BreakpointSet.
void sequencer_sendSignal_result_timeOpFailed()
Send signal result_timeOpFailed to state machine sequencer.
Command had execution error.
void sequencer_sendSignal_result_checkStatementTimeout_statementTimeout()
Send signal result_checkStatementTimeout_statementTimeout to state machine sequencer.
void log_ACTIVITY_HI_SequenceCancelled(const Fw::StringBase &filePath) const
Log event SequenceCancelled.
bool Svc_FpySequencer_SequencerStateMachine_guard_breakOnce(SmId smId, Svc_FpySequencer_SequencerStateMachine::Signal signal) const override
raised when the statement has not timed out yet
RateGroupDivider component implementation.
raised when we are done sleeping
void sequencer_sendSignal_result_failure()
Send signal result_failure to state machine sequencer.
bool isConnected_seqStartOut_OutputPort(FwIndexType portNum) const
void seqStartOut_out(FwIndexType portNum, const Fw::StringBase &filename, const Svc::SeqArgs &args) const
Invoke output port seqStartOut.
void sequencer_sendSignal_entered()
Send signal entered to state machine sequencer.
bool get_breakOnlyOnceOnBreakpoint() const
Get member breakOnlyOnceOnBreakpoint.
raised when the statement times out, according to the timeout parameter
void log_ACTIVITY_HI_SequenceDone(const Fw::StringBase &filePath) const
Log event SequenceDone.
bool get_breakOnBreakpoint() const
Get member breakOnBreakpoint.
FpySequencer_SequencerStateMachineStateMachineBase::Signal Signal
bool isConnected_seqDoneOut_OutputPort(FwIndexType portNum) const
Svc::BlockState::T get_block() const
Get member block.
U32 StackSizeType
the type which everything referencing a size or offset on the stack is represented in ...