-
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 prescribedRot1DOF module to C++ with coast profiler #597
Port prescribedRot1DOF module to C++ with coast profiler #597
Conversation
b4070b2
to
f2ecdeb
Compare
63be960
to
66c5428
Compare
66c5428
to
924b147
Compare
The prescribedMotion dynamic effector test must be updated to use the new profiler motion, not the depreciated |
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.
Almost there. Please
- integrate the RST documentation fix marked with [squash]
- update the prescribed motion dynamic effector unit test to use the new profiler, not not depreciated
prescribedRot1DOF
module
924b147
to
870a335
Compare
@schaubh Thank you for your feedback, I just pushed your requested changes. |
473051a
to
9ec3353
Compare
9ec3353
to
ed5af4c
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.
Nice work! Good to go.
This variable is required to be zero in order to use this module; therefore it is unneeded
The scalar theta, thetaDot, and thetaDDot local variables are changed to private module variables.
The documentation is updated to reference the new cpp rotational profiler module
The integrated unit test is updated to use the new cpp rotational profiler module
ed5af4c
to
9c80ffa
Compare
Description
This PR ports the existing
prescribedRot1DOF
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 #555 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 prescribedRot1DOF module has been added and updated.
Future work
The prescribedRot1DOF module is now deprecated. A general Basilisk module deprecation facility needs to be added so that we can mark an entire module as deprecated.