Status Text (Notification) Box Color

Hi all,

I am very new to QGroundControl overall, but started poking around the code and compiling it myself. I have a small TCP interface that I use to connect to an ArduPilot simulator that is then connected to QGroundControl. I am able to get custom messages to pop up by sending a MAV_STATUSTEXT to the autopilot which then will send the notification to QGroundControl (as long as the severity level is at least MAV_SEVERITY_ERROR it seems).

I notice all the the notifications are the same format, with the yellow alert box. I was wondering two things:

  1. Would it be possible to have the color of the alert box change based on severity of the alert? I notice there is a comment in the code:
    void UASMessageHandler::handleTextMessage(int, int compId, int severity, QString text)
    {
    // Hack to prevent calibration messages from cluttering things up
    if (_activeVehicle->px4Firmware() && text.startsWith(QStringLiteral("[cal] "))) {
    return;
    }

     // Color the output depending on the message severity. We have 3 distinct cases:
     // 1: If we have an ERROR or worse, make it bigger, bolder, and highlight it red.
     // 2: If we have a warning or notice, just make it bold and color it orange.
     // 3: Otherwise color it the standard color, white.
    

But it doesn’t seem to be implemented? Or I haven’t seen how to do that. If someone knows how I could edit that myself, I would love to be pointed in the right direction!

  1. Is there any reason as to why only severity ERROR and above is displayed? Or am I doing something wrong there?

If these features are not supported, I would definitely be willing to code up a patch myself! So if there was a procedure for me to follow to submit code for review to be included at some point that would be extremely helpful as well (I’d love to begin contributing regardless, so any information would be helpful!).

Lastly, I have attempted to the same thing using PX4 simulator instead of ArduPilot, but I was not getting the STATUSTEXT to show up in QGroundControl. Does anyone know off hand if that is expected to be supported in the PX4 <-> QGC world?

Thanks in advance for your help!

  • Brian

Yes because anything below that is just informational and it’s annoying to have them pop up in front of everything all the time. You can use the vehicle message tool on the toolbar to see all messages. It also changes color it you get a high severity message.

Ah yes! That completely makes sense.

Thank you for pointing out the vehicle message tool on the toolbar as well, I was able to notice its icon change as well with new messages coming in.

I’ve found this post as well QGroundControl UI customization which has helped me a bit in understanding how to create some customization for the UI.

This is my first time digging more into the QGroundControl, and am interested in making some changes to QGroundControl to potentially help it meet regulation standards for use in BVLOS missions. Actually a co-worker of mine gave a presentation at the PX4 Developer Summit this past week: https://youtu.be/aZS07EwNWAc?t=21285 (this is also why I was interested in PX4 sending the alerts as well rather than just ArduPilot)

During that presentation he identified a few areas that QGroundControl may be lacking in requirements (slide titled “Requirements Gap”) where he indicates 3 items:

  1. Continuous alerting for detected failures
  2. Adoption of AC 25.1322-1 (colors, terminology, etc)
  3. Visual awareness of suppressed functions (eg auditory) (which is why I may have oddly seemed happy discovering the icon change mentioned above!)

In regards to 2, part of this requirement states:
“Visual alert indications must conform to the following color convention (§ 25.1322(e)):
(1) Red for warning-alert indications.
(2) Amber or yellow for caution-alert indications.
(3) Any color except red or green for advisory alert indications.”
So I was hoping there was a way we could make multiple alert options within the QGCPalette, rather than just alertBackground, maybe one for each level where an alert would be displayed, such as alertBackgroundError, alertBackgroundCritical, alertBackgroundAlert, and alertBackgroundEmergency, which could then be set by default to follow that requirement as well as being customizable.

So I was wondering

  1. If the main developers that are controlling QGroundControl would be interested in accepting such a change, and
  2. If so, help point me in the correct direction to make this kind of customization.

Like I said, would love to and am willing to contribute to community myself, and I’m just really starting now going through QGroundControl code so would really appreciate any direction in getting how I could get this done. And hopefully continue a relationship where I can continue to be an active contributor for the foreseeable future.

Thanks again in advance for any help. Looking forward to hearing more!

Can yout put details into a GitHub issue and we can continue discussion there

Done: https://github.com/mavlink/qgroundcontrol/issues/8913

Thanks DonLakeFlyer!