f7b453359d
This converts MS56XX to use the thread started by SPI/I2C instead of using the timer thread. This also fixes a possible starvation of the main thread: 1) INS driver registers itself to be sampled on timer thread 2) MS56XX registers itself to be sampled on timer thread 3) Main thread waits for a sample from INS with ins.wait_for_sample() 4) timer thread is waiting on update from MS56XX and consequently the main thread is waiting on an I2C/SPI transfer Besides this starvation there's another one due to reuse of the timer lock in order to pump values from the timer thread to the main thread. A call to the update() method when we have a sample available would need to wait on any other driver holding the timer lock. Now there's a lock just to pass the new values from the bus thread to the main thread with a very tiny critical region, not waiting on any bus transfers and/or syscalls. |
||
---|---|---|
.github | ||
AntennaTracker | ||
APMrover2 | ||
ArduCopter | ||
ArduPlane | ||
benchmarks | ||
docs | ||
libraries | ||
mk | ||
modules | ||
tests | ||
Tools | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.pydevproject | ||
.travis.yml | ||
BUILD.md | ||
COPYING.txt | ||
Doxyfile.in | ||
eclipse.cproject | ||
eclipse.project | ||
Makefile | ||
Makefile.waf | ||
README.md | ||
reformat.sh | ||
uncrustify_cpp.cfg | ||
uncrustify_headers.cfg | ||
Vagrantfile | ||
wscript |
#ArduPilot Project#
The ArduPilot project is made up of:
User Support & Discussion Forums
Support Forum: http://discuss.ardupilot.org/
Community Site: http://ardupilot.org
Developer Information
Github repository: https://github.com/ArduPilot/ardupilot
Main developer wiki: http://dev.ardupilot.org
Developer email group: drones-discuss@googlegroups.com
Contributors
Dronecode.org
ArduPilot is part of Dronecode.org, a Linux Foundation collaborative project.
Dronecode encompasses projects that control flight, enable mission planning, and otherwise make drone flight and advanced functionality possible.
Dronecode development is done at the project level with coordinating and resource allocation performed by the TSC and the Board.
For information on the foundation please visit https://www.dronecode.org and https://github.com/Dronecode for further information or contact celder@dronecode.org
How To Get Involved
The ArduPilot project is open source and we encourage participation and code contributions: guidelines for contributors to the ardupilot codebase
We have an active group of Beta Testers especially for ArduCopter to help us find bugs: release procedures
Desired Enhancements and Bugs can be posted to the issues list.
Helping other users with log analysis on http://discuss.ardupilot.org/ is always appreciated:
There is a group of wiki editors as well in case documentation is your thing: ardu-wiki-editors@googlegroups.com
Developer discussions occur on drones-discuss@google-groups.com
License
Maintainers
Ardupilot is comprised of several parts, vehicles and boards. The list below contains the people that regularly contribute to the project and are responsible for reviewing patches on their specific area. See CONTRIBUTING.md for more information.
- Andrew Tridgell
- Vehicle: AntennaTracker, Plane
- Board: APM1, APM2, Pixhawk
- Randy Mackay
- Vehicle: Copter
- Robert Lefebvre
- Vehicle: TradHeli
- Grant Morphett:
- Vehicle: Rover
- Matthias Badaire
- Subsystem: FRSky
- Paul Riseborough
- Subsystem: AP_NavEKF
- Lucas De Marchi
- Subsystem: Linux
- Peter Barker
- Subsystem: DataFlash
- Subsystem: Tools
- Michael du Breuil
- Subsystem: uBlox GPS
- Víctor Mayoral Vilches
- Board: PXF, Erle-Brain 2, PXFmini
- Mirko Denecke
- Board: BBBmini
- Georgii Staroselskii
- Board: NavIO
- Emile Castelnuovo
- Board: VRBrain
- Julien BERAUD
- Board: Bebop & Bebop 2
- Pritam Ghanghas
- Board: Raspilot
- [Jonathan Challinger] (https://github.com/3drobotics/ardupilot-solo)
- Vehicle: 3DRobotics Solo ArduPilot maintainer
- Gustavo José de Sousa
- Subsystem: Build system
- [Craig Elder] (https://github.com/CraigElder)
- Administration: Dronecode Technical Community Manager
- [Tom Pittenger] (https://github.com/magicrub)
- Vehicle: Plane