ArduPlane, ArduCopter, ArduRover, ArduSub source
Go to file
Lucas De Marchi 61ef653181 AP_HAL_Linux: implement SPIDevice
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.
2016-02-16 19:49:09 -02:00
AntennaTracker Tracker: version to 0.7.6 2016-02-10 11:52:23 +09:00
APMrover2 Rover: add item_reached_msg to GUIDED 2016-02-14 16:12:56 -08:00
ArduCopter Copter: interpret MAV_FRAME_GLOBAL_RELATIVE_ALT as MAV_FRAME_GLOBAL_RELATIVE_ALT_INT 2016-02-06 09:36:51 +09:00
ArduPlane Plane: use throttle slew when in quadplane assisted flight 2016-02-13 11:38:33 +11:00
benchmarks waf: add gbenchmark Waf tool 2015-12-03 07:54:31 +11:00
docs docs: allow docs build to output to another directory 2013-08-15 09:04:58 +10:00
libraries AP_HAL_Linux: implement SPIDevice 2016-02-16 19:49:09 -02:00
mk mk: make PX4, QURT and QFLIGHT use wrapper cstddef 2016-02-16 19:49:08 -02:00
modules mavlink: submodule update 2016-02-12 20:39:20 +11:00
tests waf: use gtest for tests 2015-12-03 07:54:31 +11:00
Tools waf: add missing warnings from AP_Common.h 2016-02-12 20:41:29 +11: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 waf: add waf support 2015-12-03 07:54:30 +11:00
.gitmodules gtest: add submodule at version 1.7.0 2016-01-19 00:21:15 -02:00
.pydevproject AP_Relay: add -1:Disabled to list of param values 2014-05-15 17:13:37 +09:00
.travis.yml ci: switch linux/sitl compiler to 4.9 2016-01-20 14:19:08 -02: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
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
Makefile build: allow -j on top level makefile 2015-11-09 08:32:04 +11:00
Makefile.waf waf: Makefile.waf: use check-all command instead of --alltests 2016-02-01 14:08:39 -02:00
README-WAF.md waf: update README with current status 2016-02-01 14:08:39 -02:00
README.md Add Tom Pittenger as Plane maintainer 2016-02-08 20:32:31 -08: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
Vagrantfile Fix vagrant build issues with submodules. 2015-06-18 08:47:32 +10:00
wscript waf: use git_submodule tool through GIT_SUBMODULES variable 2016-02-06 10:25:08 -02:00

#ArduPilot Project#

Gitter

Build SemaphoreCI

Build Travis

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.