messagesNG - Next gen messages tab for Mission Planner

Prelude

The last time I checked the Ardupilot source code, I found more than a thousand different messages that could be sent from the flight controller to the Ground Control Station (GCS). Some of these messages contain essential notifications and warnings related to flight safety. However, in Mission Planner, these messages are simply displayed in a text box, and some with high severity are shown in the Heads-Up Display (HUD).

The issue is that in the messages text box, it’s challenging to differentiate an information message from a critical warning. And because Ardupilot can be quite chatty in some situations, high-severity messages in the HUD may only be displayed for one or two seconds.

To address these limitations, I have developed a replacement for the current messages tab. This aims to overcome these issues and provide a more valuable tool for Ground Control Station operators."

Design and Target audience

messagesNG is primarily designed for large or multi-screen Ground Control Station (GCS) installations. While it can be utilized on a small or single screen, the limited screen real estate may impact its usability. Certain functions have been incorporated to assist in long-range automated flight operations. These are particularly beneficial in scenarios where the operator has the time and attention to focus on messages and take appropriate actions.

Functions

  • Incoming messages are colored according to the message severity
  • GCS-generated messages are added to the message box for retention
  • Long messages transferred in multiple mavlink packets are reassembled and handled as a single message
  • All messages are actionable (currently, the operator can delete a message or put it to an ignore list to hide upcoming occurrences, future updates to call up descriptions, help, or checklist for a given message)
  • Messages display can be filtered for severity or severity range
  • Repeated messages can be “folded” to show the number of occurrences and the last occurrence time.
  • Displayed messages can be sorted by time or severity and time
  • Bulk delete of messages of a given severity
  • Messages display can detached from the main GCS window and moved/resized
  • Text size can be changed on the fly (CTRL+MouseScrollWheel)
  • Implemented fully in a plugin; no need to change Mission Planner code

Usage

The messagesNG window consists of two sections. The larger upper section displays the messages, while control buttons are located at the bottom.

The left group of buttons controls the severity level of the displayed messages. Additionally, the buttons indicate the number of actual messages in the given severity.

  • All - All messages
  • Err - Messages with Mavlink Severity 0,1,2,3
  • E/W - Error and Warning messages with Mavlink severity 0,1,2,3,4,5
  • Wrn - Warning messages with mavlink severity 4 and 5
  • INFO - Info and Debug messages with mavlink severity 6 and 7

The trashcan button deletes all the displayed messages.

You can change the font size (zoom level) by clicking on the messages display and using a CTRL+ScrollWheel.

Right-click on a message brings up the details window.
image

Here, you can delete the single message (including all occurrences) or put this message on the ignore list. Putting a message on the ignore list means it will be suppressed (not shown) until the next restart or until you delete the ignore list from the settings (see below). Note: Error messages on the ignore list will be displayed in the HUD.

Settings

Clicking on the gear icon at the lower left corner brings up the settings window.
image

Display Format

Sets how the messages are displayed

  • ‘Folded’ - The same messages are displayed once, with a counter. Latest message at the top
  • ‘FoldedWithSeverity’ - Same as folded, but messages are sorted by severity then by time
  • ‘Unfolded’ - All messages are displayed in the order they were received, without grouping

Maximum number of lines

Set the maximum number of lines kept in the message box; when it is reached, oldest message will be deleted. Decreasing it helps slow machines to cut update times

Color Mode

Dark / Light display color for the messages box

Show MAVLink Severity

Show mavlink severity in brackets after the time

Allow Delete All

Enable the Delete button when ALL messages are displayed

Clear ignore list

Clear the Ignored messages list; they will be displayed again

Detach messages tab

The messages tab will be shown in a separate window. You can reattach the tab by unchecking this option or by closing the form.

Messages zoom level

The zoom level of the textbox displaying the messages min 50% max 250%

Installation

You can find the source and the precompiled files on github
Go to releases and download the latest binary release pack. Unpack it to your Program Files(x86)\Mission Planner\plugins folder. The next start, you will have messagesNG as a new tab.

Build your own

Make sure that you have a working Mission Planner build environment.
Clone the repository into a directory that is the same level as your Mission Planner repository, not into your Mission Planner source folder.
Add the project from the MPMessagesControl to the Extlibs project folder in MP and MessagesNGplugin to the Plugins project folder.
Right-click on MPMessagesControl project and build, then do the same with MessagesNGplugin, THEN build and start the Mission Planner project.

NOTE

This is the first release; there may be bugs in it. But, due to the plugin structure, its failure should not affect Mission Planner. The old messages tab will be there as a backup.
Bug reports, suggestions for features or changes are welcome.

16 Likes

That is awesome ! nice work.

We should try to work up a webpage or something to have a listing of plugins ! Maybe just a new page on the wiki

1 Like

Thanks,
Regarding to plugins directory, I’m not aware many plugins out in the wild. Most third party plugins were already integrated into the main codebase by Michael.
Anyway, we can start a new page, and if you like I can do the editing and caretaking of that page.

1 Like

Looks awesome! Sadly, it doesn’t load for me or even appear in the CTRL+P plugins list.
I am on Mission Planner 1.3.81. If you need any additional info to help me or debug it, let me know

HI ! Thanks for notifying me, could you please send the Missionplanner.log files from the C:\ProgramData\MissionPlanner folder ? (it is a hidden folder) so I could check what happened at startup?

I just tried to install the plug-in but it’s not showing up for me either. Here’s the log file:

MissionPlanner.log (958.4 KB)

Just a quick question. Didn’t you copied the install files to Program Files(x86)/Mission Planner folder as well? If the same file exists in the plugin folder and the running folder simultaneously, then it does not load.

If not. Then I’ll put together a runtime plugin *.cs that checks plugin folders and replay the load procedure for further testing. But first please check the install dir…

I just double checked but the files are only in the plugin folder.

Seeing the same.

One of the two most recent releases of beta MP have somehow broken this also disappeared for me. I do believe about 2 updates ago.

Since I cannot repro it I put together a small runtime compile plugin to check the plugin loading environment.
Could you please copy it to the plugins folder, and run Mission Planner. It will create a PluginTest.Log file in Documents/Mission Planner folder. Please send it to me for checking.

plugintest.zip (1.5 KB)

Please run the plugin mentioned in this post messagesNG - Next gen messages tab for Mission Planner - #11 by Eosbandi and send the PluginTest.log file to me.

Please run the plugin mentioned in this post messagesNG - Next gen messages tab for Mission Planner - #11 by Eosbandi and send the PluginTest.log file to me.

Here you go Andras.

PluginTest.log (137.5 KB)

It seems I can do a repro on Windows10… hold on.

OK, Thanks for all who helped me to catch this error.
I published a new release 1.1 which intended to fix it.

Background : I included some debug details in the previous release and some secured installations did not take it well… Now all debug info is stripped. (There are no other changes)

Please let me know if this solves the issue.
Also Happy Festivities for all of you !

Hi Andras

The better half has taken me away from my computer for a few days over the holidays. I’ll try this out when I get back after Christmas. Thanks!

Thanks, meanwhile I managed to repro and fix it. After the festivities just download and install the latest release. Release release-1.1.0 · EosBandi/messagesNG · GitHub

Still don’t see it. These 3 files go in the plug-in directory right?

Yes.
One last thing to try. Open missionplanner.exe.conf in notepad (it’s in the program folder, along missionplanner.exe) and add this right before the closing line.

   <runtime>
      <loadFromRemoteSources enabled="true"/>
   </runtime>

If still not work, please run this plugin to do a plugin load log (I changed to more detailed logging) and send the PluginTest.log.

plugintestv2.zip (1.5 KB)