-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FpySequencer 0.1 #3334
base: devel
Are you sure you want to change the base?
FpySequencer 0.1 #3334
Conversation
…ading header from disk
this->sequencer_sendSignal_statementResponseIn( | ||
FpySequencer_StatementResponse(m_runtime.currentStatementOpcode, Fw::CmdResponse::OK)); | ||
} | ||
} // namespace Svc |
Check warning
Code scanning / CppCheck
Could not find a newline character at the end of the file. Warning
return m_goalState == FpySequencer_GoalState::RUNNING; | ||
} | ||
|
||
} // namespace Svc |
Check warning
Code scanning / CppCheck
Could not find a newline character at the end of the file. Warning
return true; | ||
} | ||
|
||
} // namespace Svc |
Check warning
Code scanning / CppCheck
Could not find a newline character at the end of the file. Warning
return this->m_bufferData; | ||
} | ||
|
||
bool StatementArgBuffer::operator==(const StatementArgBuffer& other) const { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
had to make another one of these Bufs cuz none of the other ones were usable in an fpp struct
Ref/Top/RefPackets.xml
Outdated
<channel name="Ref.cmdSeq.CS_CancelCommands"/> | ||
<channel name="Ref.cmdSeq.CS_CommandsExecuted"/> | ||
<channel name="Ref.cmdSeq.CS_SequencesCompleted"/> | ||
<channel name="Ref.fpySeq.SequencesCompleted"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added to ref topo for now, down to discuss
@@ -102,6 +102,10 @@ module Ref { | |||
stack size Default.STACK_SIZE \ | |||
priority 96 | |||
|
|||
instance fpySeq: Svc.FpySequencer base id 0x1200 \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
todo delete old seq
result = dispatchCommand(nextStatement); | ||
} | ||
|
||
m_runtime.statementIndex++; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rename to indicate this is the next statement idx
|
||
Fw::Time currentTime = getTime(); | ||
|
||
if (currentTime.getTimeBase() != m_runtime.wakeupTime.getTimeBase()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
comment explaining what has happened... tb changed
void FpySequencer::directive_waitAbs_internalInterfaceHandler(const Svc::FpySequencer_WaitAbsDirective& directive) { | ||
m_runtime.wakeupTime = directive.getwakeupTime(); | ||
} | ||
} // namespace Svc |
Check warning
Code scanning / CppCheck
Could not find a newline character at the end of the file. Warning
StatementArgBuffer::~StatementArgBuffer() { | ||
} | ||
|
||
StatementArgBuffer::StatementArgBuffer(const StatementArgBuffer& other) : Fw::SerializeBufferBase() { |
Check warning
Code scanning / CppCheck
Member variable 'StatementArgBuffer::m_bufferData' is not assigned in the copy constructor. Should it be copied? Warning
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
elif type_name == "Fw::Time": | ||
return 11 | ||
elif type_name == "Fw::TimeInterval": | ||
return 8 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
need a more permanent solution for this.
@LeStarch can you add everyone who you think should review this PR? |
// Construction, initialization, and destruction | ||
// ---------------------------------------------------------------------- | ||
|
||
FpySequencer ::FpySequencer(const char* const compName) : FpySequencerComponentBase(compName) {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO construct member types here
FwEnumStoreType m_allocatorId; | ||
|
||
// assigned by the user via cmd | ||
Fw::String m_sequenceFilePath; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
todo consider putting validation state items inside a Validation struct
Change Description
The 0.1 version of the
FpySequencer
, which replicates the functionality of the existingCmdSequencer
component.Features:
It uses FPP state machines extensively.
~1300 lines of CPP
~550 lines of FPP
Rationale
This is the first part of the roadmap for the implementation of the advanced sequencing language.