Hi there :-)
I downloaded Mission Planner and managed to run it on both MacOS X 10.7.3 (Lion) and Linux (contemporary 64bit distro, exact brand is irrelevant). Upon doing so, I've noticed a few minor quirks/bugs in the code that, if solved, would greatly improve end-user experience when using such non-native platforms (i.e. Mono instead of .NET).
Examples:
1) The Updater assumes that the host operating system uses "\" as the path separator which results in funny-named folders being created when updating on a non-Windows host.
2) The main code uses OpenTK for graphics display (which eventually resolves to the system OpenGL ICD on Windows and to the Mesa OpenGL ES implementation on non-Windows) but hardcodes Microsoft DirectInput as the only joystick provider. Both aspects pose many problems (code cleanliness and Microsoft native-code assemblies redistribution licensing aside) for non-native environments.
I propose I make a git clone of your repository and start working on a solution for those problems. While the first one is trivial, the second one can be solved in more than one way, my current intent being to also use OpenTK for input devices, thus restoring portability of the code. An alternate solution would be to use SDL (and its C# bindings) for both graphics and input.
What do you think? Is that ok or do you already have other plans for that code?
I do not intend to ever run Windows (and .NET) because I want to come up with a fully embedded solution using APM v2 on the airframe and a BeagleBoard-based ground station that would run Mission Planner and provide RTK precision positioning for autonomous landings -- which is why I'm interested in making Mission Planner's code as clean and as portable as possible :-)
Thank you for your time,
Radu
Replies
How can I get a copy of this Mac OSX version. I use a MacBook Pro as my GCS and I would love to run Mission Planner natively in OSX with out staring in windows.
Is you have a version available that I can test for you I would love to help out and give feedback on the functionality of it. I have a foam UAS that I use just for testing.
Let me know. My Email is uavpilotjoe@me.com
Hi Michael and thanks for taking the time to reply.
I'm not discouraged, I think APM is a great project and it feels good to be able to give something back to the community.
So, I'll look into the joystick and video capture parts first and let you know how I'm going :-)
Radu
Hi Radu,
1. the issue 1 i do know about, and do plan on fixing, just hadnt got there yet.
2. both opentk and native ciaro is used by backend mono for the screen stuff.
With Joystick i implemented this on windows before going more cross platform, that and never had any linux joystick requests, no didnt bother.
3. issue you havent idenitfied it capture devices, for video. this i have no idea about how to cross platform nicerly.
4. i have an update im testing at the moment that makes reading and writing wps not crash. paramaters currently work, but wps die.
there are alot of bug in mono itself, and i think you will discover this.
Michael