-
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
Feature/bsk 200 python modules #239
Feature/bsk 200 python modules #239
Conversation
Tagging @joaogvcarneiro and @schaubh for review |
cdddc09
to
633c1ef
Compare
15ad398
to
3ceca94
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.
Thanks for putting this together. I'm good with this branch and the associated documentation.
3ceca94
to
9b6bd75
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.
Legend:
🔻 Issues to address before merge
🔶 Requests that should not block merge, but should at least be discussed
🔵 Recommendations that can be ignored if desired
ad4aec8
to
bd1373d
Compare
d43f744
to
3f0c000
Compare
The SWIG interface makes use of the director feature. The test file ensures python modules run like C++ modules, respecting priority and supporting messaging from/to them.
3f0c000
to
56fa9df
Compare
Description
A SWIG file was created for
sys_model.i
so that the type is available for subclassing on the Python layer. The "director" feature was used so that polymorphism is two-directional: not only can Python objects call C++ methods, but C++ calls can be redirected to Python implementations. This means that one simply needs to overload the ´Reset´ and ´UpdateState´ methods in the Python layer and C++ will call the overloaded methods.Verification
An automatic test was added, which checks that the ´Reset´ and ´UpdateState´ Python methods are called, that they are called in the appropriate order (respecting priority), and that messages can be linked as expected.
Documentation
scenarioAttitudePointingPy
was updated to reflect the new Python module architecture./Learn/makingModules/pyModules.rst
was also updated to remove a warning that no longer applies with the new system.Future work
DynamicEffector
andStateEffector
.