-
Notifications
You must be signed in to change notification settings - Fork 312
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
add a semantic command interface to "semantic_components" #1945
base: master
Are you sure you want to change the base?
add a semantic command interface to "semantic_components" #1945
Conversation
RQ: not build yet, issue with rest of repos for build. Will rebase on previous TAG for now.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1945 +/- ##
==========================================
+ Coverage 89.38% 89.40% +0.01%
==========================================
Files 132 138 +6
Lines 14663 14756 +93
Branches 1258 1262 +4
==========================================
+ Hits 13106 13192 +86
- Misses 1090 1096 +6
- Partials 467 468 +1
Flags with carried forward coverage won't be shown. Click here to find out more.
|
I've thought about it a little bit, and I'm not sure if we should add such a component when the GPIO command controller, which is very generic, is already available |
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 the PR including nice tests .
We discussed this shortly in todays WG meeting, and approve this addition.
I can understand the input @Wiktor-99, but imho
- it is an obvious extension of an existing concept
- it could also use joints and not only gpios
Please add it to the release_notes and some minor comments.
controller_interface/test/test_semantic_component_command_interface.cpp
Outdated
Show resolved
Hide resolved
controller_interface/include/semantic_components/led_rgb_device.hpp
Outdated
Show resolved
Hide resolved
Great! |
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 overall, I just added some comments to be in line with #1940
Maybe you have to format my suggestions once again to satisfy pre-commit.
controller_interface/include/semantic_components/led_rgb_device.hpp
Outdated
Show resolved
Hide resolved
controller_interface/include/semantic_components/semantic_component_command_interface.hpp
Outdated
Show resolved
Hide resolved
controller_interface/include/semantic_components/semantic_component_command_interface.hpp
Outdated
Show resolved
Hide resolved
controller_interface/include/semantic_components/semantic_component_command_interface.hpp
Outdated
Show resolved
Hide resolved
controller_interface/include/semantic_components/led_rgb_device.hpp
Outdated
Show resolved
Hide resolved
…e.hpp Co-authored-by: Christoph Fröhlich <[email protected]>
…onent_command_interface.hpp Co-authored-by: Christoph Fröhlich <[email protected]>
My bad, hadn't rerun the unit tests after accepting the change suggestions (minor issue with LED constructor). |
controller_interface/include/semantic_components/semantic_component_command_interface.hpp
Outdated
Show resolved
Hide resolved
controller_interface/include/semantic_components/led_rgb_device.hpp
Outdated
Show resolved
Hide resolved
controller_interface/include/semantic_components/semantic_component_command_interface.hpp
Outdated
Show resolved
Hide resolved
controller_interface/include/semantic_components/semantic_component_command_interface.hpp
Show resolved
Hide resolved
controller_interface/include/semantic_components/semantic_component_command_interface.hpp
Outdated
Show resolved
Hide resolved
controller_interface/include/semantic_components/semantic_component_command_interface.hpp
Outdated
Show resolved
Hide resolved
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.
Other than dropping the library LGTM.
controller_interface/include/semantic_components/led_rgb_device.hpp
Outdated
Show resolved
Hide resolved
…onent_command_interface.hpp Co-authored-by: Sai Kishor Kothakota <[email protected]>
- mark as virtual - fix missing const ref - add method docstring
controller_interface/include/semantic_components/led_rgb_device.hpp
Outdated
Show resolved
Hide resolved
@tpoignonec Can you please fix the pre-commit jobs? |
controller_interface/include/semantic_components/semantic_component_command_interface.hpp
Outdated
Show resolved
Hide resolved
controller_interface/include/semantic_components/semantic_component_command_interface.hpp
Outdated
Show resolved
Hide resolved
controller_interface/include/semantic_components/semantic_component_command_interface.hpp
Outdated
Show resolved
Hide resolved
controller_interface/include/semantic_components/led_rgb_device.hpp
Outdated
Show resolved
Hide resolved
controller_interface/include/semantic_components/semantic_component_command_interface.hpp
Outdated
Show resolved
Hide resolved
This pull request is in conflict. Could you fix it @tpoignonec? |
Co-authored-by: Sai Kishor Kothakota <[email protected]>
@saikishor I removed the constructor as discussed. Due to these changes, the MyCommandInterface(const std::string & name)
: SemanticComponentCommandInterface(name, {name + "/my_io_1", ... , name + "/my_io_N"})
{
} However, Regardless, LGTM at this point. PS: feel free to revert the last commit if needed |
Hi,
Is there any interest in defining a
SemanticComponentCommandInterface
analogous to theSemanticComponentInterface
, but for hardware command interfaces?Applications could include, among others, commonly used simple write-only devices such as LED, buzzers, beepers, etc.
It could also be used for GPIO arrays the same way the state interface can be used to read them in a standarized fashion.
This PR includes such a semantic component, as well as a basic example with a 3-channel (R/G/B) LED with two scenarios:
<name>/r
,<name>/g
, and<name>/b
Additionally, basic tests are proposed.