-
-
Notifications
You must be signed in to change notification settings - Fork 208
ENH: Controller (AirBrakes) and Sensors Encoding #849
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
Conversation
Gui-FernandesBR
left a comment
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.
LGTM,
great work.
Can yoiu check if all the modified lines are included in coverage? tks for the improvement
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #849 +/- ##
===========================================
+ Coverage 80.02% 80.09% +0.07%
===========================================
Files 98 103 +5
Lines 12004 12634 +630
===========================================
+ Hits 9606 10119 +513
- Misses 2398 2515 +117 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Could you @Gui-FernandesBR re-review the changes I made to the .git actions? The tkinter and tcl errors were happening in the windows actions for unknown reasons to me (always these libraries). I tried an experimental test with a non-interative matplotlib backend and everything seem to have run smoothly. |
789fb3b to
759e1c2
Compare
* ENH: add an option to discretize callable sources encoding. * ENH: allow for disallowing pickle on encoding. * MNT: Update CHANGELOG. * ENH: support for air brakes, controller and sensors encoding. * STY: solve linting and style remarks. * BUG: parachute callbacks attribute naming. * GIT: test agg backend for matplotlib workflows. * TST: include sensors and controllers encoding tests as non slow. * MNT: change recursive to iterative approach on hash search.
Pull request type
Checklist
make format && make pylint) has passed locallypytest tests -m slow --runslow) have passed locallyCHANGELOG.mdhas been updated (if relevant)Current behavior
Controllers are not correctly encoded nor decoded; this is especially regarding rockets with
AirBrakeswhich are currently not exportable to an.rpyfile. Sensors are also not correctly decoded.New behavior
This PR brings the encoding and decoding of
ControllerandSensorclasses. The main challenge for it is that theControllersobserve a set ofinteractable_objects, which must be the same ones as the ones added to theRocket.It is important to note that a naive decoding would create a copy of the
interactable_objects. Therefore, hashes were added to the signature of rocketpy objects so as to allow linking them after the decoding to the correct controller.Retro compatibility should be carefully examined, but it was taken into consideration when writing this PR. The test that uses an
v1.8.rpyfile is passing normally.Breaking change