Commit Graph

216 Commits

Author SHA1 Message Date
Andrew Tridgell f18e0dadc9 Copter: added optional AdvancedFailsafe for copter and heli 2016-08-25 14:14:18 +10:00
floaledm 893614897e Copter: moved MAV_TYPE to Copter.h 2016-08-25 10:16:20 +10:00
Andrew Tridgell a14ff8ac77 Copter: fixes for Frsky_Telem API changes 2016-08-25 10:16:20 +10:00
floaledm 157db51b9d Copter: make control_sensor vars available outside of send_extended_status1 2016-08-25 10:16:18 +10:00
floaledm f73fa1fc80 Copter: removed frsky_telemetry_send scheduled task 2016-08-25 10:16:17 +10:00
Peter Barker f67d247a46 Copter: factor pre-arm checks, continue testing after a failure
The functional change here is that we continue to run later checks
when a check fails.

The user-visible effect of that is that your GCS will tell you about
all pre-arm failures, not just the first.

This makes things work a little more like Plane, in preparation for
using AP_Arming.
2016-08-16 11:37:18 -03:00
Andrew Tridgell 3041a75798 Copter: limit attitude on landing using WP_NAVALT_MIN 2016-08-16 11:26:56 +10:00
Randy Mackay 0ed5665193 Copter: change parameter order of guided_set_angle
I thought it might be slightly better to put the optional parameters at the end
No functional change
2016-08-10 10:03:54 +09:00
Allan Matthew 6dd4e1a2aa Copter: accept yaw rate commands in Guided atttude controller 2016-08-10 10:03:37 +09:00
Randy Mackay 9842840346 Copter: GND_EFFECT_COMP parameter to enable ground effect compensation 2016-08-09 13:31:36 +09: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
Francisco Ferreira 43ad1f372d Copter: change function from computing return altitude to computing return target
Also fix altitude for rally points
2016-08-06 13:50:53 +09:00
Francisco Ferreira e732cda577 Copter: when calculating RTL return alt use rtl_path directly
At the same time, fix bug: check return point for terrain and not origin twice
2016-08-06 13:50:50 +09:00
Randy Mackay c3d71f733c Copter: remove get_takeoff_trigger_throttle
get_pilot_desired_climbrate can be used instead.
2016-08-05 12:40:37 +09:00
Randy Mackay d1e257d5b6 Copter: remove unused get_throttle_pre_takeoff 2016-08-05 12:40:37 +09:00
Jonathan Challinger 80f3541933 Copter: add configurable arming delay 2016-08-04 15:19:22 +09:00
Jonathan Challinger 4a6cc75ebb Copter: whitespace change 2016-08-04 15:17:38 +09:00
Randy Mackay 595aea236a Copter: consolidate throw mode state into structure 2016-08-02 20:25:52 +09:00
Randy Mackay 807e930251 Copter: throw uses motor spooling instead of interlock 2016-08-02 20:25:52 +09:00
Randy Mackay f4f13bbe6b Copter: add throw mode logging 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 49674abb21 Copter: guided mode's velocity controller stops before fence 2016-07-25 20:24:37 +09:00
Randy Mackay dc52f3b2df Copter: guided mode applies acceleration limits to velocity controller 2016-07-25 20:24:37 +09:00
Randy Mackay 6118bf1b14 Copter: remove adsb sensor library based avoidance
adsb based avoidance has been moved to AP_Avoidance library
2016-07-25 20:24:37 +09:00
Randy Mackay d50987f976 Copter: avoidance_adsb implements copter avoidance using ADSB 2016-07-25 20:24:37 +09:00
Randy Mackay 68899ed921 Copter: add adsb to failsafe structure and report in heartbeat to GCS 2016-07-25 20:24:37 +09:00
Andrew Tridgell 387da40fc5 ArduCopter: adjust for 16 channels in SERVO_OUTPUT_RAW 2016-07-25 10:06:02 +10:00
Andrew Tridgell cb5ca713a9 Copter: added AP_Button support 2016-07-22 15:01:20 +10:00
Francisco Ferreira 90a4b36263 Copter: remove pre-arm check for rally points 2016-07-22 09:00:23 +09:00
Francisco Ferreira 25fefe77b7 Copter: add AP_Rally_Copter
override default is_valid method so we can check if rally point is inside the fence, if it isn't we ignore it
2016-07-22 09:00:18 +09:00
Jonathan Challinger e22220ab62 Copter: refactor landing to reduce duplication, use vertical vel ff 2016-07-12 18:40:25 +09:00
Andrew Tridgell 3a8ed06267 Copter: added TKOFF_NAV_ALT parameter
this adds TKOFF_NAV_ALT which controls the altitude above takeoff that
navigation can begin. It is meant for unstable vehicles such as helis
to prevent blade strike during initial takeoff.

This also adds a new parameter class ParametersG2 which can hold 64
parameters. This is to avoid running out of parameters in the first
256 block
2016-07-07 14:21:47 +09:00
Randy Mackay 877a144dea Copter: pre-arm check that rally points are within fence 2016-07-04 18:25:03 +09:00
Jonathan Challinger 91a5b26725 Copter: use simplified precland interface 2016-07-04 16:57:06 +09:00
Randy Mackay 543d5701e7 Copter: remove unused log_write_startup 2016-07-04 11:17:16 +09:00
Daniel Ricketts 87be8daf0e Copter: integrate AC_Avoidance library 2016-06-22 11:38:15 +09:00
Leonard Hall e9d8a28ec0 Copter: AP_Motor's throttle_hover replaces throttle_average 2016-06-18 11:55:49 +09:00
Peter Barker e977d85e0c Copter: move telemetry_delayed up into base class 2016-05-31 08:46:09 +10:00
Peter Barker bb19c57615 Copter: subclass GCS_MAVLink in place of defining its functions for it 2016-05-29 16:21:21 +10:00
Randy Mackay cb9ca94dd1 Copter: remove unused pv_location_to_vector_with_default 2016-05-25 16:19:42 +09:00
Randy Mackay 8171532dc5 Copter: allow rangefinder to be disabled from definition 2016-05-21 10:36:53 +09:00
Randy Mackay e489c3184c Copter: rangefinder.enabled false if no range finders are configured 2016-05-21 10:36:53 +09:00
Randy Mackay 59070653cc Copter: provide filtered range finder altitude to AC_WPNav 2016-05-21 10:36:53 +09:00
Randy Mackay 5ac13c0355 Copter: move rangefinder variables into structure
moved in rangefinder_alt, rangefinder_alt_health and rangefinder_enabled
2016-05-21 10:36:53 +09:00
Randy Mackay 273b9acad8 Copter: prearm check that RTL_ALT is below rangefinder max alt
Only applies where terrain following is enabled and a range finder is connected
2016-05-21 10:36:53 +09:00
Randy Mackay ba38b0234f Copter: use rangefinder class's valid_range_count
Also read_rangefinder directly updates rangefinder_alt variable instead of returning distance
No functional change
2016-05-21 10:36:53 +09:00
Randy Mackay 949d5f7109 Copter: add rangefinder_alt_ok
Reduces some duplicate code,no functional change.
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 028946ae9e Copter: rename CONFIG_SONAR to RANGEFINDER_ENABLE 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
Saloni Jain bc22419286 Copter : Modified set_guided_destination() to reject requests for guided waypoints outside the fence. 2016-05-21 09:56:12 +09:00
Randy Mackay 793e3da904 Copter: rename variables used for NAV_DELAY command 2016-05-19 16:16:03 +09:00
Niti Rohilla 55f66b7696 Copter: Add support for MAV_CMD_NAV_DELAY 2016-05-19 16:16:02 +09:00
Jonathan Challinger c99cac773b Copter: add brake_timeout_to_loiter_ms 2016-05-13 11:42:25 +09:00
Andrew Tridgell 9da3b8db60 Copter: only log baro, gps and mag if ekf not logging them 2016-05-07 18:27:19 +10:00
Andrew Tridgell b235304235 Copter: reduce IMU logging to 25Hz
leave more room for IMT logging needed for Replay
2016-05-07 18:27:17 +10:00
Lucas De Marchi 352e103f1a ArduCopter: use separate header for version macro
Having the version macro in the config.h and consequently in the main
vehicle header means that whenever the version changes we need to
compiler the whole vehicle again. This would not be so bad if we weren't
also appending the git hash in the version. In this case, whenever we
commit to the repository we would need to recompile everything.

Move to a separate header that is include only by its users. Then
instead of compiling everything we will compile just a few files.
2016-05-06 13:11:28 -03:00
Michael du Breuil c97888f524 Copter: Remove support for CONDITION_CHANGE_ALT 2016-04-30 10:56:07 +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 13c26eab67 Copter: update current_loc at 400hz 2016-04-30 10:33:01 +09:00
Randy Mackay ddffbe27aa Copter: add terrain pre-arm check 2016-04-30 10:33:01 +09:00
Randy Mackay 91f6c7b503 Copter: add TERRAIN_USE parameter
Also add terrain.cpp to hold terrain_update and terrain_logging functions
2016-04-30 10:33:01 +09:00
Randy Mackay 267c1c3934 Copter: guided mode handles terrain alt 2016-04-30 10:33:01 +09:00
Randy Mackay e8b14e59fc Copter: spline mission commands handle terrain altitudes 2016-04-30 10:33:01 +09:00
Randy Mackay 81d244c9bd Copter: do-circle accept terrain altitude 2016-04-30 10:33:01 +09:00
Randy Mackay 352b6ae82a Copter: RTL supports terrain altitudes 2016-04-30 10:33:01 +09:00
Randy Mackay 06ee6a7bd4 Copter: auto takeoff accepts abs and terrain alts 2016-04-30 10:33:01 +09:00
Randy Mackay 9449776e3c Copter: straight line waypoints accept terrain
auto_wp_start calls AC_WPNav's new set_wp_destination which accepts a
Location class allow altitude to be set as above-terrain or even an
absolute altitude
2016-04-30 10:33:01 +09:00
Randy Mackay 84fd8da944 Copter: current_loc to Location class 2016-04-30 10:33:01 +09:00
Andrew Tridgell 5149a49daa Copter: added logging of dropped log messages in PM message 2016-04-21 17:05:17 +10:00
Jonathan Challinger 2a36c32cf3 Copter: add prev_control_mode and prev_control_reason 2016-04-14 12:24:04 +09:00
Jonathan Challinger 1356deab8b Copter: add control_mode_reason 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
Ricardo de Almeida Gonzaga 5bd034a5a8 Global: start using cmath instead of math.h 2016-04-05 21:06:19 -07:00
Leonard Hall a9cda8b384 Copter: add convert_pid_parameters to ease migration to new PID gains 2016-04-01 11:59:30 +09:00
Randy Mackay d2a42a7a0e Copter: remove heli_radio_passthrough
Replaced with set_radio_passthrough which can be used for all frames
2016-04-01 11:59:30 +09:00
Randy Mackay ce1fb7fb06 Copter: passthrough pilot input to motors to allow wiggling servos 2016-04-01 11:59:30 +09:00
Randy Mackay 3eaf7a4582 Copter: set tradheli rotor speed using 0 to 1 range 2016-04-01 11:59:30 +09:00
Leonard Hall 263052da21 Copter: drift uses 0 to 1 throttle and sets motor spool state 2016-04-01 11:59:30 +09:00
Leonard Hall 74983669be Copter: set_accel_throttle_I_from_pilot_throttle uses 0 to 1 range 2016-04-01 11:59:30 +09:00
Leonard Hall fd2509f6ed Copter: get_pilot_desired_throttle outputs in 0 to 1 range 2016-04-01 11:59:30 +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 dca89e7fe7 Copter: throw static variables moved to global scope 2016-03-03 12:18:27 +09:00
Randy Mackay 24cfbeebd0 Copter: add throw_exit 2016-03-03 12:18:25 +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
Tom Pittenger 6568402b28 Copter: convert to using static send_statustext
- no more MSG_STATUSTEXT
- TODO: replace calls to gcs_send_text and gcs_send_text_fmt to GCS_MAVLINK::send_statustext()
2016-02-24 09:18:06 +11:00
Peter Barker 44c63b8873 Copter: move use of defines after config.h and defines.h 2016-02-19 12:34:23 -02: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
Jonathan Challinger 82322144ee Copter: remove unnecessary header file 2016-01-23 09:42:08 +09: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
Jonathan Challinger 5cc969f01b Copter: simplify battery and radio failsafe logic 2016-01-12 18:23:01 +09:00
Randy Mackay 89c147184f Copter: log guided mode targets 2016-01-12 18:04:59 +09:00
Jonathan Challinger dcd16696a2 Copter: refactor RTL to compute full path on initialization 2016-01-07 17:22:31 +09:00
bugobliterator 9a976963aa Copter: support AP_AccelCal 2015-12-29 10:46:34 -08:00