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++;
101 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_report_seqCancelled(
105 this->m_tlm.sequencesCancelled++;
117 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_dispatchStatement(
121 Signal result = this->dispatchStatement();
136 FW_ASSERT(0, static_cast<FwAssertArgType>(result));
145 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_setGoalState_RUNNING(
156 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_setGoalState_VALID(
167 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_setGoalState_IDLE(
178 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_sendCmdResponse_OK(
192 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_sendCmdResponse_EXECUTION_ERROR(
206 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_resetRuntime(
211 this->m_runtime.~Runtime();
212 new (&this->m_runtime) Runtime();
220 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_validate(
235 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_checkShouldWake(
239 Signal result = this->checkShouldWake();
254 FW_ASSERT(0, static_cast<FwAssertArgType>(result));
262 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_checkStatementTimeout(
266 Signal result = this->checkStatementTimeout();
281 FW_ASSERT(0, static_cast<FwAssertArgType>(result));
289 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_incrementSequenceCounter(
293 this->m_sequencesStarted++;
299 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_pushArgsToStack(
318 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_clearSequenceFile(
322 this->m_sequenceFilePath =
"";
328 void FpySequencer ::Svc_FpySequencer_SequencerStateMachine_action_clearSequenceArguments(
331 this->m_sequenceArgs = {0, 0};
337 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_clearBreakpoint(
341 this->m_breakpoint.breakpointInUse =
false;
342 this->m_breakpoint.breakpointIndex = 0;
343 this->m_breakpoint.breakOnlyOnceOnBreakpoint =
false;
344 this->m_breakpoint.breakBeforeNextLine =
false;
350 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_report_seqBroken(
360 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_setBreakpoint(
374 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_setBreakBeforeNextLine(
378 this->m_breakpoint.breakBeforeNextLine =
true;
384 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_clearBreakBeforeNextLine(
388 this->m_breakpoint.breakBeforeNextLine =
false;
394 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_report_seqFailed(
407 void FpySequencer::Svc_FpySequencer_SequencerStateMachine_action_report_seqStarted(
414 this->
seqStartOut_out(0, this->m_sequenceFilePath, this->m_sequenceArgs);
442 return this->m_breakpoint.breakBeforeNextLine ||
443 (this->m_breakpoint.breakpointInUse &&
444 this->m_breakpoint.breakpointIndex == this->m_runtime.nextStatementIndex);
454 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