12 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_signalEntered(
25 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_setSequenceFilePath(
32 if (baseDir.
length() == 0) {
62 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_setSequenceBlockState(
67 this->m_sequenceBlockState = value.
get_block();
74 void FpySequencer ::Svc_FpySequencer_SequencerStateMachine_action_setSequenceArguments(
85 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_report_seqSucceeded(
89 this->m_tlm.sequencesSucceeded++;
91 this->m_sequenceFilePath = NO_SEQ;
102 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_report_seqCancelled(
106 this->m_tlm.sequencesCancelled++;
118 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_dispatchStatement(
122 Signal result = this->dispatchStatement();
137 FW_ASSERT(
false, static_cast<FwAssertArgType>(result));
146 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_setGoalState_RUNNING(
157 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_setGoalState_VALID(
168 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_setGoalState_IDLE(
179 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_sendCmdResponse_OK(
193 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_sendCmdResponse_EXECUTION_ERROR(
207 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_resetRuntime(
212 this->m_runtime.~Runtime();
213 new (&this->m_runtime) Runtime();
221 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_validate(
237 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_checkShouldWake(
241 Signal result = this->checkShouldWake();
256 FW_ASSERT(
false, static_cast<FwAssertArgType>(result));
264 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_checkStatementTimeout(
268 Signal result = this->checkStatementTimeout();
283 FW_ASSERT(
false, static_cast<FwAssertArgType>(result));
291 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_incrementSequenceCounter(
295 this->m_sequencesStarted++;
301 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_pushArgsToStack(
320 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_clearSequenceFile(
324 this->m_sequenceFilePath =
"";
330 void FpySequencer ::Svc_FpySequencer_SequencerStateMachine_action_clearSequenceArguments(
333 this->m_sequenceArgs = {0, 0};
339 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_clearBreakpoint(
343 this->m_breakpoint.breakpointInUse =
false;
344 this->m_breakpoint.breakpointIndex = 0;
345 this->m_breakpoint.breakOnlyOnceOnBreakpoint =
false;
346 this->m_breakpoint.breakBeforeNextLine =
false;
352 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_report_seqBroken(
362 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_setBreakpoint(
376 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_setBreakBeforeNextLine(
380 this->m_breakpoint.breakBeforeNextLine =
true;
386 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_clearBreakBeforeNextLine(
390 this->m_breakpoint.breakBeforeNextLine =
false;
396 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_report_seqFailed(
409 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_report_seqStarted(
416 this->
seqStartOut_out(0, this->m_sequenceFilePath, this->m_sequenceArgs);
444 return this->m_breakpoint.breakBeforeNextLine ||
445 (this->m_breakpoint.breakpointInUse &&
446 this->m_breakpoint.breakpointIndex == this->m_runtime.nextStatementIndex);
456 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 log_WARNING_HI_SequenceFilePathTooLong(const Fw::StringBase &baseDir, const Fw::StringBase &fileName) const
Log event SequenceFilePathTooLong.
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.
const char * toChar() const
bool Svc_FpySequencer_SequencerStateMachine_guard_shouldBreak(SmId smId, Svc_FpySequencer_SequencerStateMachine::Signal signal) const override
const char * toChar() const
Convert to a C-style char*.
void sequencer_sendSignal_result_checkStatementTimeout_noTimeout()
Send signal result_checkStatementTimeout_noTimeout to state machine sequencer.
FwSizeType get_size() const
Get member size.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
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.
Fw::ParamString paramGet_SEQ_BASE_DIR(Fw::ParamValid &valid)
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.
virtual SizeType length() const
Get the length of the string.
raised when we are done sleeping
Enum representing parameter validity.
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 ...
FormatStatus
status of string format calls