ArduPilot / ArduPilot/MissionPlanner

Linux & Mac fixes and packages

Open
#1,148 21 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
2.4k
Forks
2.9k
Avg merge
19h 16m
Merged PRs (30d)
4

Description

I've been playing around with MissionPlanner to get it working for Linux. I've had some luck (not 100% yet) - but I'd like to share my work. It's not ready for merging yet, but would like to hear some feedback on it. I haven't dug any deaper into the hidden functionality and layout issues, but it's usable for me now.

https://github.com/ustramooner/MissionPlanner/tree/MONO-linux

**The kind of stuff I've worked on is:**
- getting xbuild to work (mostly just file naming - case sensitivity)
- got a basic debian packaging system going (which will help with support - i see a lot of issues are due to people using older mono versions or not installing certain packages)
- got a basic mac app & dmg set up
- sqllite - i'm a bit confused how the Mono.Data.SqliteClient package works, as I understand this is old
- I've had to delete out the joystick stuff - but the plan would be to abstract it with some yet-to-be-discovered library
- moving out the config and files that are written to to a configuration directory. linux install paths are read-only (and i think this is good practise to not write to your install dir). Using MainV2.UserPath.

**bigger issues i've come across:**
- NumpyDotNet - what's the plan here - it doesn't seem to be supported anymore, and is only available on windows. I tried porting it, but got stuck on something with the numerictypes.py
- random lock-ups - this makes it a bit dangerous to fly with so I always have APM Planner ready to go. For example I come across an issue where the screen locks up - i haven't figured it out exactly but seems to be related to a multi-threaded timing issue with X windows - when putting sleeps in certain places it seems to be better/fixed - several places still have this isssue.

**currently left to do:**
- sort out joystick code. EDIT: a basic abstraction (but not working as i don't have a joystick) is done
- be nice to filter the serial devices a bit better (currently it shows all the /dev/tty\* devices - where as APM Planner manages to filter down to only more relevant devices).

Looking forward to hearing some feedback!

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the linked MONO-linux branch and its xbuild and packaging changes. Then examine MainV2.UserPath, the joystick and serial-device work, and the NumpyDotNet numerictypes.py issue; done would mean the Linux and Mac fixes, packages, and remaining platform issues have a defined, working scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
build-system, desktop, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.