-
Notifications
You must be signed in to change notification settings - Fork 310
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 Interfaces for reporting of error and warning messages from HW #1319
base: master
Are you sure you want to change the base?
Add Interfaces for reporting of error and warning messages from HW #1319
Conversation
This pull request is in conflict. Could you fix it @mamueluth? |
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.
First batch of comments.
// create error signal interface | ||
InterfaceInfo error_interface_info; | ||
error_interface_info.name = hardware_interface::ERROR_SIGNAL_INTERFACE_NAME; | ||
error_interface_info.data_type = "std::array<uint8_t>"; |
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.
When we define those types, we should think about how to name them in URDF too. This looks a bit complicated.
What do you think if we say that the syntax for vectors/arrays is vector<_type_>[size]
for example here would be vector<uint8_t>[32]
. As long as we are pre-initializing the whole memory, by using reserve
for example`, we should not be breaking real-time capabilities of the system.
error_interface_info.data_type = "std::array<uint8_t>"; | |
error_interface_info.data_type = "vector<uint8_t>[32]"; |
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.
The naming is to complicated. I will change it. But since the size should not be changeable, I would rather go with array then vectors.
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.
wouldn't array also be better for realtime because of memory allocation?
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.
Didn't we say to remove this and go directly with variants?
730f2e7
to
a7996c3
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1319 +/- ##
===========================================
- Coverage 75.51% 48.04% -27.47%
===========================================
Files 41 42 +1
Lines 3328 3973 +645
Branches 1921 2160 +239
===========================================
- Hits 2513 1909 -604
- Misses 421 481 +60
- Partials 394 1583 +1189
Flags with carried forward coverage won't be shown. Click here to find out more.
|
19652e8
to
0929fe9
Compare
setting/gettting
* variant * adjusting of resource manager
* components check for export of interfaces * change intefaces to allow custom export and test
c27990a
to
ccfe700
Compare
Can this be closed? Or massively refactored? |
I Will refactor as soon as other stuff is merged. There are a lot of duplicate changes since i based on first PRs. |
Part of some bigger changes to Command-/StateIntefaces and Handles in general. First this PR has to be merged.
Add report interfaces for emergency stop, error and warning:
The idea behind this PR is that each component provides some default interfaces for reporting of errors, error messages and warnings and warning messages. StateIntefaces are used for this which default names (e.g. <component_name>/ERROR_SIGNAL).
The component interface (actuator_inteface, sensor_intefrace, system_inteface) creates and stores them locally. The interfaces are named like <hardware_name>/<report_interface_type>. E.g. if hardware is called rrbot -> interface for WARNING_SIGNAL is called: rrbot/WARNING_SIGNAL. Later with variant support the interfaces will hold following datatypes:
Where the <error/warn>message_interfaces holds the error/warn message at position X for the <error/warn>interface's error signal at position X .