Commit Graph

480 Commits

Author SHA1 Message Date
Leonard Hall 54a59f581f Copter: add motor thrust lost check 2018-10-16 00:44:50 +09:00
CAO MUQING 71beab7502 Copter: create and update Zigzag flight mode 2018-10-05 10:05:45 +09:00
Arjun Vinod 78be026d83 Copter: fixed typo 2018-08-29 09:36:58 +09:00
Peter Barker e7e56dde7a Copter: move handling of RC switches into RC_Channel 2018-08-01 12:11:30 +09:00
SergeyBokhantsev ea3de59107 Copter: implement user auxswitch functions 2018-07-26 20:27:49 +09:00
Peter Barker 078d90132c Copter: use AP_RTC
Co-authored-by: patrickelectric@gmail.com

Copter: AP_GPS now sets the system time directly

Copter: use AP_RTC for mission delays

Copter: Remove ap_t bits counter (Patrick José Pereira)

Change bits in ap_t to bool and add a static assert
2018-06-15 08:01:22 +10:00
Peter Barker db60e93716 Copter: correct comment on deprecated switch option 2018-06-01 15:01:46 +09:00
Peter Barker 948b90ed97 Copter: rename roi_WP to just roi
A Vector3f is not a waypoint.

This should really be "Point Of Interest" rather than "Region Of
Interest"
2018-04-18 13:27:43 +09:00
Peter Barker ba8b3e2415 Copter: create an AutoYaw helper object to hold auto-yaw state 2018-04-18 13:27:43 +09:00
Peter Barker 80549a479e Copter: move throw logging into ModeThrow 2018-04-17 17:16:52 +09:00
Michael du Breuil 291531e056 Copter: Support new battery failsafes 2018-03-27 22:12:21 +01:00
Randy Mackay 4a74b1b5e5 Copter: replace NTUN with PSC logging 2018-03-16 13:50:57 +09:00
Leonard Hall 9544b1763b Copter: replace smoothing gain with AC_AttitudeControl::set_input_tc 2018-03-16 13:50:57 +09:00
Ebin b8a307cdd0 Copter: Changed log message IDs to enum
Changes log message IDs to enum, removes values in LoggingParameters enum
and removes deprecated params in LogParameters.
2018-03-14 09:33:39 +09:00
Randy Mackay 6ee101ca98 Copter: rename chase to follow 2018-03-05 15:08:08 +09:00
Peter Barker 199455dc56 Copter: add chase mode 2018-03-05 15:08:08 +09:00
Peter Barker bfc373aeff Copter: move logging of PM messages to AP_Scheduler 2018-02-13 17:15:05 +11:00
Andrew Tridgell af4f0c29ba Copter: enable TMODE (ToyMode) support
this is for the skyviper button based transmitter control
2018-02-08 17:36:33 +11:00
Andrew Tridgell f442b91ea5 Copter: added FLOWHOLD flight mode
This flight mode allows for position hold with optical flow without
needing a rangefinder for height. It can estimate its height from the
flow data and IMU
2018-02-08 17:36:33 +11:00
Pierre Kancir 10e6fe43dd Copter: Add a switch option to enable/disable RC_Override 2018-01-24 21:37:41 +09:00
Dylan Herman 20fe5bb98f Copter: add SmartRTL failsafe action
Adds SmartRTL or RTL and SmartRTL or Land failsafe options for batt, throttle, and GCS failsafes
2018-01-22 10:54:28 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 928bc19cee Copter: Use DEGX100 define instead of hardcoded value (NFC) 2017-12-05 08:54:49 +09:00
Randy Mackay 787954fa37 Copter: integrate winch library
fixes after peer review:
rename winch-disable to winch-relaxed
add DO_WINCH to do-verify
winch release-length accepts rate
2017-10-27 09:20:38 +09:00
Andrew Tridgell 951ed95eb9 Copter: support inverted flight CH7 option 2017-10-03 10:16:41 +11:00
Randy Mackay 44a436642b Copter: complete rename to SmartRTL
Also fix parameter description for CH7_OPT
2017-09-15 08:58:14 +09:00
Michael du Breuil ffc2aeee32 Copter: Support landing flight termination 2017-09-13 13:15:08 -07:00
squilter 4b57a4a231 Copter: rename SafeRTL to SmartRTL 2017-09-09 14:05:41 +09:00
squilter ba0e08552f Copter: add SafeRTL flight mode 2017-09-09 14:05:41 +09:00
Peter Barker 5103739ea3 Copter: remove unused CH6 defines 2017-08-24 19:48:17 +09:00
Randy Mackay f97e43919b Copter: add gps glitch notification and pre-arm check 2017-07-27 14:16:23 +09:00
khancyr 0710018a42 Copter: move proximity log to DataFlash (NFC) 2017-07-24 13:44:43 +01:00
Randy Mackay 9b05f1d9c7 Copter: add auto-yaw-rate and replace guided_angle_state.use_yaw_rate
We use the auto_yaw_mode in auto and guided modes to allow various yaw behaviours
This commit adds a new AUTO_YAW_RATE control to the mode and uses it within guided mode.
This new RATE control is not currently used within auto mode because there is no way (yet) for a mission command to specify a desired rate.
2017-07-12 13:27:45 +09:00
Peter Barker 2d11544ea8 Copter: remove redundant arming check defines 2017-07-06 11:55:12 +09:00
karthik.desai afc382c342 Copter: moved beacon logging to dataflash 2017-04-22 10:55:08 +09:00
Randy Mackay 8140353c64 Copter: log event when primary GPS changes 2017-03-13 11:31:51 +11:00
Peter Barker b7f982d7ce Copter: support for arming and disarming using an auxsw 2017-02-06 16:48:50 +09:00
Andrew Tridgell e85df47b06 Copter: fixed parameter handling for pointer objects
fixed loading of default files and use of POINTER flag on object
groups
2017-01-12 17:39:37 +11:00
Randy Mackay 38478638de Copter: aux switch for enable/disable proximity based avoidance 2016-12-20 19:48:02 +09:00
Peter Barker 289aba4350 Copter: support for NAV_CMD_PLACE 2016-12-02 12:52:53 +11:00
Randy Mackay 74c9c4aa9d Copter: add beacon data flash logging
Added to Copter vehicle because currently only used by Copter
2016-11-30 17:56:59 +09:00
Peter Barker e72f5a6240 ArduCopter: enable/disable precision loiter on a switch
A switch MUST be assigned for precision loiter to be enabled
2016-11-18 09:41:56 +09:00
Peter Barker 236b8ab6b7 Copter: make EPM a subclass of AP_Gripper_Backend 2016-11-05 10:20:39 +09:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Randy Mackay a07ecfe2b3 Copter: log proximity sensor at 10hz
This is current in the Copter vehicle code but we can move to the dataflash library when other vehicles start using this type of sensor.  Until then adding it to common will just increase the dependencies unnecessarily for other vehicles.
2016-10-13 20:21:07 +09:00
Randy Mackay d74ae535d1 Copter: log EKF lane switch 2016-10-10 16:40:08 +09:00
Peter Barker b81074d83a Copter: simplify auxsw duplicates check 2016-09-23 18:12:19 +09:00
Andrew Tridgell d0dd10aeea Copter: added DEV_OPTIONS parameter
this is for little used options to allow standard firmware builds to
enable those options for development purposes

First option is for MAVLink based ADSB avoidance
2016-09-12 16:24:34 +10:00
Randy Mackay e17c8ac851 Copter: remove non-working reset-to-armed-yaw
Arguably we should make this work, but until that happens we should not present the option on the auxiliary switches
2016-08-29 16:34:24 +09:00
floaledm 893614897e Copter: moved MAV_TYPE to Copter.h 2016-08-25 10:16:20 +10:00
Andrew Tridgell 96de005591 Copter: moved MAV_TYPE define to defines.h 2016-08-25 10:16:20 +10:00
Randy Mackay 728e8f8f56 Copter: land_state uses enum
This resolves a Covarity warning related to initialisation (that was not really a problem) but it is better form anyway
2016-08-08 13:31:29 +09:00
Randy Mackay 88da5bd453 Copter: sport mode restructured to match althold and feedback from mid-stick
This modifies sport mode to be structured like althold and loiter flight modes so that ongoing maintenance of the modes is hopefully easier.
Also changes throttle feedback to occur from mid-stick
2016-08-05 12:40:37 +09:00
Leonard Hall 205bac91a1 Copter: loiter spin-up to throttle min (and remove a state) 2016-08-05 12:40:37 +09:00
Leonard Hall d9deab9e8e Copter: AltHold pilot feedback only spins up to min throttle 2016-08-05 12:40:37 +09:00
Randy Mackay f4f13bbe6b Copter: add throw mode logging 2016-08-02 20:25:52 +09:00
chambana 25940c8e0f Copter: add THROW_TYPE and allow dropping vehicle to trigger motors 2016-08-02 20:25:52 +09:00
Randy Mackay f0f87a2f0c Copter: add throw_nextmode
vehicle switches to mode specified in THROW_NEXTMODE parameter after the
throw is completed.
2016-08-02 20:25:52 +09:00
Randy Mackay 64ac18da6c Copter: move throw state into structure
This makes it easier to add more state which is required for the follow throw_nextmode change
2016-08-02 20:25:52 +09:00
Randy Mackay 1161417d7f Copter: add GUIDED_NOGPS flight mode
This mode is a cut down version of Guided mode that only accepts attitude commands.
This mode does not require a GPS lock
2016-08-02 18:25:59 +09:00
Randy Mackay d50987f976 Copter: avoidance_adsb implements copter avoidance using ADSB 2016-07-25 20:24:37 +09:00
Randy Mackay b61ae1a4a1 Copter: log EKF yaw reset event 2016-06-24 18:12:30 +09:00
Randy Mackay 390d06a400 Copter: add and use FLIP_COMPLETE mode reason
No need to use the original reason we entered flip mode as the reason we are exiting flip.  Instead we can use a new reason called FLIP_COMPLETE
2016-05-25 16:15:34 +09:00
Randy Mackay e18bf3af56 Copter: remove unused definitions 2016-05-21 10:36:53 +09:00
Randy Mackay 7689315ba2 Copter: rename sonar to rangefinder 2016-05-21 10:36:53 +09:00
Randy Mackay e0bf08abe0 Copter: fixes to guided mode target check is within fence
guided altitude targets are converted to alt-above-home
remove unnecessary fence_status local variable from guided_set_destination methods
log failures to set guided target under a new failure code: ERROR_CODE_DEST_OUTSIDE_FENCE (5)
rename pv_get_home_destination_distance_mc to pv_distance_to_home_cm
2016-05-21 09:56:12 +09:00
Jonathan Challinger 747344a8ba Copter: add disarm on land detect option to PILOT_THR_BHV 2016-05-13 11:57:48 +09:00
Randy Mackay cfb2a6b2f9 Copter: update brake-timeout to work with master
We added mode-change reasons since PR was submitted
2016-05-13 11:42:25 +09:00
Andrew Tridgell 111eb2ccc1 Copter: use DataFlash::log_while_disarmed() 2016-05-09 12:05:52 +10:00
Randy Mackay 2eb0484142 Copter: rename Loiter states and swap order within select statement 2016-05-07 10:08:34 +09:00
Randy Mackay 9c12b64ba5 Copter: rename AltHold states and swap order within select statement
No functional change
2016-05-07 10:08:30 +09:00
Randy Mackay 3d31c3b936 Copter: log error if circle does not initialise correctly 2016-04-30 10:33:01 +09:00
Randy Mackay 43d14defd4 Copter: RTL handles terrain data failure 2016-04-30 10:33:01 +09:00
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