61ef653181
The way this code is structured is a little bit different from the SPIDriver implementation: - We only open the bus once, no matter how many devices we have in it - There's a single transfer() method which uses half-duplex mode instead of full duplex. The reason is that for all cases in the codebase we are using half-duplex transfers using the full-duplex API, i.e. a single SPI msg with both tx and rx buffers. This is cumbersome because the buffers need to be of the same size and the receive buffer using an offset of the same length as the actux data being written. This means the high level APIs need to copy buffers around. If later we have uses for a real full duplex case it's just a matter of adding another transfer_fullduplex() method or something like this. - The methods are implemented in the SPIDevice class instead of having proxy methods to SPIDeviceManager as is the case of SPIDriver Also from now on we refer to the SPIDriver objects as "descriptors" because they have the parameters of each device in the SPIDeviceManager::devices[] table. When SPIDeviceDriver is completely replaced we can rename them to SPIDeviceProperties. |
||
---|---|---|
AntennaTracker | ||
APMrover2 | ||
ArduCopter | ||
ArduPlane | ||
benchmarks | ||
docs | ||
libraries | ||
mk | ||
modules | ||
tests | ||
Tools | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.pydevproject | ||
.travis.yml | ||
CONTRIBUTING.md | ||
COPYING.txt | ||
Doxyfile.in | ||
eclipse.cproject | ||
eclipse.project | ||
Makefile | ||
Makefile.waf | ||
README-WAF.md | ||
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
APM Forum: http://ardupilot.com/forum/index.php
Community Site: http://diydrones.com
Developer Information
Github repository: https://github.com/diydrones/ardupilot
Main developer wiki: http://dev.ardupilot.com
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 diydrones.com and the APM forums 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
- Michael du Breuil
- Subsystem: uBlox GPS
- Víctor Mayoral Vilches
- Board: PXF, Erle-Brain 2, PXFmini
- Mirko Denecke
- Board: BBBmini
- Georgii Staroselskii
- Board: NavIO
- Víctor Mayoral Vilches
- Board: Erle-Brain 2
- Emile Castelnuovo
- Board: VRBrain
- Mike McCauley
- Board: Flymaple
- 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