F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
FpySequencerDirectives.cpp
Go to the documentation of this file.
2 
3 namespace Svc {
4 
5 void FpySequencer::sendSignal(Signal signal) {
6  switch (signal) {
9  break;
10  }
13  break;
14  }
17  break;
18  }
19  default: {
20  FW_ASSERT(0, static_cast<FwAssertArgType>(signal));
21  }
22  }
23 }
24 
27  this->sendSignal(this->waitRel_directiveHandler(directive));
28 }
29 
32  this->sendSignal(this->waitAbs_directiveHandler(directive));
33 }
34 
36 Signal FpySequencer::waitRel_directiveHandler(const FpySequencer_WaitRelDirective& directive) {
37  Fw::Time wakeupTime = this->getTime();
38 
39  wakeupTime.add(directive.getduration().getSeconds(), directive.getduration().getUSeconds());
40  this->m_runtime.wakeupTime = wakeupTime;
42 }
43 
45 Signal FpySequencer::waitAbs_directiveHandler(const FpySequencer_WaitAbsDirective& directive) {
46  this->m_runtime.wakeupTime = directive.getwakeupTime();
48 }
49 
50 } // namespace Svc
Definition: Time.hpp:9
called when the expected statement response comes in, and it is OK. only raised in the RUNNING...
void sequencer_sendSignal_stmtResponse_success()
Send signal stmtResponse_success to state machine sequencer.
void directive_waitRel_internalInterfaceHandler(const FpySequencer_WaitRelDirective &directive) override
Internal interface handler for directive_waitRel.
void directive_waitAbs_internalInterfaceHandler(const FpySequencer_WaitAbsDirective &directive) override
Internal interface handler for directive_waitAbs.
void sequencer_sendSignal_stmtResponse_failure()
Send signal stmtResponse_failure to state machine sequencer.
void sequencer_sendSignal_stmtResponse_beginSleep()
Send signal stmtResponse_beginSleep to state machine sequencer.
U32 getUSeconds() const
static Time add(const Time &a, const Time &b)
Definition: Time.cpp:193
called when the expected statement response comes in, and it is not OK. only raised in the RUNNING...
RateGroupDivider component implementation.
FpySequencer_SequencerStateMachineStateMachineBase::Signal Signal
#define FW_ASSERT(...)
Definition: Assert.hpp:14
U32 getSeconds() const