Commit Graph

224 Commits

Author SHA1 Message Date
Randy Mackay d003334b75 Copter: pre-arm check for ACRO_BAL_ROLL and PITCH 2013-11-18 16:38:05 +09:00
Randy Mackay 9ee308efd5 Copter: auto disarm in Loiter, AltHold after 15sec 2013-11-18 16:13:15 +09:00
Randy Mackay 46118b59d7 TradHeli: integrate motor lib changes 2013-11-15 22:57:43 +09:00
Randy Mackay f0f6e85b39 Copter: ARMING_CHECK made into bitmask
Allows arming checks to be individually enabled or disabled for baro,
compass, GPS, INS, parameters, RC and board voltage
2013-11-15 17:13:56 +09:00
Randy Mackay fe822ba0b6 Copter: pre-arm check of INS health 2013-11-15 17:13:53 +09:00
Jason Short 371dc8c616 Copter: Drift Mode
Changes Toy mode declarations to Drift mode.
Requires GPS, Mode 2 transmitter
Drift mode mixes Roll, Pitch and Yaw into a single stick on mode two transmitters.
2013-11-14 14:43:15 +09:00
Randy Mackay 0778454434 Copter: disarm routine shortcut
Extra check so we only run the disarm check when we are actually armed.
The ground stations sometimes send many disarm messages which can be
ignored
2013-11-14 13:14:51 +09:00
Jason Short 520a535c21 Copter: TOY mode updates 2013-11-02 21:34:48 +09:00
Andrew Tridgell f6f6caafc8 Copter: int gyros on arm, not on first boot
this makes first boot much faster
2013-11-02 21:41:11 +11:00
Randy Mackay 977983904f Copter: arming check that throttle is above failsafe 2013-11-02 14:06:19 +09:00
Randy Mackay 94f301181e Copter: recalc distance to home during arming
fixes an rare edge case in which the fence could trigger immediately
after arming
2013-11-01 23:54:32 +09:00
Randy Mackay 6b9b5c5617 Copter: pre-arm check speed is less than 50cm/s 2013-10-20 21:56:00 +09:00
Randy Mackay 0cbedded0d Copter: autotune to use 2pos switch only
method of recording state also changed
other code clean-up
pair programmed withe Leonard
2013-10-18 13:57:50 +09:00
Randy Mackay bf74a64fec Copter: add GPS glitch to arming checks 2013-10-13 14:04:54 +09:00
Randy Mackay f56617710f Copter: pre-arm RC checks ch3's min and max 2013-10-07 11:17:16 +09:00
Randy Mackay efc02161c4 Copter: add safe switch arming check 2013-10-05 22:23:53 +09:00
Randy Mackay ba92c4891a Copter: make AutoTune a compile-time option 2013-10-04 15:50:50 +09:00
Randy Mackay 31cea0140d Copter: Leonard's AutoTuning for Roll and Pitch 2013-10-04 15:50:47 +09:00
Randy Mackay a53d28e018 Copter: remove support for dmp ahrs 2013-09-27 10:42:49 +09:00
Andrew Tridgell d9fe0552f0 Copter: allow Vcc checks on Pixhawk 2013-09-12 13:43:06 +10:00
Randy Mackay a68966e077 Copter: integrate sprayer pump test 2013-09-11 17:05:25 +09:00
Randy Mackay 1d55fa6818 Copter: add arm check of GPS hdop when in Loiter 2013-09-09 14:03:40 +09:00
Randy Mackay 52ef77393c Copter: integrate Toshiba_LED_PX4 2013-08-30 13:01:35 +10:00
Randy Mackay e985253f1a Copter: integrate notify 2013-08-30 13:01:35 +10:00
Randy Mackay fe56ac3839 Copter: only allow auto_trim in STABILIZE 2013-08-15 21:11:23 +09:00
Randy Mackay 34e874282e Copter: only check hdop when circular fence enabled 2013-08-15 16:03:57 +09:00
Randy Mackay d000967a76 Copter: pre-arm check for gps hdop < 2 2013-08-15 13:06:36 +09:00
Randy Mackay 6969ab573d Copter: configurable max lean angle
ANGLE_MAX parameter allows limiting the roll and pitch angles during
manual and auto flight modes to anywhere from 10 to 80 degrees
2013-08-11 12:53:22 +09:00
Randy Mackay 39ab4f62ef Copter: add SPORT mode 2013-08-05 21:04:41 +09:00
Olivier-ADLER 87d062905e Copter: 3 positions switch support for CH7 and CH8 - new 3 positions SIMPLE / SUPERSIMPLE mode
3 positions modes must use mode number >= 100
pre-arm check correction for CH7 - CH8 check
2013-07-29 15:12:10 +09:00
Randy Mackay c173f0c7d9 Copter: change CH7/CH8 pre-arm check string 2013-07-29 14:32:27 +09:00
Randy Mackay dbc18ee900 Copter: allow arming in AltHold and Loiter if landed 2013-07-28 18:18:47 +09:00
Olivier-ADLER bf6120d8b7 Copter: Move CH7 - CH8 check from read_aux_switches() to pre_arm_checks.
Moving this to pre-arm checks save some processing time and is safer.
2013-07-26 09:30:24 +09:00
Randy Mackay e6412b6996 Copter: do not spin motors during arming process 2013-07-16 12:47:57 +09:00
Jonathan Challinger 9f51a4a4f7 Copter: Cancel arming if throttle input above cruise_throttle. 2013-07-16 12:47:55 +09:00
Jonathan Challinger 2725f219cb Copter: Warn user with motors while copter is arming 2013-07-16 12:47:51 +09:00
Randy Mackay 2b5f6e2668 Copter: pre-arm checks for rc ch 1~4 min and max 2013-07-13 21:38:22 +09:00
Randy Mackay 213472102c Copter: pre-arm check of throttle failsafe value
Check throttle min is above throttle failsafe trigger and that trigger
is above ppm encoder's loss-of-signal value of 900
2013-07-13 20:25:34 +09:00
Randy Mackay ed3bf2c1e7 Copter: relax pre-arm checks for mag field
previously it was 50% ~ 150% of expected mag field but now expanded to
35% ~ 165%.
2013-07-07 18:00:36 -10:00
Randy Mackay 79d2fe6271 Copter: double flash arming light when pre-arm checks fail
Hardly my finest work but it's temporary because we're going to replace
all the led, buzzer etc with a library called AP_Notify in the near
future.
2013-07-04 16:26:22 -10:00
Dr Gareth Owen 4c6d6ea96e changed yaw reset to when armed to not use initial_simple_bearing 2013-06-02 11:29:30 +09:00
Randy Mackay e3cd494709 Copter: remove debug message 2013-06-01 18:21:30 +09:00
Randy Mackay 7b50ecc73c Copter: pre-arm check for mag field length 2013-05-31 12:23:19 +09:00
Randy Mackay a1821c89e7 Copter: pre-arm check for board voltage < 5.8V 2013-05-31 11:31:27 +09:00
Randy Mackay c6e383be0f Copter: disable board voltage pre-arm check for PX4 2013-05-31 11:27:54 +09:00
Randy Mackay c3d21a457f Copter: add pre-arm board voltage check
Copter will not arm unless board voltage is over 4.5V
2013-05-28 21:50:31 +09:00
Randy Mackay 6ecd2d74a3 Copter: beep twice during arming 2013-05-27 13:55:34 +09:00
Randy Mackay ec7ee47099 Copter: scaling stability patch 2013-05-27 11:21:31 +09:00
Randy Mackay 4fa101292a Copter: add baro health to pre-arm checks 2013-05-25 12:24:47 +09:00
Randy Mackay bd44c2f73d Copter: all pre-arm checks to be disabled
set ARMING_CHECK parameter to zero to disable
2013-05-20 14:48:04 +09:00
Randy Mackay 43c377ca67 Copter: add compass calibration to pre-arm check 2013-05-20 14:19:47 +09:00
Randy Mackay 6efdabb104 Copter: move auto disarm into a separate function 2013-05-20 14:05:50 +09:00
Randy Mackay 1dbe98b566 Copter: display reason for pre-arm-check failures in GCS 2013-05-20 13:03:18 +09:00
Randy Mackay f4846b417a Copter: compiler fix for disabled logs 2013-05-19 22:55:40 +09:00
Randy Mackay 9d0f40b432 Copter: add pre_arm_rc_check
Motors are not be enabled unless we have passed rc checks which include
checking the radio in calibration has been performed.
2013-05-16 16:32:00 +09:00
Randy Mackay bd6edecdec Copter: restore logging of arm/disarm event 2013-05-13 18:07:28 +09:00
Randy Mackay 324200b52c Copter: disable centrifugal correction when disarmed 2013-05-06 15:32:08 +09:00
Randy Mackay 372ebb602c Copter: disable centrifugal force correction when disarmed 2013-05-05 16:55:06 +09:00
Randy Mackay cca05ee8ae Copter: start dataflash logging when arming
Stop nearly empty logs from being produced.
Removed redundant armed bit from ap state.
2013-05-03 14:49:55 +09:00
Randy Mackay 90af3262c5 Copter: pre-arm check for compass 2013-04-27 23:50:40 +09:00
Randy Mackay 58d1da2d80 Copter: integrate AC_Fence in place of limits
Lesser functionality than limits but saves more than 150 bytes and it
works
2013-04-27 11:14:07 +09:00
Randy Mackay 63a48f76e2 Copter: add pre-arm check of radio and accel
Only checks throttle channel and accelerometer scaling
2013-04-23 00:01:20 +09:00
Randy Mackay d2bd818b2d Copter: bug fix for auto_armed logic
Zero throttle when switching into an auto flight mode would cause the
motors to stop.
2013-04-17 21:28:42 +09:00
Randy Mackay 7cf2255822 Copter LEDs: replace bitRead with bitmask
Consolidate all checks of led_mode to leds.pde
Add #defines for bitmasks comparisons
Some formatting changes
2013-04-01 13:10:12 +09:00
Randy Mackay 38e81adae0 InertialNav: remove unnecessary "virtual" from function definitions
This saves about 30bytes of RAM
2013-03-19 17:51:16 +09:00
Randy Mackay 67c69a19ee Copter: remove baro-only alt hold
Saves 8 bytes of memory and more importantly simplifies the alt hold
calculations
2013-02-24 14:41:29 +09:00
rmackay9 bd0e018ca0 ArduCopter: restore auto-trim method but now use AHRS.add_trim 2013-01-02 09:20:08 +11:00
rmackay9 52802cb29e ArduCopter: limit output throttle to 800 only for TRI which does not have the new stability patch 2013-01-02 09:19:17 +11:00
rmackay9 881dae1e27 ArduCopter: remove throttle limit of 800 for quads, hexas and octacopters
Note: Y6 and OctaQuads still have the 800 limit because they do not have the latest stability patch
2013-01-02 09:13:42 +11:00
rmackay9 6da68c53a5 ArduCopter: bug fix so AP_Limits does not use up memory if it is disabled 2013-01-02 09:13:42 +11:00
Andrew Tridgell 9e986801c9 Copter: fixed SITL for ArduCopter 2012-12-20 14:52:34 +11:00
Pat Hickey 7af03127f6 ArduCopter: more work 2012-12-20 14:52:28 +11:00
rmackay9 072ffec493 ArduCopter: allow INERTIAL_NAV to be enabled separately for horizontal and vertical position 2012-12-06 10:31:41 +09:00
Robert Lefebvre b32d7c8b63 ACM: TradHeli
Prevent helis from arming while RSC control is switched on.
2012-11-26 19:03:28 -05:00
Robert Lefebvre 637c9a1a72 ACM: TradHeli
Removing this "throttle" output restriction for TradHelis.
2012-11-26 18:44:03 -05:00
Andrew Tridgell bcae83c4f6 ACM: make it possible to run CLI on radio port in ArduCopter 2012-11-21 21:41:34 +11:00
rmackay9 bcb9519fd7 ArduCopter: renamed system bitmap to ap_system to resolve desktop compile issues 2012-11-11 22:42:10 +09:00
Jason Short 883bb7cfc0 ACM formatting 2012-11-09 22:15:16 -08:00
Jason Short d2a5928c06 Ap state updates 2012-11-09 22:15:15 -08:00
rmackay9 1f801714e8 ArduCopter: incorporate new version of inertial navigation
Moved several navigation functions from ArduCopter.pde to navigation.pde
2012-11-07 19:21:31 +09:00
rmackay9 a1b4ec6d0e ArduCopter: move to use new INS library instead of IMU library 2012-11-07 19:21:09 +09:00
rmackay9 c0ad98be31 ArduCopter: failsafe added to shutdown motors if mainloop fails 2012-10-09 12:30:17 +09:00
rmackay9 95763e610b ArduCopter: allow DMP to run in parallel with DCM
Parallel DMP can be enabled by #define SECONDARY_DMP_ENABLED in APM_Config.h
New DMP dataflash log type added to allow easy comparison with DCM
2012-09-30 00:25:40 +09:00
uncrustify 7f89e6c677 uncrustify ArduCopter/motors.pde 2012-08-21 19:19:50 -07:00
Andrew Tridgell 1b0f5ac84f ACM: use ahrs.set_fast_gains() on arm/disarm 2012-08-21 15:38:31 +10:00
Jason Short c81064279a ACM : removed 2-level DCM gain change - .1 will still be the default. 2012-08-18 15:43:34 -07:00
Jason Short 575a9c4fd1 ACM : Fix for reloading the user DCM gains upon arming 2012-08-18 13:17:43 -07:00
Jason Short 522fa58ea5 ACM : temp fix for throttle output limit
I had a bad crash when I lost authority. The logs showed the throttle pegged at 1000 which killed my control. We went round and round on this and somehow settled on no limit. That wasn't a good idea. This should really be hard coded into the Motors Library, but for now I'm just sticking it here.
2012-08-18 09:04:22 -07:00
rmackay9 07c7c3945d ArduCopter: fixed small bug re arming_counter for TOY mode 2012-08-18 13:21:41 +09:00
rmackay9 36f947acb9 ArduCopter: changed all "int" to "int16_t" and a few "long"s to "int32_t".
Also moved "simple_counter" variable from global scope to the "update_simple_mode" function which is the only place that it's actually used.
2012-08-16 20:04:46 +09:00
Jason Short b27c1ce396 ACM : Added check for second Toy mode 2012-08-11 22:37:26 -07:00
Andrew Tridgell c2dc920d02 ACM: allow users to set the AHRS_YAW_P and AHRS_RP_P
the forced set left users with parameters they couldn't use
2012-08-11 08:35:10 +10:00
Jason Short 6037fabb5c ACM Motors.pde
Added Toy mode options,
Added DCM kp set to .1(armed) and .8 (disarmed)
2012-08-09 16:59:44 -07:00
Jason Short 8188058404 ACM: Failsafe Fix for Mission planner initiated AUTO mode
Keeps the failsafe from exiting Auto mode when returning from failsafe. Added arming ability for Toy mode.
2012-07-23 19:34:25 -07:00
Jason Short fbe898a6db Arducopter: motors.pde formatting 2012-07-19 22:35:21 -07:00
Jason Short 98725be0ec Arducopter: INS
removed calibrate accels for now
2012-07-18 22:57:10 -07:00
Andreas M. Antonopoulos c73f7ef3ab AP_Limits library, provides modular "limits" such as altitude and geo-fencing. 2012-07-14 19:26:17 -07:00
Jason Short c42f9ece43 Inertial Control
I added inertial navigation based on the simulator data. This is an option only available if you compile with Arduino and set
#define INERTIAL_NAV ENABLED
in the APM_Config.h file.

This has been tested for one real flight and did not crash my quad, but consider it very alpha. The quad may be unpredictable at first until the error correction fixes poorly calibrated accels. Be Careful.

Most of the real work is in the inertia file, but the error correction, new variable defines and calibration calls are sprinkled throughout.

The Log should record RAW messages with special debugging values.
2012-06-13 22:34:45 -07:00
Robert Lefebvre 4e4ff84cf1 Updates to CopterLEDS
Creation of Nav Blink Function.
2012-05-22 09:58:37 -04:00
Robert Lefebvre c8fb9a6635 More CopterLEDS changes.
Merged CopterLEDS and Piezo functions to eliminate pin conflict on APM2.  Created new Parameter bit to turn piezo function on and off from MP. Moved GPS and Aux pin assignments to allow commonality between APM1 and 2.  Set LED_Mode parameter default to 9 in order to make CopterLEDS completely backwards compatible with old Motor LEDS and Piezo code.  Legacy users should see no difference.
2012-05-15 12:00:21 -04:00
rmackay9 905a445391 ArduCopter - motors.pde - changed references to "motor_armed" to "motors.armed()" because we've moved to using the AP_Motors class.
Simplified set_servos_4 function which was responsible for calling "output_motors_armed" or "output_motors_disarmed" as this determination as to whether the motors are armed or not is handled within the AP_Motors class.
2012-04-04 22:58:42 +09:00
Andrew Tridgell 7634f541b9 ACM: use set_blocking_writes(false) when we arm motors 2012-03-30 17:46:20 +11:00
Jason Short d1fcebb5ca Cosmetic changes
GPS LED lock waits for home_is_set to be true
2012-01-28 21:19:46 -08:00
Jason Short f5fd3a0597 reset all I terms at Arming 2012-01-20 22:52:30 -08:00
Jason Short 3ebed0b278 This allows users to test the Auto_throttle hold or cruise value 2012-01-14 11:43:52 -08:00
Pat Hickey b907c1fd5c ArduCopter: add ch_of_mot lookup to motors.pde 2012-01-09 21:57:02 -08:00
Jason Short e7b750074b Added takeoff state and ground state variable 2012-01-04 09:28:36 -08:00
Andrew Tridgell 4fe527aefa ACM: use LED_OFF/LED_ON instead of LOW/HIGH 2011-12-26 19:32:53 +11:00
Jason Short 58ad9faf6d initing z dampener at arming 2011-12-23 14:46:08 -08:00
Andrew Tridgell 483bef35e5 IMU: update ACM and APM for flash_leds change in IMU init 2011-12-13 18:19:41 +11:00
Jason Short 307723960d Increased slightly the Auto_trim time 2011-12-10 10:19:20 -08:00
Jason Short b3bd4bd3c9 Cosmetic cleanup, commented functions for compiler warnings 2011-11-27 22:23:02 -08:00
Andrew Tridgell a99bcec762 desktop: report motors armed in desktop build too
this helps in autotest
2011-11-25 20:00:19 -08:00
Jason Short 6bf0c32173 Removed some old debug prints from motors.pde
added ability to not increment I term for traversals.
2011-11-07 14:32:39 -08:00
Jason Short c8304114a3 renamed some command variables to align with Arduplane
reworked the arming code and moved the DCM gains out.
updated climb_rate to include sonar data.
2011-11-04 21:41:51 -07:00
Jason Short 27fc6eea10 Z dampener
Integrated Aurelio R. Ramos' Z dampening code.
2011-11-01 21:18:47 -07:00
Jason Short dd23883097 Motor arming delays
Speeding up delays for motor arming commands - Level and Inflight leveling.
2011-10-27 11:54:46 -07:00
Jason Short 43b3015963 lowered DCM RP gains
made Instant_PWM optional
upped PWM output to 400hz
2011-10-11 22:20:23 -07:00
Andrew Tridgell d89ae696ef merged the GCS updates from ArduPlane to ArduCopter
this removes all the non-MAVLink GCS options, and simplifies the HIL
and GCS code a lot. It also adds async sending of low priority GCS
text messages.
2011-10-11 20:53:43 +11:00
Jason Short ba7abd62d8 Adjusted DCM Gains to normal levels. Added a check to stop navigating when landing and to land faster. 2011-09-23 13:52:10 -07:00
Jason Short 73fd0084be Added Piezo Support, code from Oliver. 2011-09-18 17:12:28 -07:00
Amilcar Lucas 227ce0a92d Merge some small misc improvements from APM_Camera branch 2011-09-17 20:25:31 +02:00
Jason Short e6b7c57d26 Circle Mode now working
250Hz loop implemented
2011-09-11 11:22:01 -07:00
Andrew Tridgell 1456a2a912 renamed top level directories
ArduCopterMega -> ArduCopter
added archives directory for old code
2011-09-09 11:27:41 +10:00