You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jan 5, 2019. It is now read-only.
The Arduino can send more than one message in response to a single write but only the first message is processed, the others will be ignored. The Arduino can send multiple messages in the following cases.
A bad message is received from the arduino_handler and in this case (if the debug code is enabled) the Arduino will send back the bad message followed by a normal sensor status message (if all sensors are operating normally). This is probably no big deal assuming there aren't many bad messages received by the Arduino (which seems to be the case).
If more than one sensor reports a problem. In this case the Arduino will send multiple sensor error messages but only the first will be processed by the arduino_handler, the other(s) will be ignored. This is undesirable since it will make hardware diagnostics difficult.
Note that a combination of 1 and 2 is possible.
When rosserial was used to communicate with the Arduino, it looks like it published sensor status to the /internal_diagnostics topic in ROS through rosserial and so the state of all sensors was reflected properly via the /diagnostics topic (which no longer works).
The arduino_handler should probably perform multiple readlines until the buffer is empty, storing multiple messages in a list and processed one by one.
The text was updated successfully, but these errors were encountered:
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
The Arduino can send more than one message in response to a single write but only the first message is processed, the others will be ignored. The Arduino can send multiple messages in the following cases.
A bad message is received from the arduino_handler and in this case (if the debug code is enabled) the Arduino will send back the bad message followed by a normal sensor status message (if all sensors are operating normally). This is probably no big deal assuming there aren't many bad messages received by the Arduino (which seems to be the case).
If more than one sensor reports a problem. In this case the Arduino will send multiple sensor error messages but only the first will be processed by the arduino_handler, the other(s) will be ignored. This is undesirable since it will make hardware diagnostics difficult.
Note that a combination of 1 and 2 is possible.
When rosserial was used to communicate with the Arduino, it looks like it published sensor status to the /internal_diagnostics topic in ROS through rosserial and so the state of all sensors was reflected properly via the /diagnostics topic (which no longer works).
The arduino_handler should probably perform multiple readlines until the buffer is empty, storing multiple messages in a list and processed one by one.
The text was updated successfully, but these errors were encountered: