-
Notifications
You must be signed in to change notification settings - Fork 63
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
Port prescribedTrans module to C++ with coast profiler #588
Port prescribedTrans module to C++ with coast profiler #588
Conversation
b09b3d1
to
c2bc42a
Compare
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.
I just finished adding my changes directly to this PR @patkenneally, it is ready for @schaubh and you to review!
c2bc42a
to
66696e6
Compare
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.
Please see my comments. The CI test builds did not happen on this branch? I'm unable to compile the branch when I pulled the full forked repo. See comments on *.I file. This means I can't check documentation, unit test execution, etc.
Also, please see my comments of not moving this to simulation/dynamics
. We are keeping the profilers in other folders. Profiler modules are odd as they can simulation the physics of a component, or they can be used in FSW as well.
As this module can be used in FSW as well, we need to add a C-wrapped output message as well. Just takes a few lines. In the comment I outline how to do this.
...wAlgorithms/effectorInterfaces/prescribedTranslation/_UnitTest/test_prescribedTranslation.py
Outdated
Show resolved
Hide resolved
...imulation/dynamics/prescribedLinearTranslation/_UnitTest/test_prescribedLinearTranslation.py
Outdated
Show resolved
Hide resolved
src/simulation/dynamics/prescribedLinearTranslation/prescribedLinearTranslation.h
Outdated
Show resolved
Hide resolved
src/simulation/dynamics/prescribedLinearTranslation/prescribedLinearTranslation.cpp
Outdated
Show resolved
Hide resolved
src/simulation/dynamics/prescribedLinearTranslation/prescribedLinearTranslation.cpp
Outdated
Show resolved
Hide resolved
src/simulation/dynamics/prescribedLinearTranslation/prescribedLinearTranslation.i
Outdated
Show resolved
Hide resolved
src/simulation/dynamics/prescribedLinearTranslation/prescribedLinearTranslation.cpp
Outdated
Show resolved
Hide resolved
b2b5af0
to
7149ac3
Compare
7149ac3
to
dfd80d6
Compare
dfd80d6
to
7fe71cc
Compare
7fe71cc
to
5fb6260
Compare
2977097
to
e8b4c3f
Compare
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.
Did clean build on my system and everything passed. Documentation build was clean. I think this is good to go after rebasing on latest develop.
To improve clarity the module name is changed from prescribedTranslation to prescribedLinearTranslation
The documentation is updated to reference the new cpp linear translation profiler module
The integrated unit test is updated to use the new cpp linear translation profiler module
e8b4c3f
to
a730aa9
Compare
Description
This PR ports the existing
prescribedTrans
C module to a C++ module. The primary motivation for this migration is to provide a significantly simpler public api for the module. This simpler interface make the module easier to setup and use, and makes it much hard to use in an incorrect fashion.This PR is a refactor of a previously opened PR #565 which was later closed in favor of this migration to C++. As a result, this PR implements the features added in the previous PR (in their order) and then cleans up elements made redundant by the move to C++. As a first step the PR ports the existing module directly to a C++ class. Then a new coast feature is added where a period of zero acceleration is added between the two acceleration segments when the user sets the ramp duration via
setCoastRampDuration
. The final significant change to the module is that all class variables are made private, with only the needed accessor methods provided.Verification
The same module test is employed here with only modifications to account for the simplified module interface.
Documentation
The documentation from prescribedTrans module has been added and updated.
Future work
The
prescribedTrans
module is now deprecated. A general Basilisk module deprecation facility needs to be added so that we can mark an entire module as deprecated. I have a branch that does this and will open a separate PR for that.