ardupilot/README.md

142 lines
3.6 KiB
Markdown

Getting the source
==================
We'll assume you are putting the source in `/home/name/ardupilot`.
You can either download the source using the "ZIP" button at
https://github.com/diydrones/ardupilot, or you can grab it from github
using git:
```
git clone git://github.com/diydrones/ardupilot.git
```
Building using Arduino
======================
First install the libraries:
1. Copy the `libraries` directory to your
`/path/to/arduino/hardware/libraries/` or
`/path/to/arduino/libraries` directory.
2. Restart the Arduino IDE.
Each library comes with a simple example. You can find the examples in
the menu File→Examples
Building using make
===================
1. Go to the directory of the sketch and type `make`.
2. Type `make upload` to upload according to the parameters in
`config.mk`.
For example:
```
cd ArduPlane # or ArduCopter etc.
make
make upload
```
Building using cmake
====================
```
cd ArduPlane # or ArduCopter etc.
mkdir build
cd build
# If you have Arduino installed in a non-standard location you by
# specify it by using -DARDUINO_SDK_PATH=/path/to/arduino
cmake .. -DAPM_BOARD=mega -DAPM_PORT=/dev/ttyUSB0 # Or -DAPM_BOARD=mega2560
make # Will build the sketch.
make ArduPlane-upload # Will upload the sketch.
```
If you have a sync error during upload, reset the board or power cycle
the board before the upload starts.
Building using Eclipse
======================
Generating the Eclipse project for your system
----------------------------------------------
```
mkdir /home/name/apm-build
cd /home/name/apm-build
cmake -G"Eclipse CDT4 - Unix Makefiles" \
-D CMAKE_BUILD_TYPE=Debug \
-D BOARD=mega \
-D PORT=/dev/ttyUSB0 \
../ardupilot/ArduCopter
```
Change the `../ardupilot/ArduCopter` above to be whatever sketch you
want to build.
_Note: Unix can be substituted for MinGW/MSYS/NMake (for Windows).
See http://www.vtk.org/Wiki/Eclipse_CDT4_Generator)._
### Define options
* `CMAKE_BUILD_TYPE` choose from `DEBUG`, `RELEASE` etc.
* `PORT` is the port for uploading to the board, `COM0` etc. on
Windows, `/dev/ttyUSB0` etc. on Linux.
* `BOARD` is your board type, `mega` for the 1280 or `mega2560` for
the 2560 boards.
* `ARDUINO_SDK_PATH` to specify the path to your Arduino installation
if it isn't in the default path.
Importing the Eclipse build project
-----------------------------------
1. Import project using Menu File→Import.
2. Select General→Existing projects into workspace.
3. Browse to where your build tree is and select the root build tree
directory.
4. Keep "Copy projects into workspace" unchecked.
You should now have a fully functional eclipse project.
Importing the Eclipse source project
------------------------------------
You can also import the source repository (`/home/name/ardupilot`) if you
want to modify the source/commit using git.
Configuring Eclipse to recognize PDE files
------------------------------------------
* File association: Go to Window→Preferences→General→Content
Types. This tree associates a filename or filename pattern with its
content type so that tools can treat it properly. Source and header
files for most languages are under the Text tree. Add "*.pde" as a
C++ Source.
* Autocompletion: Right click on source project→Properties→Project
References→apm-build Project
* Regenerating the Eclipse source project file: `cmake -G"Eclipse
CDT4 - Unix Makefiles" -DECLIPSE_CDT4_GENERATE_SOURCE_PROJECT=TRUE
/home/name/ardupilot`
Build a package using cpack
===========================
```
cd build
cmake ..
make package
make package_source
```