Commit Graph

536 Commits

Author SHA1 Message Date
khancyr 49755063ab Copter: move send_proximity to GCS common code (NFC) 2017-07-24 13:44:43 +01:00
Peter Barker e45efeb829 Copter: move starting of new logs into DataFlash 2017-07-19 16:37:28 +01:00
Randy Mackay 2b98fd765d Copter: guided_set_destination accepts relative yaw 2017-07-12 13:27:45 +09:00
Randy Mackay 4c9e118ceb Copter: set_auto_yaw_look_at_heading takes bool for relative angle arg
No functional change
2017-07-12 13:27:45 +09: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
kouseii 4dd7d9eaff Copter: guided mode supports heading and yaw-rate target 2017-07-12 13:27:45 +09:00
Peter Barker 358555446b Copter: eliminate gcs_send_mission_item_reached wrapper 2017-07-11 23:45:16 +01:00
Peter Barker 0ac045febe Copter: eliminate gcs_send_message wrapper 2017-07-11 23:45:16 +01:00
Peter Barker f60389d4aa Copter: use send_text method on the GCS singleton 2017-07-09 17:17:29 -04:00
Peter Barker d9b45cc202 Copter: create GCS subclass, use inheritted methods 2017-07-07 16:18:37 +01:00
Eugene Shamaev 24c390ade0 ArduCopter: move of CAN parameters into separate group 2017-07-03 11:44:32 +01:00
Peter Barker 8b57405143 Copter: handle knowledge of in_log_download in DataFlash 2017-06-27 03:10:43 +01:00
Leonard Hall 7eab1239c7 Copter: attitude logging at 400hz 2017-06-22 15:18:04 +09:00
Pierre Kancir 261eb387eb ArduCopter: change rangefinder msg for common one 2017-06-08 01:31:43 +01:00
Randy Mackay cb76bd8f3d Copter: compass set-initial-location uses ahrs location
Previously it could attempt to use a gps location even if gps was not being used
Also compass-accumulate moved to sensors.cpp
2017-06-07 13:01:38 +09:00
Randy Mackay 814cadac68 Copter: consolidate set_home functions
added lock argument instead of having twice as many functions
no functional change
2017-06-07 13:01:38 +09:00
Peter Barker 0bc17645fb Copter: AutoTune: add gcs messages detailing wait-for-level state 2017-05-18 09:36:00 +09:00
Peter Barker 586a5df814 Copter: add GCS messaging during autotune 2017-05-18 09:36:00 +09:00
Randy Mackay 91d4b4777b Copter: respond to param list request after motor init 2017-05-15 14:13:43 +09:00
Randy Mackay a3450a955d Copter: fix LED notify during auto esc calibration 2017-05-11 11:30:05 +09:00
Randy Mackay 713c08672f Copter: integrate AP_VisualOdom 2017-04-19 11:04:40 +09:00
Jonathan Challinger 054aab738b Copter: remove const qualifier from do_precision_loiter 2017-03-29 14:06:12 +09:00
Andrew Tridgell 6bb5c16fb8 Copter: allow for HELI_DUAL configurations 2017-03-25 16:22:10 +11:00
Randy Mackay 8140353c64 Copter: log event when primary GPS changes 2017-03-13 11:31:51 +11:00
Peter Barker 1d70a337dd Copter: remove unused desired_climb_rate variable 2017-03-09 19:52:58 +11:00
Andrew Tridgell 0d1bcd3b94 Copter: added automatic yaw to autotune position control 2017-02-27 19:34:44 +09:00
Andrew Tridgell 37fca03db3 Copter: implement simple position hold during autotune
this holds position during tuning with low gain
2017-02-27 19:34:36 +09:00
Randy Mackay 51c00f8144 Copter: use only downward facing rangefinder 2017-02-27 15:18:16 +09:00
Peter Barker 029aeeb4fd Copter: support for a GCS singleton 2017-02-13 09:32:01 +11:00
Peter Barker f49f153da0 Copter: rename gcs[] to gcs_chan[]
Wish to use gcs() to return the gcs singleton
2017-02-13 09:32:01 +11:00
Randy Mackay cb1f7ba4bb Copter: remove setting position control's altitude max
AC_Avoid now takes responsibility for enforcing the alt limit and accesses inertial nav's limit directly
2017-01-18 09:35:47 +09:00
Randy Mackay b15d341850 Copter: add avoidance adjusted climb rate 2017-01-18 09:35:47 +09:00
Randy Mackay cc217550c0 Copter: rename arming_checks to AP_Arming 2017-01-17 11:45:08 +09:00
Peter Barker bd6ffc025e Copter: start conversion to AP_Arming_Copter 2017-01-17 11:45:08 +09:00
Andrew Tridgell 1297a7dedb Copter: convert the rest of motors class for tricopter 2017-01-12 17:39:37 +11:00
Andrew Tridgell 0f6d0c5ba9 Copter: combined tri, single, coax and multicopter into a single build
this allows copter to be just 2 builds, one for heli, and one for
everything else
2017-01-12 17:39:37 +11:00
Andrew Tridgell 5a87ae3f01 Copter: use new SRV_Channels API 2017-01-12 17:39:37 +11:00
Francisco Ferreira 11b635df12
Copter: correct limit status to fence status 2017-01-12 02:00:51 +00:00
Peter Barker a233024e05 Copter: fix compilation when fence andd proximity are disabled
This adds AC_AVOID_ENABLED; avoidance must be disabled if either
of fence or proximity are disabled.

Parameter definitions have been reordered to avoid compiler warnings;
this make sthe numbering non-linear
2017-01-03 10:44:03 +09:00
Randy Mackay 01bcf5e528 Copter: add arming checks for motor setup 2016-12-31 10:55:23 +09:00
Randy Mackay 217757fdc8 Copter: default FRAME_CLASS 2016-12-31 10:55:23 +09:00
Randy Mackay 0ac00dbfd6 Copter: add FRAME_CLASS parameter 2016-12-31 10:55:23 +09:00
Andrew Tridgell c3b9dbf5c8 ArduCopter: Add EKF3 and remove EKF1 2016-12-19 08:07:09 +11:00
Pierre Kancir 3fc17a5ed5 Copter: avoid must be initialized after fence as it use it 2016-12-05 10:59:45 -08:00
Peter Barker 556eb88fe5 Copter: fix compile when precland is not selected
Fixes #5327
2016-12-05 20:03:00 +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
Randy Mackay 21c7ea1df7 Copter: integrate AP_Beacon 2016-11-30 17:56:55 +09:00
Andrew Tridgell bcea3ac8d4 Copter: handle rangefinder glitches in alt tracking
this handles glitches from the rangefinder when tracking the
ground. It requires 3 readings in a row to settle on a new target
altitude

thanks to discussions with Leonard and Randy
2016-11-28 17:36:01 +11:00
Randy Mackay 7485de3498 Copter: add send_proximity to send distances to GCS 2016-11-27 15:05:46 +09:00
Randy Mackay 218c8b2d16 Copter: proximity pre-arm check displays closet object 2016-11-27 15:05:44 +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 9e4628af58 Copter: precision loiter 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
Peter Barker 920868145c Copter: support for AP_Gripper 2016-11-05 10:20:33 +09:00
Peter Barker 1bb6350a67 Copter: periodically call stats update 2016-10-29 14:53:25 +09:00
Peter Barker df07cb525a Copter: use AP_Stats to store statistics about vehicle 2016-10-29 14:53:25 +09:00
floaledm 34718b130a Copter: update sensor status error flags independently of sending a sys_status message
Without this, there is no update to the sensor status flags in the Frsky
lib unless there's an active Mavlink connection configured to send
extended_status1
2016-10-28 10:03:38 +11: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
Leonard Hall fec24437f2 Copter: load accel throttle I term from attitude controller input
Previously we loaded up the I term from the pilot's input but a more reliable method is to get what was passed into the attitude controller.  In particular the addition of the acro-thr-mid parameter means the pilot's input must be interpreted differently for different flight modes.
2016-10-15 11:27:53 +09:00
Randy Mackay a124001b8b Copter: get_pilot_desired_throttle gets thr_mid argument default 2016-10-15 11:27:53 +09:00
Leonard Hall 5c47f3f9e5 Copter: add acro throttle and yaw expo and smoother manual pilot throttle 2016-10-15 11:27:53 +09:00
Randy Mackay 0aab175051 Copter: move proximity to g2 2016-10-14 14:02:29 +09:00
Jonathan Challinger f2ef8eec8c Copter: use velocity output from AC_PrecLand 2016-10-14 10:46:08 +09: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 fcc2a1b378 Copter: integrate AP_Proximity into main vehicle 2016-10-13 20:21:07 +09:00
Randy Mackay 26c3295042 Copter: ignore first ekf core switch
The ekf core is initialised to -1 but after initialisation changes to zero.  Ignore this first change.
2016-10-13 15:20:16 +09:00
Randy Mackay d74ae535d1 Copter: log EKF lane switch 2016-10-10 16:40:08 +09:00
Randy Mackay 35864c6226 Copter: move check_ekf_reset to ekf_check.cpp
No functional change
2016-10-10 16:40:08 +09:00
murata 7148cc6239 Copter: Return value is changed to Enum Value. 2016-10-05 08:25:15 -03:00
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
Lucas De Marchi e5e8bf3203 ArduCopter: don't link unused AP_Curve library 2015-12-28 10:23:23 -02:00
Jonathan Challinger 750cacc875 Copter: barometer ground effect compensation 2015-12-28 13:51:27 +09:00
Andrew Tridgell 4dd8714880 Copter: changed to Hz based task table 2015-12-27 14:57:21 +09:00
Jonathan Challinger 933ffb2b10 Copter: move prearm logic to arming_checks.cpp 2015-12-24 14:10:23 +09:00
Julien BERAUD f897356fd9 Copter: Optflow constructor update
AHRS passed as param
2015-12-18 17:56:06 +11:00
Lucas De Marchi 164b9f345c ArduCopter: remove unused AP_ADC_AnalogSource 2015-12-03 13:32:45 +11:00
Tom Pittenger 34d6d985e9 Copter: Add support for ADS-B 2015-11-27 15:02:15 +09:00
Caio Marcelo de Oliveira Filho c7acc46d09 Copter: use millis/micros/panic functions 2015-11-20 12:26:31 +09:00
Randy Mackay 1b29a1af46 Copter: consolidate setting of using-iterlock state 2015-11-17 09:02:31 +09:00
Randy Mackay 731c44d053 Copter: allow terrain to be excluded from build 2015-11-14 12:38:47 +09:00
Robert Lefebvre 5cc4f41d85 Copter: Helicopter: to use new Stab_Col and Acro_Col functions. 2015-11-12 19:37:23 +09:00
Robert Lefebvre 34fb600c4f Copter: Utilize Input Manager Class 2015-11-12 19:37:22 +09:00
lvale 549695181c Copter: revised and uniformization of severity messages 2015-11-05 12:20:49 +09:00
Jonathan Challinger 082c1f77fb Copter: soften takeoff 2015-11-04 20:49:22 +09:00
Lucas De Marchi 5244559010 Minimize AP_Progmem.h includes
Most of AP_Progmem is already gone so we can stop including it in most
of the places. The only places that need it are the ones using
pgm_read_*() APIs.

In some cases the header needed to be added in the .cpp since it was
removed from the .h to reduce scope. In those cases the headers were
also reordered.
2015-10-30 14:35:32 +09:00
Lucas De Marchi 1b07dabeb7 Replace prog_char and prog_char_t with char
prog_char and prog_char_t are now the same as char on supported
platforms. So, just change all places that use them and prefer char
instead.

AVR-specific places were not changed.
2015-10-30 14:35:30 +09:00
Lucas De Marchi 84da1f5039 Rename gcs_send_text_P to gcs_send_text 2015-10-30 14:35:07 +09:00
Caio Marcelo de Oliveira Filho bf6d1afd59 ArduCopter: include SITL only for SITL board
Include board-specific files only when the board is used. Since these
should be exceptional cases, let the includer handle the ifdef instead
of putting ifdefs in every platform-specific header.

In the future we should evaluate whether the HAL for the board should
instantiate this.
2015-10-22 13:36:14 -02:00
Caio Marcelo de Oliveira Filho 49a42dc985 SITL: use a SITL namespace 2015-10-22 11:04:42 -02:00
Caio Marcelo de Oliveira Filho 05ae7858e8 Copter: explicitly ask for always using EKF
When instantiating AP_AHRS_NavEKF for ArduCopter, explicitly pass the
flag to always use the EKF.

The motivation is to move vehicle specifc code out of the general
libraries. This patch shouldn't change behavior.
2015-10-21 11:01:11 +11:00
Caio Marcelo de Oliveira Filho 3e3f13659d ArduCopter: implement HAL::Callbacks
Also removes includes for each board since they are not necessary
anymore.
2015-10-21 09:16:09 +11:00
Randy Mackay e20038a453 Copter: support SET_ATTITUDE_TARGET in guided mode 2015-10-09 12:15:38 +09:00
Andrew Tridgell 1c26ed0fca Copter: fixed deadzone handling for external tail gyro
when using an external tail gyro on a flybar heli the stick input
should be directly passed to output. This patch fixes the use of
deadzone in that passthrough.

It also makes the tail handling consistent with roll and pitch
handling, by not using ACRO_YAW_P when in tail pass-through.

Finally it also fixes deadzone handling for roll and pitch, and
removes the unnecessary get_pilot_desired_yaw_rate() that has a
different prototype from the one used in the rest of the code
2015-09-25 12:05:43 +10:00
Randy Mackay cdd4570f02 Copter: fix init order of ekfYawReset_ms 2015-09-24 16:57:50 +09:00
Jonathan Challinger e47175862a Copter: use modified getLastYawResetAngle function 2015-09-24 16:57:44 +09:00
Andrew Tridgell 053194fd51 Copter: added EK2_* parameters and EKF2 instance 2015-09-23 11:56:33 +10:00
Randy Mackay 57c5840f0d Copter: add EKF attitude arming check 2015-09-21 17:06:39 +09:00
Randy Mackay 01c0b20930 Copter: calibrate gyros depending on INS GYR_CAL parameter 2015-09-21 17:06:34 +09:00
Andrew Tridgell d6b244670b Copter: fix for changed AP_RangeFinder API 2015-09-08 16:46:52 +10:00
Leonard Hall 543f6fdcd4 Copter: AltHold limits lean angle to maintain altitude
get_pilot_desired_lean_angles function now takes angle max parameter but
all flight modes except AltHold simply pass in the ANGLE_MAX parameter
meaning no functional change for them
2015-09-07 15:10:12 +09:00
Jonathan Challinger 7d67a00aa3 Copter: add compass_cal update function 2015-09-03 16:59:12 +10:00
Peter Barker 51a761656e Copter: DFMessageWriter; ability to trickle messages out to DF 2015-09-03 15:20:19 +10:00
Randy Mackay f4b152f0e3 Copter: add Precision Landing to GPS land 2015-08-31 18:00:31 +09:00
Randy Mackay 0da38ba2bf Copter: add Precision Landing log message 2015-08-31 18:00:30 +09:00
Randy Mackay 26ded641db Copter: integrate Precision Landing lib 2015-08-31 18:00:28 +09:00
Fredrik Hedberg 66d9d38750 Copter: Use AP_MotorsHeli_Single for HELI_FRAME. 2015-08-31 11:27:32 +09:00
Stewart Loving-Gibbard 7cb494d8e2 Copter: Moving to RSSI library for reading various kinds of RSSI, with the possibility of adding more.
* Retains ability to read from Analog Pin
* Adds ability to read RSSI from PWM channel value as is done in OpenLRSng, EazyUHF, and various other LRS.
* Handles any type of RSSI that provides RSSI values inverted - i.e. when the low value is the best signal and the high value is the worst signal.
* Has different key names from all existing RSSI parameters to provide for a clean break and easier distinguishing.
* Existing parameters are marked as obsolete
2015-08-29 08:05:59 +10:00
squilter 767b4da5b6 Copter: update send text severities 2015-08-25 14:05:25 +09:00
Grant Morphett da37769e33 Copter: Added include guards for Copter.h 2015-08-25 13:54:18 +09:00
squilter a11227af84 Copter: define and send FIRMWARE_VERSION 2015-08-21 22:40:52 +09:00
Tom Pittenger 87d0b12c7c Copter: implement try send mission_item_reached
clean up unreachable code
2015-08-19 15:42:07 +10:00
Andrew Tridgell 1fdf7ec83f Copter: added RPM sensor support
send result via MAVLink
2015-08-12 15:03:50 +10:00
Randy Mackay b781f85948 Copter: convert fn from body-frame to NE 2015-08-11 16:41:08 -07: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
Jonathan Challinger a18f71b29e Copter: bug fix to RTL_ALT_MIN feature
commited by Randy
2015-08-08 15:38:47 +09:00
Randy Mackay 6765aedb5b Copter: init vehicle capabilities 2015-07-31 14:50:29 +09:00
squilter edf5ff1bbe Copter: add capability bitmask 2015-07-31 14:50:15 +09:00
Randy Mackay 53aad69fa2 Copter: include AttControl_Multi.h 2015-07-21 16:26:02 +09:00
Robert Lefebvre e3a0f1568d Copter: Tradheli to check rotor speed control input before arming
Also, force rsc_control input to 0 when disarmed.  This prevents condition where AP_MotorsHeli can receive a rotor speed command greater than zero while disarmed, which was causing the ColYaw function to move the rudder servo.  These two changes are somewhat tied together as it required changing the arming_check to check the RSC_Control not desired_speed from AP_MotorsHeli.
2015-07-21 16:25:25 +09:00
Tom Pittenger 0ecebbd55f Copter: Refactor verify_command
- abstracted verify_command so that command-wide actions can happen more cleanly, namely mission_item_reached
- This also brings the structure in line with plane and rover
2015-07-21 14:48:37 +09:00
Randy Mackay c62da52259 Copter: add gcs_send_mission_item_reached 2015-07-19 12:14:12 +09:00
Robert Lefebvre 5541899a99 Copter: Whitespace fixes. 2015-07-14 20:17:16 +09:00
Randy Mackay 764fa36716 Copter: log ERR when compass, baro unhealthy 2015-07-12 22:11:35 +09:00
Randy Mackay 221ddb545e Copter: log ahrs home and ekf origin 2015-07-06 12:11:51 +09:00
Peter Barker 12bce49cd1 Copter: use common mission logging code 2015-06-30 16:23:35 +10:00
Peter Barker 788faf1f7d Copter: DataFlash frontend/backend split 2015-06-26 16:02:50 +10:00
Randy Mackay 814edfa457 Copter: shift yaw target if ekf yaw estimate resets 2015-06-24 11:49:35 +09:00
Randy Mackay 89345bad7a Copter: clarify takeoff_timer_start alt units
No functional change
2015-06-22 13:24:01 +09:00
Randy Mackay 8cdfac8fcd Copter: remove baro and pilot thr from crash checks
Add acceleration < 3m/s/s check
Run crash and parachute checks at 400hz
2015-06-19 15:46:10 +09:00
Robert Lefebvre 62079226ff Copter: add Heli Dataflash message 2015-06-19 15:10:52 +09:00
Leonard Hall fe0d069eab Copter: Autotune log acceleration 2015-06-18 23:06:51 +09:00
Randy Mackay f603c1ef69 Copter: fix ekf-check reliance on position_ok 2015-06-15 22:29:20 +09:00
Randy Mackay a0d97f1160 Copter: acro_level_mix becomes local variable
Coverity uncovered this as an uninitialised member defect
2015-06-08 14:46:24 +09:00
Andrew Tridgell bfb105fa5a Copter: changes for new AHRS API 2015-06-01 16:16:59 +10:00
Andrew Tridgell e5e21ddcce Copter: fixed heli SITL build 2015-06-01 08:19:39 +10:00
Andrew Tridgell 278883c521 Copter: finished conversion to .cpp files
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2015-05-30 15:21:19 +09:00