ArduPlane, ArduCopter, ArduRover, ArduSub source
Go to file
Caio Marcelo de Oliveira Filho 2e464a53c2 AP_HAL: make code not depend on concrete HAL implementations
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'.
2015-10-21 09:16:07 +11:00
APMrover2 AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
AntennaTracker AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
ArduCopter AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
ArduPlane AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
Tools AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
docs docs: allow docs build to output to another directory 2013-08-15 09:04:58 +10:00
libraries AP_HAL: make code not depend on concrete HAL implementations 2015-10-21 09:16:07 +11:00
mk PX4: clean out .d dependency files from uavcan on px4-cleandep 2015-10-20 15:09:28 +11:00
modules PX4Firmware: submodule update 2015-09-23 09:03:26 +10:00
.editorconfig all: Change the editorconfig so that it won't want to reformat 2014-07-09 19:03:18 -07:00
.gitattributes Revert ".gitattributes: automatically clean up newlines in source files" 2015-04-20 11:04:59 +09:00
.gitignore Git: update gitignore for way.txt 2015-10-03 10:13:52 +09:00
.gitmodules modules: added git submodules for PX4 build 2015-06-09 12:48:56 +10:00
.pydevproject AP_Relay: add -1:Disabled to list of param values 2014-05-15 17:13:37 +09:00
.travis.yml Tools: add raspilot to travis builds 2015-09-24 15:31:32 +10:00
CONTRIBUTING.md Update CONTRIBUTING.md 2014-10-12 00:11:30 -07:00
COPYING.txt cmake overhaul, cleaned up readme, added license 2011-09-30 17:32:51 -04:00
Doxyfile.in Working on doxygen support. 2011-11-25 21:35:20 -05:00
Makefile build: simple top level makefile 2015-06-03 06:32:10 +10:00
README.md Maintainers: added Michael as uBlox maintainer 2015-07-28 09:54:56 +10:00
Vagrantfile Fix vagrant build issues with submodules. 2015-06-18 08:47:32 +10:00
eclipse.cproject Eclipse: template project files 2015-07-28 16:11:45 +09:00
eclipse.project Eclipse: template project files 2015-07-28 16:11:45 +09:00
reformat.sh better commit message for uncrustify 2012-08-17 11:36:07 -07:00
uncrustify_cpp.cfg fixes to preprocessor retab settings 2012-08-17 11:36:07 -07:00
uncrustify_headers.cfg small changes to uncrustify_headers.cft 2012-08-21 18:59:13 -07:00

README.md

#ArduPilot Project#

Gitter

The ArduPilot project is made up of:

ArduCopter (or APM:Copter) : code, wiki

ArduPlane (or APM:Plane) : code, wiki

ArduRover (or APMrover2) : code, wiki

Antenna Tracker : code, wiki

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

Github statistics

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

Overview of license

Full Text

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.