Commit Graph

458 Commits

Author SHA1 Message Date
Randy Mackay 47658fe964 Copter: add terrain failsafe 2016-04-30 10:33:01 +09:00
Randy Mackay 2134e8bfb9 Copter: add terrain and navigation dataflash error codes 2016-04-30 10:33:01 +09:00
Andrew Tridgell f32b7684a0 Copter: removed unused startup log message 2016-04-21 17:05:17 +10:00
Jonathan Challinger 1356deab8b Copter: add control_mode_reason 2016-04-14 12:24:04 +09:00
Jonathan Challinger 6b5ba86f21 Copter: simplify GCS failsafe 2016-04-14 12:24:04 +09:00
Jonathan Challinger a0ce8af633 Copter: use enum type for control_mode 2016-04-14 12:24:04 +09:00
Andrew Tridgell 31000ac756 Copter: moved Log_Write_Rate() to common code 2016-03-25 12:13:59 +11:00
Lucas De Marchi e88ba38595 ArduCopter: replace header guard with pragma once 2016-03-16 18:40:44 +11:00
Randy Mackay a93a0d370a Copter: add throw mode to aux switches 2016-03-03 15:30:03 +09:00
Paul Riseborough a7b69366a1 Copter: Add flight mode for throw launch
The is commit adds a new flight mode called 'Throw' to Copter that enables the copter to be thrown into the air to start motors. This mode can only be netered when the copters EKF has a valid position estimate and goes through the following states

Throw_Disarmed - The copter is disarmed and motors are off.
Throw_Detecting - The copter is armed, but motors will not spin unless THROW_MOT_START has been set to 1. The copter is waiting to detect the throw. A throw with an upwards velocity of at least 50cm/s is required to trigger the detector.
Throw_Uprighting - The throw has been detected and the copter is being uprighted with 50% throttle to maximise control authority. This state transitions when the copter is within 30 degrees of level.
Throw_HgtStabilise - The copter is kept level and height is stabilised about the target height which is 3m above the height at which the throw release was detected. This state transitions when the height is no more than 0.5m below the demanded height.
Throw_PosHold - The horizontal motion is arrested and the copter is kept at a constant position and height.
2016-03-03 12:18:13 +09:00
Andrew Tridgell 4efb9bd785 ArduCopter: update for changed AP_Camera API 2016-01-29 09:19:43 +11:00
Dario Lindo Andres 90bf13279b ArduCopter: Added precise camera trigger logging
Added update_trigger and check_digital_pin functions
added camera trigger precise time mark
detect camera feedback pin status
added support for simple digital pin
included support for digital pin. Already included in
APMrover2.
added support for TRIGGER MSG
corrected according to defines.h
2016-01-29 09:19:43 +11:00
Randy Mackay 2c5f9422d4 Copter: log event if pilot cancels land
Also add definition for throttle value that cancels land
2016-01-14 15:21:57 +09:00
Jonathan Challinger 8965185587 Copter: add "high throttle cancels landing" option 2016-01-14 15:21:54 +09:00
Randy Mackay 89c147184f Copter: log guided mode targets 2016-01-12 18:04:59 +09:00
Gavin Mogensen 3918987507 Copter: aux switches for relays 2,3 and 4 2016-01-08 12:12:47 +09:00
Jonathan Challinger 0e85f55cfc Copter: remove OF_LOITER entirely 2015-12-31 14:27:22 +09:00
Robert Lefebvre 652283a570 Copter: Helicopters to force descent when motor is shut off 2015-12-07 14:51:39 +09:00
Randy Mackay 4eafd90864 Copter: remove old comment 2015-11-27 15:02:24 +09:00
Randy Mackay e6f8d812d3 Copter: adsb handling simply logs error to dataflash 2015-11-27 15:02:20 +09:00
José Roberto de Souza c581a702a0 ArduCopter: Fix typo: auxiliar to auxiliary 2015-10-16 10:16:24 +11:00
Randy Mackay e20038a453 Copter: support SET_ATTITUDE_TARGET in guided mode 2015-10-09 12:15:38 +09:00
Randy Mackay 0da38ba2bf Copter: add Precision Landing log message 2015-08-31 18:00:30 +09:00
Gustavo Jose de Sousa 4d4b856735 ArduCopter: standardize inclusion of libaries headers
This commit changes the way libraries headers are included in source files:

 - If the header is in the same directory the source belongs to, so the
 notation '#include ""' is used with the path relative to the directory
 containing the source.

 - If the header is outside the directory containing the source, then we use
 the notation '#include <>' with the path relative to libraries folder.

Some of the advantages of such approach:

 - Only one search path for libraries headers.

 - OSs like Windows may have a better lookup time.
2015-08-11 16:28:40 +10:00
Randy Mackay 764fa36716 Copter: log ERR when compass, baro unhealthy 2015-07-12 22:11:35 +09:00
Randy Mackay cfe046c9d1 Copter: log EKF height reset 2015-07-06 12:11:54 +09:00
Robert Lefebvre 01ae84dda6 Copter: Create Loiter state machine. 2015-06-29 13:49:55 +09:00
Randy Mackay 2b35fbc81f Copter: remove redundant ToRad definition 2015-06-27 19:20:50 +09:00
Robert Lefebvre a642c88e34 Copter: AltHold state machine 2015-06-22 13:23:53 +09:00
Robert Lefebvre ee6508d5a7 Copter: Event Log rotor speed going below critical 2015-06-19 15:10:54 +09:00
Robert Lefebvre 62079226ff Copter: add Heli Dataflash message 2015-06-19 15:10:52 +09:00
Robert Lefebvre c6281c772d Copter: add rotor_runup_complete Event Logging 2015-06-19 15:10:48 +09:00
Leonard Hall b336ab4de7 Copter: Autotune remove logging of BAD_GAINS event
This should never happen so no need to log
2015-06-18 23:06:48 +09:00
Randy Mackay e3183babde Copter: remove unused GPS failsafe definitions 2015-06-10 12:06:10 +09:00
Randy Mackay aa05325b54 Copter: add althold as ekf failsafe action 2015-06-10 12:06:08 +09:00
Andrew Tridgell 1792710f41 Copter: added a bit in LOG_BITMASK for PID logging 2015-05-27 15:09:47 +10:00
Andrew Tridgell 14a90ea001 Copter: removed NOINLINE define 2015-05-21 09:35:51 +10:00
Randy Mackay 09a98b89b7 Copter: add RTL to front of RTLState enum values
This removes the confusing Land enum value which also appears in the
flight mode enum
2015-05-19 13:55:50 +09:00
Randy Mackay 8d05eaae16 Copter: add aux switch for Brake flight mode 2015-05-17 14:44:35 +09:00
Randy Mackay 7acdcd8905 Copter: rename stop to brake 2015-05-17 14:44:34 +09:00
Randy Mackay 41077be4ad Copter: parachute failure message if landed 2015-05-12 22:03:58 +09:00
Andrew Tridgell 6dc3cff000 Copter: added LOG_BITMASK 1<<19 for logging raw accel/gyro data
useful for checking vibration handling
2015-05-07 12:09:00 +10:00
Randy Mackay 0812e16008 Copter: explicitly define flight modes enum
Thanks to Luis Vale for spotting this
2015-05-02 13:24:33 +09:00
Robert Lefebvre 41a6cc64ff Copter: Log Emergency Stop and Motor Interlock status 2015-05-01 14:30:43 +09:00
Robert Lefebvre d8a0952b5a Copter: Explicitly define aux_switch enum. 2015-05-01 14:30:42 +09:00
Robert Lefebvre da2854403e Copter: Explicitly define tuning_func enum value 2015-05-01 14:30:42 +09:00
Robert Lefebvre fab8604f16 Copter: Change Auto Yaw #define table into Enum. 2015-05-01 14:30:39 +09:00
Robert Lefebvre 32b4e70cb7 Copter: Deprecate Aux Switch Multi-Mode 2015-05-01 14:30:38 +09:00
Robert Lefebvre 22a7fba289 Copter: Change autopilot modes into Enum 2015-05-01 14:30:37 +09:00
Robert Lefebvre 39d23519b1 Copter: Change CH6_Tuning #defines into Enum 2015-05-01 14:30:36 +09:00
Robert Lefebvre 2010410c44 Copter: Add numbers to Aux Switch Enum comments 2015-05-01 14:30:28 +09:00
Robert Lefebvre 7349827eb1 Copter: Add Aux Switch E-Stop Function 2015-05-01 14:30:26 +09:00
Robert Lefebvre e4c5915330 Copter: initial creation of motor_interlock 2015-05-01 14:30:21 +09:00
Jonathan Challinger 73d961cebc Copter: mavlink initiated takeoff in alt-hold modes
adds PILOT_TKOFF_ALT for target altitude above home in cm for pilot initiated takeoff
2015-05-01 12:56:18 +09:00
Andrew Chapman 4311cd4e7a Copter: add logging for CH6 parameter tuning
Logs CH6 tuning values to a new PTUN log struct, specific to
APM::Copter at this point
2015-04-28 14:14:01 +09:00
Andrew Tridgell cb2427ef9e Copter: removed special cases for DCM gain changes on arm/disarm
copter no longer uses DCM, so it doesn't need these special cases
2015-04-28 14:07:39 +10:00
Robert Lefebvre 1aa696bc10 Copter: Implement Stop Mode 2015-04-26 16:11:47 +09:00
Randy Mackay dfb720bab6 Copter: rename FULL_IMU logging to IMU_FAST
This naming is consistent with the earlier ATTITUDE_FAST option and
clarifies that it's the rate that's increased rather than the content.
2015-04-20 13:49:04 +09:00
Peter Barker 5a45de5e00 Copter: IMU full-rate logging LOG_BITMASK flag 2015-04-20 13:48:58 +09:00
Jaime Machuca 3c00b0a0a8 Copter: ch7/ch8 for lost copter sound 2015-04-13 17:44:39 +09:00
Randy Mackay 11576a0f1e Copter: fix bitmask for use with SET_POSITION_TARGET
Thanks to vooon for spotting this
2015-04-11 11:57:41 +09:00
Randy Mackay 74b98b89d0 Copter: remove dcm check 2015-03-27 00:04:37 -07:00
Randy Mackay 522ef8f91f Copter: rename MOT df msg to MOTB
This will slightly reduce confusion with the MOT message from AC3.1.5
that eventually became RCOUT
2015-03-18 21:25:45 +09:00
Randy Mackay b679fd0be0 Copter: log RATE with ATT 2015-03-18 21:25:42 +09:00
Randy Mackay e6c3f4f97b Copter: move aux switch enum to defines.h 2015-03-17 21:18:49 +09:00
Robert Lefebvre 97cd3614eb Copter: Change Aux Switch function list to enum. 2015-03-17 21:18:46 +09:00
Robert Lefebvre a5af151a91 Copter: Initial expansion of Aux Switch to Ch7-12 2015-03-17 21:18:41 +09:00
Randy Mackay fbfc94cf69 Copter: remove GPS glitch and failsafe
The EKF failsafe now captures all failures that could lead to a bad
position including GPS glitches and a bad compass meaning we do not need
this protection in the main flight code.
2015-03-13 16:40:46 +09:00
Randy Mackay 0476558049 Copter: remove USE_EKF from ch7/ch8 switch 2015-03-13 16:40:20 +09:00
Leonard Hall c78480e14f Copter: rename loiter_pos to pos_xy
Also renamed throttle_rate to vel_z, throttle_accel to accel_z
2015-03-06 14:02:17 +09:00
Leonard Hall e232867661 Copter: move LOITER_RATE to 2-axis PI controller
Also rename LOITER_RATE to VEL_XY for parameters, definitions, variables
2015-03-06 14:02:15 +09:00
Leonard Hall 1ec5eedd23 Copter: ch6 tuning of yaw rate filter 2015-03-06 14:02:13 +09:00
Leonard Hall 8ba195a3a2 Copter: add Mot and Rate dataflash logging 2015-03-06 14:02:07 +09:00
Leonard Hall 3e8563dd8b Copter: ch6 tuning definition for yaw min headroom 2015-03-03 15:48:17 +09:00
Andrew Tridgell 74ef1b8d2f Copter: removed HomeState from defines.h
now in AP_Common.h
2015-02-21 10:14:32 +11:00
Randy Mackay e081b9d1c7 Copter: home is set becomes three state 2015-02-12 15:00:50 +09:00
Randy Mackay 34503de18e Copter: integrate SerialManager
Remove serial0, serial1 baud and protocol parameters
Pass serial_manager to GCS, GPS, mount, FrSky_telem objects during init
call SerialManager init_console on startup
use SerialManager's set_block_writes_all
2015-01-29 14:05:14 +11:00
Robert Lefebvre 4b86a4aeec Arducopter: Change mode logging to use common-vehicle DataFlash library. 2015-01-21 14:37:20 +09:00
Robert Lefebvre 422970a1b1 Arducopter: Change compass logging to use common-vehicle DataFlash library. 2015-01-21 14:37:16 +09:00
Robert Lefebvre 1b152cf2bf ArduCopter: Change Current logging to use common-vehicle logging in DataFlash library. 2015-01-21 14:37:04 +09:00
Robert Lefebvre c9d5b6aa7f Arducopter: Change Attitude logging to use common-vehicle logging in DataFlash library. 2015-01-21 14:36:59 +09:00
Randy Mackay 80f59694d0 Copter: remove deprecated Guided-Spline
Guided-Spline has been replaced by Guided-PosVel
2015-01-07 14:03:50 +09:00
Jonathan Challinger bc29008233 Copter: add guided_posvel 2015-01-07 14:02:21 +09:00
Robert Lefebvre e10e020062 Copter: Add Landing Gear functionality to main code 2015-01-07 11:58:16 +09:00
Randy Mackay 67fdfffc2a Copter: remove OF_Loiter PIDs and tuning 2014-12-08 14:58:18 +09:00
Jonathan Challinger 387f3276cb Copter: handle SET_POSITION_TARGET mavlink messages 2014-11-17 14:38:55 -08:00
Jonathan Challinger 1b1327dc93 Copter: add Guided_Spline mode 2014-11-17 14:38:48 -08:00
Jonathan Challinger 80ba40d149 Copter: CPU failsafe logs an error 2014-11-08 11:27:16 +09:00
Jonathan Challinger d7d8330303 Copter: loiter copter without accepting user input at end of auto mission 2014-10-20 10:46:14 +09:00
Andrew Tridgell c3d839456b Copter: support logging while disarmed 2014-10-17 16:29:59 +09:00
Randy Mackay b9977a1115 Copter: add land_complete_maybe flag 2014-09-19 16:43:15 +09:00
Randy Mackay 3fa3cb6d65 Copter: remove EPM neutral from ch7/ch8 switch
The EPM library returns the pwm output sent to the EPM to the neutral
position automatically meaning an explicit ch7/ch8 setting is not
required
2014-09-17 21:13:45 +09:00
Randy Mackay 14d80910ec Copter: integrate EPM ver2 2014-09-17 21:13:35 +09:00
Jason Short 882edaf787 Copter: add pitch axis flipping
Added Pitch axis flipping. You must be pushing forward or back 3° to make it flip in Pitch axis or it will flip in the default roll axis.
Added some extra throttle control to maintain altitude
removed the CH7 ability to exit Flip mode. It will exit only if completing flip or user aborts with control sticks.
2014-08-23 23:40:07 +09:00
priseborough 162b824424 Copter : Distinguish between EKF and INAV errors 2014-08-18 14:17:50 +09:00
Randy Mackay 5b114dcad5 Copter: remove unused WP_OPTION definitions
This also kicks off the build for AC3.2-rc5
2014-08-16 12:18:48 +09:00
Andrew Tridgell e260f1c569 Copter: convert to using StorageManager 2014-08-13 18:46:44 +10:00
Randy Mackay 4723ed5e6e Copter: rename EKF check's error message to dataflash
It checks more than the compass so the old error message was misleading.
2014-08-09 15:48:42 +09:00
Randy Mackay 0518439841 Copter: move relay from ch6 to ch7/ch8 2014-08-09 13:37:12 +09:00
ggregory8 3832c46998 Copter: Add takeoff enum for guided_mode 2014-08-05 10:25:29 +09:00
Randy Mackay 8a07701d07 Copter: remove ch6 tuning of INAV_TC
Users normally never change these parameters and if by chance they do want
to, they can set them before flying
2014-08-01 15:14:42 +09:00
Andrew Tridgell 3ccac6736d Copter: rename TELEM2_PROTOCOL to SERIAL2_PROTOCOL
this matches SERIAL2_BAUD
2014-07-30 14:49:10 +10:00
Matthias Badaire 147e91877e Copter: Add SERIAL2_PROTOCOL for GCS and FRsky telemtry
this allows selection of protocol type on telem2. The default is
MAVLink, but can be selected as FrSky protocol
2014-07-29 17:08:19 -07:00
Randy Mackay 7cc1501dc6 Copter: integrate baro glitch protection 2014-07-28 22:16:20 +09:00
akdslr dc67058771 ArduCopter: Removed CONFIG_SONAR_SOURCE, SONAR_SOURCE_ADC, and SONAR_SOURCE_ANALOG_PIN since no longer used 2014-07-24 14:41:55 +10:00
Randy Mackay 7bda6cbadf Copter: integrate EKF check
Check runs at 10hz
Log ekf check failures and ekd failsafes
2014-07-22 23:13:25 +09:00
Andrew Tridgell 49954a3a61 Copter: use sensors from board subtypes 2014-07-14 09:44:35 +10:00
Randy Mackay 65e5367619 Copter: rename hybrid to poshold 2014-07-11 14:09:01 +09:00
svefro e892b4cd04 Copter: Ch7/8 option to retract mount
-Define AUX_SWITCH_RETRACT_MOUNT in defines.h
-Added 27=Retract Mount to Parameters.pde CH7 and CH8
-added int on CH7/8opt AUX_SWITCH_RETRACT_MOUNT
-Added Case #if Mount == ENABLE to set mount mode
made set_mode public in AP_Mount.h lib
2014-07-10 13:03:28 +09:00
Robert Lefebvre 1f422c86c1 Arducopter: Add independent rate roll and pitch P, I, D tuning options. Add rate feedforward tuning options for tradheli. 2014-07-08 20:18:08 +09:00
Randy Mackay f5640dadbf Copter: guided mode velocity controller 2014-07-06 17:01:08 +09:00
Randy Mackay fdc0ec837b Copter: add nav_guided suport to Auto mode 2014-07-06 17:00:31 +09:00
Andrew Tridgell 21b0b3bc15 Copter: log up to 3 mags 2014-07-04 12:07:59 +10:00
Randy Mackay 8c488ebd87 Copter: use common Log_Write_Camera
pair programmed with Craig Elder
2014-06-17 14:11:39 +10:00
Randy Mackay 810c87969c Copter: Ch7/8 switch to enable/disable feed forward and accel limiting 2014-06-10 20:03:04 +09:00
Andrew Chapman 3f0a52cb53 Copter: ch7/8 switch for auto pause/continue
- added new mode for CH7/CH8 (#24, auto mission reset)
- changed mission.start() to mission.start_or_resume() in auto_init()
2014-05-08 23:09:42 +09:00
Randy Mackay b5ed23f592 Copter: integrate skeleton Hybrid mode 2014-04-23 14:59:17 +09:00
Randy Mackay 7af5d4a8ce Copter: remove RALLY_WP_SIZE definition 2014-04-19 15:00:30 +09:00
Andrew Chapman fa3732ac6d Copter: integrate AP_Rally 2014-04-19 15:00:23 +09:00
Randy Mackay e6d2692eab Copter: Loiter_Turns moves to edge of circle if location provided 2014-04-16 16:28:08 +09:00
Emile Castelnuovo 9e31f032c2 Copter: added VRBRAIN board #includes and #defines 2014-04-08 16:19:20 +10:00
Randy Mackay 47c1cb8b99 Copter: log parachute events 2014-04-07 13:36:59 +09:00
Randy Mackay 340f3a7f9d Copter: ch7/ch8 parachute release 2014-04-07 13:36:47 +09:00
Andrew Tridgell 640b64f5e4 Copter: convert to new GPS API 2014-04-01 06:38:24 +11:00
Randy Mackay 0822adfb34 Copter: integrate spline navigation 2014-03-28 09:22:59 +09:00
Andrew Tridgell 11e5b95878 Copter: updates for GPS changes 2014-03-24 12:04:46 +11:00
Randy Mackay f3813593b7 Copter: use Dataflash lib's Log_Write_Cmd 2014-03-19 12:12:11 +09:00
Randy Mackay b587d0d597 Copter: pass eeprom start to Mission constructor 2014-03-19 12:11:56 +09:00
Randy Mackay f77b2af661 Copter: use common location options masks 2014-03-19 12:10:26 +09:00
Randy Mackay 37fe229ded Copter: remove unused definitions 2014-03-19 12:10:12 +09:00
Randy Mackay c56f521897 Copter: ch6 tuning of RC_FEEL_RP 2014-03-04 22:23:53 +09:00
Randy Mackay fdae812814 Copter: DO_SET_ROI persists across waypoints
Users should add a DO_SET_ROI command with zero lat, lon and alt to
restore the yaw control to the default control (which is normally
look-at-next-wp)
2014-02-18 21:36:02 +09:00
Randy Mackay 00913ffe1b Copter: throttle rate to simple P controller
Saves at least 15bytes of RAM
2014-02-16 13:35:40 +11:00
Randy Mackay 20989fd5e9 Copter: allow ch6 tuning of EKF 2014-02-15 05:48:20 +11:00
Andrew Tridgell a112694a50 Copter: added AUX switch option for enable/disable EKF 2014-02-15 05:48:17 +11:00
Andrew Tridgell 24f2ac20de Copter: removed HIL_MODE_ATTITUDE
this really can't work any more, as AHRS can't support it
2014-02-15 05:29:46 +11:00
Randy Mackay aa4c3eaffe Copter: resolve RTL state compiler warnings 2014-02-15 05:27:48 +11:00
Randy Mackay f46ff2b44e Copter: remove unused defines 2014-02-15 05:27:46 +11:00
Randy Mackay aec67cd3df Copter: integrate control_autotune 2014-02-15 05:27:44 +11:00
Randy Mackay d90d3d8dca Copter: integrate control_flip 2014-02-15 05:27:44 +11:00
Randy Mackay ef666c73ab Copter: remove Position mode 2014-02-15 05:27:42 +11:00
Randy Mackay 1457a9d31a Copter: auto_mode to global scope 2014-02-15 05:27:41 +11:00
Randy Mackay 689e92eb33 Copter: control_rtl 2014-02-15 05:27:39 +11:00
Randy Mackay 65f7bf92f4 Copter: replace yaw_mode with auto_yaw_mode 2014-02-15 05:27:37 +11:00
Randy Mackay 2219f21744 Copter: add RC_FEEL_RP parameter
Values from 0 ~ 100 control amount of filtering on roll and pitch input.
100 = no filter so crisp feel, 0 = a lot of filtering so very sluggish
response
2014-02-12 16:28:41 +09:00
Dneault f48e106271 Copter: add coax heli support
Motors should be attached to RCOutputs 1 and 2, Flaps should be connected
to RC outputs 3 and 4
2014-02-07 12:36:04 +09:00
Randy Mackay 214a859e97 Copter: remove unused RADX100 definition
The real purpose of this small change is to kick off the autobuilder for
the AC3.1.1 release.
2014-01-26 13:41:14 +09:00
Randy Mackay a45b9cbe9a Copter: remove unused RELAY_TOGGLE definition 2014-01-26 10:10:02 +09:00
Randy Mackay dee5fb212a Copter: remove dup definition of FRAME_ORIENTATION
Ideally the frame orientation parameter should be moved to the motors
class
2014-01-21 21:44:17 +09:00
Randy Mackay ae4f368f16 Copter: allow ch6 tuning of loiter speed 2014-01-15 15:22:52 +09:00