-
Notifications
You must be signed in to change notification settings - Fork 54
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
Verify outbound values #83
Verify outbound values #83
Conversation
So do we really want to silently ignore invalid values? As the intended behaviour is for the controller to error-out and stop the EGM session anyway, what about Ideally we'd notify the user of the problem in some way. |
For now it is better than nothing.
That is what I mentioned at the end of my summary 😉
Agreed, however, I am a bit out-of-practice with exception handling (especially in multi-threaded applications). I also have other more pressing tasks in the near future, but I can add an issue for it. |
Could we then at least Normally |
Hm... I guess we could do that as a temporary solution. But I would prefer to do it in a separate PR, after at least this branch jontje/abb_libegm/add_external_axes_support has been merged. This is because that can also silently fail, if there is a mismatch between user configurations and the actual EGM messages received. |
I still believe it would be better not to silently fail (and I expect support requests about this in the future), but I also don't want to hold this up too long. So 👍 |
Thanks for the review @gavanderhoorn |
Fix #69.
This PR adds support functions for verifying that no
NaN
orinfinity
value(s) are passed to the robot controller.If a user passes a command containing
NaN
orinfinity
value(s) toabb_libegm
, then this will be detected and the command will be (silently) ignored. No message will be sent to the robot controller, which will trigger a41822: No data from the UdpUc device
error message in the robot controller.To improve the behaviour, then
abb_libegm
should perhaps throw an error instead of ignoring the command silently.