MAVProxy addon or two are a work-in-progress ( netconsole and mavgui )


I've been working on-and-off on a cross-platform GUI for mavproxy, which I've been calling "mavgui".    it's written in QT, and so will run natively anywhere where Qt will ( Mac, Android, Windows, etc ) ... and I've just started to add support in it for a "browser" window ( http://diydrones.com/profiles/blogs/browser-based-map-module-for-ma...) , that app would fill perfectly!   

I think I'm going to integrate these three into a GCS solution.   :-)  

My Work-in-Progress  QT based GUI is here:   https://github.com/davidbuzz/MAVProxy/tree/master/mavgui

 

The great thing about the mavgui I'm working on is that it's GUI is put together with a tool called "Qt Designer", and is 100% python, so it's trivial to change/tweak the layout for different use-cases like phone etc.    The Designer outputs XML, and the rest of the application is 100% python.     Here's a quick look at the XML loaded into the "Designer"....

 

 

It's not really "one giant GCS" in any sense of the word.. for a start it uses mavproxy and mavproxy modules for most of the underlying comms stuff, and everything else is just easy-to-read python.   :-)    maybe we should start a new thread for mavgui.  ?

 

There are a couple of parts to my experiment:  

(1)   completely separate the GUI from mavproxy, so if the GUI crashes, the mavproxy does not.

(2)  integrate with a standard mavproxy, with no changes required other than adding a "module".

 

"netconsole" - an underlying part of mavgui

 

Sending commands from the GUI "TO* mavproxy ( and hence your UAV) occurs over a tcp/ip connection to the MAV> console, by using a new mavproxy module called "netconsole".     As a bonus, you can now also use netcat, telnet,  or any other language to instruct MAVProxy.    :-)  

https://github.com/davidbuzz/MAVProxy/blob/master/modules/netconsol...

 

want to put your UAV into AUTO mode from the command line?   try this:   echo "AUTO" | nc localhost 45678

want to communicate with a Mavproxy on another machine on the LAN?  try this:    telnet otherhostip 45678 ( and you'll see a MAV> prompt, just like it was local!

 

using pymavlink...... another undelying part.....

There's only so much you can do with a tool like "netconsole", as I cant ( yet ) use it to communicate information about the current state of  the UAV.... so I've additionally additionally got mavproxy sending a stream of UDP packets ( --out=127.0.0.1:xxxx ) to mavgui, and using pymavlink I am displaying the latest HUD style information in the GUI.  ( like altitude, speed, gps details, etc etc ) ... most of the work here has gone into making the underlying communications system operate well, so the mavgui GUI's not yet "perfect" by any stretch of the imagination.... but it's a start.....

 

Just thought you'd all like to know....... :-)

 

Buzz.

 

Views: 297

Comment

You need to be a member of DIY Drones to add comments!

Join DIY Drones

Social Networking

Contests

Season Two of the Trust Time Trial (T3) Contest has now begun. The fourth round is an accuracy round for multicopters, which requires contestants to fly a cube. The deadline is April 14th.

A list of all T3 contests is here

Groups

Advertisement

© 2013   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service