7ba6f92eb5
Now that most places in the code use the ARRAY_SIZE macro instead of coding it by hand, let's use some type safety in its definition. This is a C++ version of similar macros used in kmod, Linux kernel and the source of them, ccan. A C++ version like this is used in V8 (the JS engine) and other open source projects. The main benefit of this version is that you get a compile error if you pass in a variable that's not an array. For example, Bla y[10]; Bla *y_ptr = y; void foo(Bla x[]) { // build error since x[] decay to a pointer in function // parameter for (int i = 0; i < ARRAY_SIZE(x); i++) { ... } // build error since y_ptr is not an array for (int i = 0; i < ARRAY_SIZE(y_ptr); i++) { ... } } I added the additional specialization to allow arrays of size 0. |
||
---|---|---|
AntennaTracker | ||
APMrover2 | ||
ArduCopter | ||
ArduPlane | ||
docs | ||
libraries | ||
mk | ||
modules | ||
Tools | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.pydevproject | ||
.travis.yml | ||
CONTRIBUTING.md | ||
COPYING.txt | ||
Doxyfile.in | ||
eclipse.cproject | ||
eclipse.project | ||
Makefile | ||
README.md | ||
reformat.sh | ||
uncrustify_cpp.cfg | ||
uncrustify_headers.cfg | ||
Vagrantfile |
#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