mirror of https://github.com/ArduPilot/ardupilot
142 lines
3.6 KiB
Markdown
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
|
|
```
|