I’ve started a new project; MissionPlannerLite that aims to be a light - lite - version of MissionPlanner that:
Runs as fast as possible and doesn’t get slower when used for long.
Doesn’t collect/store data or do any sluggish background tasks
Supports Linux better - final target is be as native to Linux as possible. Now it already runs faster on wine or mono.
Only includes features for real flights - no simulator, telemtery configurator or other secondary features that makes MissionPlanner very slow and sluggish when doing actual critical work.
Not a replacement, as you’d need MissionPlanner for seconday or rarely used features.
Project page
I’ve already released an initial version that seems to work well.
Main features:
Targeted to x86 CPU
Optimized Release build using Visual Studio 2019
Less memory footprint, faster startup and general performance enhancements
No MissionPlanner logs. Telemetry logs should be working normally.
No Analytics/AltitudeAngel or other information collecting services. Many URLs - specially google-related as changed to fake URLs. Tell me if any still exists.
Removed non working or rarely used maps
Removed - or hided - many non-essential features, to enhance performance for real flight usage.
Works much better under Linux either using wine - v4.1 or newer - or mono
For missing features, if it’s essential for real flight usage, open an issue. Otherwise, use standard MissionPlanner version.
For developers, all modifications are located in MissionPlannerLite git branch.
I’ve just released MissionPlannerLite 0.12
Can be found on releases on github.
Finally, a MissionPlanner that is fully compiled on Linux, Is it the 1st ever?
Should be running much better using either wine or mono
It also runs very fast on Windows.
Changes can as usual be checked on MissionPlannerLite branch.
Main changes:
Solved many errors and warning on Linux build, using msbuild from mono stable.
Stripped down some more features; MAVftp, extra languages, Speech, Updater
Some general clean-ups and fixes
Can be built on Ubuntu - or any upstream stable mono supported Linux - using
msbuild -r MissionPlanner.sln /t:MissionPlanner /p:Configuration=Release,Optimize=true,DebugSymbols=false /p:BuildProjectReferences=true
It is a good idea, but without a detailed list of changes it is not usable (imho).
Also I would rater modify the original MP code to add the possibility to switch off/on features on compile time instead of cutting out code. It would be a code maintenance nightmare, and if you don’t keep up with the master then the Lite is doomed.
Once I finish initial strip down, I’ll document a full list of changes, hoping this is very soon. But code is public any way for the current moment.
Actually, due to the huge code base of MissionPlanner, and the fact that I’m not C# developer, I cannot currently do the enable/disable feature. But any help is welcome.
I’m still learning concepts of C# world, so it’d get better over time.
For me, I do the following for testing:
Start mavproxy and send two outputs, one for the original MissionPlanner and one for Lite. So I am not in trouble if I get a sudden crash with Lite version.
on/off I mean #defines and #ifdef’s.
If you remove a function instead of deleting the code, put in inside #ifdef’s or #ifndef’s and add a neccessary #define. It will make your changes universal and can be merged to the master codebase.