ArduPlane, ArduCopter, ArduRover, ArduSub source
Go to file
Andrew Tridgell 8d04deff6a Copter: added terrain status reporting 2014-07-24 21:50:20 +10:00
APMrover2 Ardurover2 Parameters: Changed the SONAR prefix to RNGFND and renamed the previous SONAR_ parameters 2014-07-24 14:41:54 +10:00
ArduCopter Copter: added terrain status reporting 2014-07-24 21:50:20 +10:00
ArduPlane Plane: added terrain status reporting 2014-07-24 21:50:19 +10:00
FollowMe FollowMe: update for GPS changes 2014-03-24 12:04:20 +11:00
Tools VARTest: Removed CONFIG_SONAR_SOURCE and SONAR_SOURCE_ANALOG_PIN since no longer used 2014-07-24 14:41:55 +10:00
docs docs: allow docs build to output to another directory 2013-08-15 09:04:58 +10:00
libraries AP_Terrain: added status() interface for reporting 2014-07-24 21:50:19 +10:00
mk build: VRBRAIN changed start of new drivers of sensors 2014-07-15 20:42:50 +10:00
.editorconfig all: Change the editorconfig so that it won't want to reformat 2014-07-09 19:03:18 -07:00
.gitignore Git: ignore Thumbs.db 2014-07-16 14:29:21 +09:00
.pydevproject AP_Relay: add -1:Disabled to list of param values 2014-05-15 17:13:37 +09:00
.travis.yml Travis-CI: add vrubrain-v51 target (Copter) 2014-07-15 11:50:09 +10:00
CONTRIBUTING.md documentation: Add a contributing & maintainers file 2014-07-09 18:59:26 -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
MAINTAINERS.md documentation: Add a contributing & maintainers file 2014-07-09 18:59:26 -07:00
README.md Update README.md 2013-11-14 14:51:11 +09:00
Vagrantfile Use absolute path for config.vm.share_folder. Fixes issue #216. 2013-05-02 13:38:00 -07: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

You can find lots of development information at the ArduPilot development site

To compile APM2.x Ardupilot after version 3.1 please follow the instructions found at

[Dev.Ardupilot] (http://dev.ardupilot.com/wiki/building-ardupilot-with-arduino-windows/)

Getting the source

You can either download the source using the "ZIP" button at the top of the github page, or you can make a clone using git:

git clone git://github.com/diydrones/ardupilot.git

Prerequisites

Ubuntu Linux

The following packages are required to build ardupilot for the APM1/APM2 (Arduino) platform in Ubuntu: gawk make git arduino-core g++

To build ardupilot for the PX4 platform, you'll first need to install the PX4 toolchain and download the PX4 source code. See the PX4 toolchain installation page.

The easiest way to install all these prerequisites is to run the ardupilot/Tools/scripts/install-prereqs-ubuntu.sh script, which will install all the required packages and download all the required software.

Building using the Arduino IDE

ArduPilot is no longer compatible with the standard Arduino distribution. You need to use a patched Arduino IDE to build ArduPilot.

Do not try to use the Arduino IDE to build in Linux--you should follow the instructions in the "Building using make" section.

  1. The patched ArduPilot Arduino IDE is available for Mac and Windows from the downloads page.

  2. Unpack and launch the ArduPilot Arduino IDE. In the preferences menu, set your sketchbook location to your downloaded or cloned ardupilot directory.

  3. In the ArduPilot Arduino IDE, select your ArduPilot type (APM1 or APM2) from the ArduPilot menu (in the top menubar).

  4. Restart the ArduPilot Arduino IDE. You should now be able to build ArduPlane or ArduCopter from source.

  5. Remember that, after changing ArduPilot type (APM1 or APM2) in the IDE, you'll need to close and restart the IDE before continuing.

Building using make

  1. Before you build the project for the first time, you'll need to run make configure from a sketch directory (i.e. ArduPlane, ArduCopter, etc...). This will create a config.mk file at the top level of the repository. You can set some defaults in config.mk

  2. In the sketch directory, type make to build for APM2. Alternatively, make apm1 will build for the APM1 and make px4 will build for the PX4. The binaries will generated in /tmp/<i>sketchname</i>.build.

  3. Type make upload to upload. You may need to set the correct default serial port in your config.mk.

Development using VirtualBox

ardupilot has a standardized Linux virtual machine (VM) setup script that uses the free VirtualBox virtualization software. You can use it to create a standard, reproducible development environment in just a few minutes in Linux, OS X, or Windows.

  1. Download VirtualBox for your Mac, Windows or Linux machine.

  2. Install vagrant.

  3. In the ardupilot directory, run vagrant up from the command line. This will create a new Ubuntu Linux VM.

  4. Run vagrant ssh -c "ardupilot/Tools/scripts/install-prereqs-ubuntu.sh -y". This will install all the prerequisites for doing ardupilot development.

You can now run vagrant ssh to log in to the development environment. The ~/ardupilot directory in the VM is actually the ardupilot directory in your host operating system--changes in either directory show up in the other.

Once you've followed the instructions above, here's how you would build ArduCopter for PX4 in the development environment:

$ vagrant ssh
# cd ardupilot/ArduCopter
# make configure

Back at the terminal:

# make px4
# make px4-upload  # (optional)

User Technical Support

ArduPilot users should use the DIYDrones.com forums for technical support.

Development Team

The ArduPilot project is open source and maintained by a team of volunteers.

To contribute, you can send a pull request on Github. You can also join the development discussion on Google Groups. Note that the Google Groups mailing lists are NOT for user tech support, and are moderated for new users to prevent off-topic discussion.