I am trying to use mavros + QGC to control ArduSub and running into trouble controlling the MAV message telemetry rates.
My setup: mavros is the GCS, and QGC is connected to mavros via UDP. Both have the same system_id (255), so both can send RC and/or INPUT commands. I always launch mavros, and sometimes launch QGC.
I am setting message rates by making ROS2 service calls to mavros:
$ ros2 service call /mavros/set_message_interval mavros_msgs/srv/MessageInterval "{message_id: 32, message_rate: 20}"
$ ros2 service call /mavros/set_message_interval mavros_msgs/srv/MessageInterval "{message_id: 31, message_rate: 20}"
This works great until I launch QGC. As soon as I launch QGC I see a bunch of REQUEST_DATA_STREAM messages in ArduSub that override the rates I’ve set via mavros. I can’t seem to find a way to turn this off in the QGC UI.
Skimming the QGC code, I see a routine in ArduSubFirmwarePlugin that requests MAV message streams at the specific rates I’m seeing: qgroundcontrol/ArduSubFirmwarePlugin.cc at master · mavlink/qgroundcontrol · GitHub
Does this make sense? Is there a way to turn this off?
Thanks!
(I originally posted this on the ArduPilot board, but I think that this is a better spot.)