Forward STATUSTEXT to GCS

Hi, I am receiving STATUSTEXT messages from MAVROS successfully in Ardupilot. I would like to forward those to my GCS. I have configured my “–out IP:port” correctly as I am receiving other information in the GCS such as battery status, HWstatus, meminfo, etc. I would now like to have the STATUSTEXT messages also show up on my GCS. I’ve seen how i can use add the “-f” flag to mavlink command for PX4, is there something similar for ArduPilot?

I assume MAVROS us running on a companion computer?

Does it work if MAVROS is configured as a different system ID (as opposed to just having a different component ID)? I’m guessing other things might break, just gathering data here :slight_smile:

MAVROS is running on the same Ubuntu computer as Ardupilot SITL at the moment. I’ve configured the FCS_URL for mavros to the SITL. From my understanding, the statustext i’m sending is only being sent to the system/component ID of SITL?

STATUSTEXT doesn’t contain any targetting information (nor should it -
it’s basically just yelling out that EVERYTHING IS FINE AND NOTHING VERY
IMPORTANT IS ON FIRE, and everybody should be interested in that sort of
thing). You can see that in the message definition here:


(compare to MISSION_ITEM, which is targetted:

)

We just happen to log statustexts as a special case in ArduPilot.

Suggest try running MAVRos with a different system ID to see what happens.

I tried to run it with the systemID of the GCS i’m trying to hit. It didn’t like not having the FCU to hit. Could I bundle the statustext into a mavlink message, publish to /mavlink/to, with target and component ids as broadcast, and maybe get it sending everywhere?

I think I just ran into the same problem. @TiffanyKalin were you able to make any progress with this?

@TiffanyKalin I saw your issue in github about this same thing and was wondering what you changed so you could see the statustext messages in Mavlink Inspector. I can see the /mavros/statustext/send topic updating when I publish new messages, but they aren’t showing up in qGroundControl

@erikasnow @TiffanyKalin

I am sending /mavros/statustext/send messages but I cannot see them anywher.

I have an companion computer connected to my FCU and want to see debug messages to ground control . I was thinking that statustext is the right message to send short strings. Why am I am not seeing them? Did you find a solution ?

Same/Similar issue, I sent a STATUSTEXT message from my companion computer.
I could see it in the Ardupilot SITL, but I cannot see them appear in QGroundControl.

Hi,
Does anybody has an idea about the topic ?
It’s the same for me:

  • my companion computer send STATUSTEXT to a cube with ardupilot 3.6.12 on it.
  • I receive the telemetry with herelink controler
  • nothing is displayed on qground about the message of the companion computer.

Moreover, when I connect a mavros to the telemetry on ground, I can send STATUSTEXT to the mavros in the companion computer ! (however not displayed in qground)

Companion -> Cube -> herelink : not working.

Companion <- Cube <- herelink <- Mavros (FCU url = UDP from herelink) : working but not displaying in Qground

thank you in advance

You have to set source_system for mavlink connection same as autopilot source system. In my case it is 2, it can be detected in heartbeat message sent by autopilot.

Example whe udp is used. Could be udpin or udpout based on what setup you have for mavproxy.
master = mavutil.mavlink_connection(‘udpout:–your ip–:your port’,source_system=source_sys)

or with serial:
master = mavutil.mavlink_connection("/dev/ttyAMA0", baud=115200,source_system=source_sys)

Late to the Party but here’s a definite answer.

For a thread I found most relevant to my problem and yet confusing with the answers, I have a solution.

Understanding how MAVLink works is the first step. This will guide you with other issues regarding the same too.

Knowledge is here: Routing · MAVLink Developer Guide

All it has to do is with SYSTEM_ID (target_id) and SYSTEM_COMPONENT (target_component)

The SYSTEM_ID ranges from 1 to 255. But incrementing from 1, they are allotted to Autopilots. and similarly decrementing from 255 are for GCSs.

Now since any kind of scripting for a vehicle using MAVLink is supposed to function as the vehicles part, such systems should have SYSTEM_ID as the one addressing the Autopilot, in a default case 1. And what should change is only SYSTEM_COMPONENT. Choosing what kind of number for SYSTEM_COMPONENT is given here : MAV_COMPONENT

The above link has a pretty well documented description for you usecases.

As clarified above we can now have a bunch of systems onboard with a range component IDs but the same SYSTEM_ID, denoting a single unit. These elements could be any scripts for autolanding, ROS connectors, GPSs, log recorders etc.

Any messages you want these scripts to convey needs to now go to the systems which record data (GCS, any other MAVLink reader). So if any message originates from a SYSTEM_ID of an autopilot along with the configured COMPONENT, it is also sent to the GCSs, and so the messages are seen.

Hence please make note of whether you are making GCS side scripts or Vehicle side. And program them so.

I tried to explain the best I could, but I am here if you need any clarifications.