2e464a53c2
The switching between different AP_HAL was happening by giving different definitions of AP_HAL_BOARD_DRIVER, and the programs would use it to instantiate. A program or library code would have to explicitly include (and depend) on the concrete implementation of the HAL, even when using it only via interface. The proposed change move this dependency to be link time. There is a AP_HAL::get_HAL() function that is used by the client code. Each implementation of HAL provides its own definition of this function, returning the appropriate concrete instance. Since this replaces the job of AP_HAL_BOARD_DRIVER, the definition was removed. The static variables for PX4 and VRBRAIN were named differently to avoid shadowing the extern symbol 'hal'. |
||
---|---|---|
APMrover2 | ||
AntennaTracker | ||
ArduCopter | ||
ArduPlane | ||
Tools | ||
docs | ||
libraries | ||
mk | ||
modules | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.pydevproject | ||
.travis.yml | ||
CONTRIBUTING.md | ||
COPYING.txt | ||
Doxyfile.in | ||
Makefile | ||
README.md | ||
Vagrantfile | ||
eclipse.cproject | ||
eclipse.project | ||
reformat.sh | ||
uncrustify_cpp.cfg | ||
uncrustify_headers.cfg |
README.md
#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
- Mirko Denecke
- Board: BBBmini
- Georgii Staroselskii
- Board: NavIO
- Emile Castelnuovo
- Board: VRBrain
- Mike McCauley
- Board: Flymaple
- [Jonathan Challinger] (https://github.com/3drobotics/ardupilot-solo)
- Vehicle: 3DRobotics Solo ArduPilot maintainer
- [Craig Elder] (https://github.com/CraigElder)
- Administration: Dronecode Technical Community Manager