ArduPlane, ArduCopter, ArduRover, ArduSub source
Go to file
John Arne Birkeland 3783d0b6de ArduPPM v2.3.12 ATMega32u2 (APM 2.x)
---------------------------------------------
- New improved fail-safe detection and handeling for single or multible signal loss and receiver malfuntion
- Improved LED status for APM 2.x
- Improved jitter performance (PPM output using nested interrupts)

-------------------------------------------------------------
ARDUPPM OPERATIONAL DESCRIPTION
-------------------------------------------------------------

APM 2.x LED STATUS:
-------------------
RX - OFF         = No input signal detected
RX - SLOW TOGGLE = Input signal OK
RX - FAST TOGGLE = Invalid input signal(s) detected
RX - ON          = Input signal(s) lost during flight and fail-safe activated
TX - OFF         = PPM output disabled
TX - FAST TOGGLE = PPM output enabled
TX - SLOW TOGGLE = PPM pass-trough mode

SERVO INPUT (PWM) MODE:
 -----------------------
- PPM output will not be enabled unless a input signal has been detected and verified
- Verified inputs are lost during operaton (lose servo wire or receiver malfunction):
  + The PPM output channel for the lost input will be set to the default fail-safe value
  + PPM throttle output (ch3) will be permanently set to fail-safe (900us)
- Lost channel signal is restored:
  + PPM output for the restored channel will be updated with the valid signal
  + PPM throttle output (ch3) will not be restored, and will continue to output fail-safe (900us)

PPM PASS-THROUGH MODE (signal pin 2&3 shorted):
-----------------------------------------------
- PPM output will not be enabled unless a input signal has been detected
- Active signal on input channel 1 has been detected:
  + Any input level changes will be passed directly to the PPM output (PPM pass-trough)
  + If no input level changes are detected withing 250ms:
    + PPM output is enabled and default fail-safe values for all eight channels transmitted
    + Input level change detected again, PPM fail-safe output is terminated and normal PPM pass-through operation is restored
2012-11-23 21:53:35 +01:00
APMrover2 Rover: make it possible to run the CLI over a radio link 2012-11-21 21:41:34 +11:00
ArduBoat Merge the changes from APM_Camera branch into ArduCopter 2012-07-11 00:39:13 +02:00
ArduCopter Copter: ported RSSI_PIN option from ArduPlane 2012-11-22 20:59:33 +11:00
ArduPlane APM: preparing for 2.67 release 2012-11-21 22:28:30 +11:00
Tools ArduPPM v2.3.12 ATMega32u2 (APM 2.x) 2012-11-23 21:53:35 +01:00
apo Added AP_Board to APO 2011-12-07 16:31:56 -05:00
archive more directories for the archive 2011-09-09 12:48:34 +10:00
cmake Worked on ArduCopter cmake options. 2012-04-19 16:05:08 -04:00
libraries AP_InertialSensor: increase acceptable Z accel offset to be 3.0 G 2012-11-23 00:34:42 +09:00
.gitignore Mission Planner Cleanup 2012-08-25 21:48:06 +08:00
.project ArduPlane cmake build working. 2011-10-31 13:18:48 -04: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
README.txt Switched to project specific cmake lists. 2012-04-17 23:07:20 -04: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.txt

Building using arduino
--------------------------
To install the libraries:
 - copy Library Directories to your \arduino\hardware\libraries\ or arduino\libraries directory
 - Restart arduino IDE

 * Each library comes with a simple example. You can find the examples in menu File->Examples

Building using make 
-----------------------------------------------
 - go to directory of sketch and type "make".
 --type "make upload" to upload according to the parameters in config.mk .

Building using cmake
-----------------------------------------------
 - cd ArduPlane (ArduCopter etc ..)
 - mkdir build
 - cd build
 - cmake .. -DAPM_BOARD=mega -DAPM_PORT=/dev/ttyUSB0
    You can select from mega/mega2560.
    If you have arduino installed in a non-standard location you by specify it by using:
        -DARDUINO_SDK_PATH=/path/to/arduino ..
 - make (will build the sketch)
 - make ArduPlane-upload (will upload the sketch ArduPlane etc.)

    If you have a sync error during upload reset the board or power cycle the board
    before the upload starts.

 
Building using eclipse
-----------------------------------------------

    Getting the Source:

        assuming source located here: /home/name/apm-src
        You can either download it or grab it from git:
        git clone https://code.google.com/p/ardupilot-mega/ /home/name/apm-src

    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 ../apm-src -D BOARD=mega -D PORT=/dev/ttyUSB0

        Here apm-src can be any sketch, ArduPlane/ ArduCopter etc.

        Note: Unix can be substituted for MinGW/ MSYS/ NMake (for windows)
            (see http://www.vtk.org/Wiki/Eclipse_CDT4_Generator)

        input 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 if it is not in default path can specify as /path/to/arduino
        
    Importing the Eclipse Build Project:

        Import project using Menu File->Import
        Select General->Existing projects into workspace:
        Browse where your build tree is and select the root build tree directory. 
        Keep "Copy projects into workspace" unchecked.
        You get a fully functional eclipse project

    Importing the Eclipse Source Project:
    
        You can also import the source repository (/home/name/apm-src) if you want to modify the source/ commit using git.

    Settings up Eclipse to Recognize PDE files:

         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
    
    Advanced:
    
        * Regenerating the eclipse source project file:
            cmake -G"Eclipse CDT4 - Unix Makefiles" -DECLIPSE_CDT4_GENERATE_SOURCE_PROJECT=TRUE /home/name/apm-src

Build a package using cpack
-----------------------------------------------
 - cd build
 - cmake ..
 - make package
 - make package_source


vim:ts=4:sw=4:expandtab