[ros-users] [Discourse.ros.org] [General] How to ENQUEUE RS232 commands in ROS?

Mark ros.discourse at gmail.com
Tue Jan 23 01:24:34 UTC 2018



Using ROS Kinetic and primarily python. I have a driver that subscribes to several topics including /cmd_vel and a bunch of other commands which interact with a control board via RS232.

One problem I have is if multiple commands are sent at the same time, it can break the communication stream (two messages sent/received at the same time in the buffer).

I fixed it by adding a "busy" boolean state, but this only works for 2 function (i.e. when one function runs, boolean state busy = TRUE, so the other function does not run and waits for busy = FALSE. however, when there a 3 functions, 2 of them are waiting and can sometimes trigger at the same instead of busy =FALSE)

In ROS is there a way to QUEUE function calls that are initiated by subcribers? for example if I have 5 subscribers each being triggered at a defined rate, how do I queue these commands so the RS232 communication with the control board is done one-at-a-time





---
[Visit Topic](https://discourse.ros.org/t/how-to-enqueue-rs232-commands-in-ros/3757/1) or reply to this email to respond.




More information about the ros-users mailing list