Commit Graph

3842 Commits

Author SHA1 Message Date
Andrew Tridgell 29be2f0b60 Copter: send LOCAL_POSITION_NED
very useful for GPS-disabled operation and EKF debugging
2015-04-05 09:16:41 -07:00
Randy Mackay 24f24a7db7 Copter: integrate Serial Manager instance 2015-04-01 14:59:25 -07:00
Randy Mackay e1900f646f Copter: remove PREARM_MAX_VELOCITY definition 2015-03-30 18:08:34 -07:00
Jonathan Challinger ffc445098b Copter: remove velocity pre-arm check 2015-03-30 16:44:50 -07:00
Leonard Hall cfe12f38a5 Copter: Adjust Autotune backoff of accel 2015-03-27 06:24:53 -07:00
Randy Mackay 765b8ded02 Copter: ekf check triggers if position bad 2015-03-27 00:04:41 -07:00
Randy Mackay 74b98b89d0 Copter: remove dcm check 2015-03-27 00:04:37 -07:00
Leonard Hall 35d1cbd053 Copter: Autotune fix P test 2015-03-23 07:40:00 -07:00
Leonard Hall cedd423c30 Copter: Autotune Yaw limits update 2015-03-23 07:39:58 -07:00
Leonard Hall 7cd78f63bf Copter: Stop autotune repeatedly saving gains 2015-03-23 07:39:55 -07:00
Andrew Tridgell a4be1fede8 Copter: run all boards at 400Hz
SITL and Linux can now run at 400Hz
2015-03-22 18:57:43 -07:00
Randy Mackay b4df5b35f0 Copter: fix compiler error when mount disabled 2015-03-21 21:52:27 +09:00
Randy Mackay a3933f7a1f Copter: handle do_mount_control mission commands 2015-03-21 21:52:24 +09:00
Randy Mackay 9a5ff97c61 Copter: send invalid batt curr if monitor unhealthy 2015-03-20 11:05:33 +09:00
Randy Mackay c41ecca8d5 Copter: re-order position_ok function
no functional change
2015-03-19 15:15:49 +09: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 d9b65cec22 Copter: fix compiler error re ch9, ch12 on some boards
channel 9 and 12 are not exist on some builds.
2015-03-17 22:16:48 +09:00
Randy Mackay 3be0a47c02 Copter: minor formatting fix 2015-03-17 21:18:51 +09:00
Randy Mackay 20311c3ba2 Copter: remove CH7_OPTION definition
We can replace the unused definitions and just set the aux switch
defaults to do-nothing directly in the parameter table
2015-03-17 21:18:50 +09:00
Randy Mackay e6c3f4f97b Copter: move aux switch enum to defines.h 2015-03-17 21:18:49 +09:00
Robert Lefebvre fd0cb0beed Copter: Create check_duplicate_auxsw() method to streamline pre-arm check code 2015-03-17 21:18:48 +09:00
Robert Lefebvre 1afeb05398 Copter: Create check_if_auxsw_mode_used() to check for function usage 2015-03-17 21:18:47 +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 b10730f35c Copter: remove THR_MAX parameter 2015-03-16 14:49:34 +09:00
Randy Mackay 2a47337dc1 Copter: fix multiple flight-mode fail log messages
When the vehicle failed to enter a flight mode it was logging the
failure repeatedly in the dataflash
2015-03-13 22:15:27 +09:00
Víctor Mayoral Vilches 79e152cd93 Copter: Update compass to the new interface 2015-03-13 18:46:16 +11:00
Randy Mackay 9c6531ebeb Copter: simplify APM_Config after removing APM1,2 support 2015-03-13 16:41:05 +09:00
Randy Mackay 088a49abbf Copter: remove APM1, APM2 support 2015-03-13 16:41:03 +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 6f6847c025 Copter: use only InertialNav_EKF
remove calls to unsupported functions including ignore_next_error,
set_altitude, etc.
2015-03-13 16:40:37 +09:00
Randy Mackay d7f624be39 Copter: remove baro_glitch protection 2015-03-13 16:40:27 +09:00
Randy Mackay 0476558049 Copter: remove USE_EKF from ch7/ch8 switch 2015-03-13 16:40:20 +09:00
Andrew Tridgell d9342ed854 Copter: allow motor test using raw pwm without RC cal 2015-03-12 17:49:39 +11:00
Randy Mackay 553261d4ce Copter: send EKF_STATUS_REPORT in extra3 stream 2015-03-12 12:20:03 +09:00
Randy Mackay 0447f6216a Copter: get_pilot_desired_lean_angles uses angle_max of at least 10deg
Removes the unlikely event of a divide by zero if ANGLE_MAX is set to
zero and sticks were in middle
2015-03-11 22:24:44 +09:00
Jonathan Challinger ecefe78417 Copter: interpret input in stabilize as a tilt vector 2015-03-11 22:24:42 +09:00
Randy Mackay 721d551239 Copter: extend AUTOTUNE_AXIS param description 2015-03-11 17:28:47 +09:00
Randy Mackay b475a2fe10 Copter: AutoTune formatting fixes
no functional change
2015-03-11 17:28:46 +09:00
Leonard Hall c537c38646 Copter: add update_throttle_low_comp
sets the priority of throttle vs attiude control so that attitude is
favoured (i.e. high throttle-low-comp) during dynamic flight while
throttle is favoured when vehicle may be landing.
2015-03-10 12:20:24 +09:00
Leonard Hall 36c91970f1 Copter: Autotune algorithm update 2015-03-09 18:02:55 +09:00
Leonard Hall 9bfb0e1f40 Copter: Autotune comment changes and formatting 2015-03-09 18:02:52 +09:00
Leonard Hall 1c57c6a266 Copter: Autotune update yaw filt and rate P max 2015-03-09 18:02:50 +09:00
Randy Mackay 72d1113501 Copter: set accel and gyro disabled during calibration 2015-03-09 17:58:38 +11:00
Randy Mackay 3e45052a75 Copter: reply with failed if gyro or accel cal fails 2015-03-09 17:58:38 +11:00
Randy Mackay 10724f5738 Copter: reject preflight calibration when armed 2015-03-09 17:58:38 +11:00
Andrew Tridgell 3f906f6bd1 Copter: added CLI_ENABLED option 2015-03-09 17:58:37 +11:00
Andrew Tridgell 47e9409d00 Copter: set gyros disabled when calibrating 2015-03-09 17:58:36 +11:00
Andrew Tridgell 9b9aa3dc33 Copter: use new interactive accelcal 2015-03-07 21:56:40 +11:00
Randy Mackay 033bcd849b Copter: add 0.6 to EKF and DCM CHECK_THRESH param description 2015-03-06 17:58:37 +09:00
Randy Mackay e0acd250d1 Copter: set Notify firmware_update flag before reboot 2015-03-06 17:26:53 +09:00
Randy Mackay 61ed812fc4 Copter: set Notify's autopilot_mode flag 2015-03-06 17:26:49 +09:00
Leonard Hall 778edfda72 Copter: default yaw rate filter to 5hz 2015-03-06 16:08:32 +09:00
Leonard Hall d5bbe6de03 Copter: remove TRIM_THROTTLE
throttle_trim is replaced by throttle_average which is initialised to
the throttle_mid parameter value at startup
2015-03-06 14:02:19 +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 2b0fb45fe8 Copter: integrate PID input filter 2015-03-06 14:02:11 +09:00
Leonard Hall d233ca3133 Copter: add Time and rate_target to AutoTune logging 2015-03-06 14:02:09 +09:00
Leonard Hall 8ba195a3a2 Copter: add Mot and Rate dataflash logging 2015-03-06 14:02:07 +09:00
Leonard Hall 1ebf2c40f5 Copter: Autotune rewrite
Includes the following:
Increase Autotune Limits
Low Rate_P_Max prevents correct Rate_D prediction.
make adjustment proportional
increase the maximum value of Rate_P
adjustment for zero overshoot
Speed up autotune
Reduce D bounce back requirement
adapt matthewlloyd's switching
Includes many enhancements to the basic code but doesn't bring in his
speed up ideas
Reduce Stab P down
Add Calibration
Repeat side to increase speed
Update Autotune PI ratios
fixup comments
autotune incorporate aggressiveness parameter
sets max accel for roll, pitch, yaw
Update accel calc and set Yaw D to zero
Calculate Accel correctly on SP Limit
Send saved gains msg to GCS
updates PID filter
increase accel backoff
save max accel if rate feedfwd enabled
keep stabilizing
2015-03-06 14:02:04 +09:00
Leonard Hall a9a6e8856b Copter: add AUTOTUNE_AGGR parameter 2015-03-06 14:02:02 +09:00
Leonard Hall 864168e5ea Copter: add AUTOTUNE_AXES bitmask parameter
This is used to allow tuning just some axis
2015-03-06 14:02:01 +09:00
Randy Mackay c711179ffe Copter: set_mid_throttle renamed to set_hover_throttle 2015-03-03 15:48:56 +09:00
Randy Mackay bae424fa88 Copter: pass in loop_rate to motors constructor 2015-03-03 15:48:37 +09:00
Leonard Hall 8eedb2c040 Copter: sent battery voltage and current to motors 2015-03-03 15:48:26 +09:00
Leonard Hall 3e8563dd8b Copter: ch6 tuning definition for yaw min headroom 2015-03-03 15:48:17 +09:00
Randy Mackay c5b3bc5698 Copter: handle LED_CONTROL and pass to Notify 2015-03-02 16:58:08 +09:00
Andrew Tridgell 7c975808f8 Copter: provide terrain height to rangefinder
used for power saving
2015-02-23 14:15:14 +11:00
Andrew Tridgell 74ef1b8d2f Copter: removed HomeState from defines.h
now in AP_Common.h
2015-02-21 10:14:32 +11:00
João Fortuna b99f38d39d Copter: Fixed MAVLINK stream trigger calculation. 2015-02-20 13:10:57 +09:00
Andrew Tridgell 307b9e807f Copter: reduced build warnings
removed some unused code, and mark some functions with UNUSED_FUNCTION
2015-02-18 11:13:48 +11:00
Andrew Tridgell 191d803968 Copter: make PERF info message into a STATUSTEXT message
this makes it appear properly in tlogs. Also show both min and max
loop times
2015-02-16 10:02:53 +11:00
Randy Mackay da4a36c4e0 Copter: fix nack result_unsupported when arming fails
We should return unsupported if param1 does not equal 0 or 1
2015-02-14 14:27:47 +09:00
Randy Mackay 7ae1436b97 Copter: nack result_failed when arming fails
Previously result_unsupported was returned which is a less accurate
description of the failure
2015-02-14 14:03:41 +09:00
Randy Mackay 77d8f88e45 Copter: fence, rtl, land use alt-above-home 2015-02-12 15:08:00 +09:00
Randy Mackay 4d566bf462 Copter: current_loc.alt is alt-above-home 2015-02-12 15:07:59 +09:00
Randy Mackay 7e11ec9a6f Copter: surf tracking, do-land use inav alt
Also CTUN logging of inav alt switched to get directly from inertial nav
lib instead of using current_loc.alt
2015-02-12 15:07:00 +09:00
Randy Mackay cb66bf8b98 Copter: functions to convert alt-above-home vs alt-above-origin 2015-02-12 15:01:05 +09:00
Randy Mackay 9bd3a7249a Copter: disable inertial nav 2015-02-12 15:01:03 +09:00
Randy Mackay fbe87afb9c Copter: pre-arm check of EKF origin vs home
EKF origin must be within 50km of home or numerical errors get too large
2015-02-12 15:01:00 +09:00
Randy Mackay e7579198c9 Copter: when arming set home to current loc only if not locked 2015-02-12 15:00:58 +09:00
Randy Mackay 9e156d2f81 Copter: always update current_loc regardless of inav state
If inertial nav is not initialised these will be set to zero anyway
2015-02-12 15:00:56 +09:00
Randy Mackay 7029b11414 Copter: support do_set_home command from GCS and mission 2015-02-12 15:00:54 +09:00
Randy Mackay d5fd6d2a99 Copter: use home_is_set function 2015-02-12 15:00:52 +09:00
Randy Mackay e081b9d1c7 Copter: home is set becomes three state 2015-02-12 15:00:50 +09:00
Randy Mackay a4fd36a775 Copter: fix compile error when fence disabled
Fix provided by iyia12co
2015-02-12 12:03:54 +09:00
Andrew Tridgell 81302fe190 Copter: implement MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES 2015-02-12 09:04:20 +11:00
Jonathan Challinger 0cc83b1826 Copter: use hal.util soft_armed state 2015-02-11 20:25:11 +11:00
Andrew Tridgell 4ade22c94b Copter: use common send_autopilot_version() 2015-02-11 19:50:51 +11:00
Jonathan Challinger 62c63e9b35 Copter: support AUTOPILOT_VERSION_REQUEST message 2015-02-11 19:11:53 +11:00
Jonathan Challinger c5d66cdfba Copter: add send_autopilot_version 2015-02-11 19:11:53 +11:00
Randy Mackay e7ac9d27f5 Copter: AC3.2.1 release notes
No changes from AC3.2.1-rc2
2015-02-11 14:08:57 +09:00
Randy Mackay 99ca779718 Copter: fix to allow arming in Guided from GCS 2015-02-10 22:12:38 +09:00
Randy Mackay 4ff75f0371 Copter: perf info ignores slow loop due to arming 2015-02-09 23:07:18 +09:00
Randy Mackay 8b5f1575ad Copter: remove pre-arm check of RC3_TRIM
RC3_TRIM parameter is not used so we can remove this check
2015-02-06 17:55:28 +09:00
Randy Mackay a70f98552e Copter: rename xy_mode 2015-02-06 17:00:58 +09:00
Jonathan Challinger e71ad72fc0 Copter: update usage of update_xy_controller 2015-02-06 17:00:51 +09:00
Robert Lefebvre 0b1f217420 Copter: Add PreArm check for radio trims. 2015-02-05 11:17:58 +09:00
Robert Lefebvre 2186dec271 Copter: Remove trim_radio() function. 2015-02-05 11:17:56 +09:00
Randy Mackay ecaf3280e5 Copter: update AC3.2.1-rc2 release notes 2015-02-03 15:58:33 +09:00
Jonathan Challinger 4311fa8952 Copter: 90-atan2(-x,y) is the same as atan2(y,x) 2015-02-03 14:48:02 +09:00
Jonathan Challinger f77b359e83 Copter: increase get_roi_yaw from 40hz to 100hz 2015-02-03 14:46:17 +09:00
Jonathan Challinger 2cb63dc792 Copter: don't assume home is at the origin 2015-02-03 11:38:25 +09:00
Jonathan Challinger 9c2865f6a8 Copter: update pv_location_to_vector to use get_origin instead of get_home 2015-02-03 11:38:23 +09:00
Jason Short 3b5228922e Copter: increased ESC auto-cal delay 2015-02-03 11:33:54 +09:00
Andrew Tridgell 51dc3c120d Copter: handle GIMBAL_REPORT receive and send
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2015-02-03 09:49:15 +11:00
Randy Mackay f00861d2f1 Copter: using arming_failed as event 2015-02-03 06:14:56 +09:00
Randy Mackay 9e813948fa Copter: protect against multiple arming messages
Protect against the GCS sending multiple arming messages close together
which disrupts the gyro calibration
2015-02-02 22:31:20 +09:00
Randy Mackay 32cb901ce3 Copter: allow arming at mid throttle in AltHold, Loiter 2015-02-02 22:31:18 +09:00
Randy Mackay e7f20c04c3 Copter: init_arm_motors calls pre-arm checks
This reduces a small amount of duplicated code in the pilot initiated
arming and GCS initiated arming functions
2015-02-02 22:31:14 +09:00
Randy Mackay f4c392c64d Copter: pre_arm_checks returns success or failure
This makes the pre-arm check function consist with the other arming
check functions
2015-02-02 22:31:11 +09:00
Randy Mackay 64af4ff923 Copter: rename set_servos_4 to motors_output 2015-02-02 22:31:08 +09:00
Randy Mackay 8754ce9eed Copter: move 80% thr limit to MotorsTri 2015-02-02 22:31:04 +09:00
Randy Mackay 43ba94e99a Copter: rename manual_flight_mode to mode_has_manual_throttle 2015-02-02 22:31:01 +09:00
Randy Mackay 3aac281c5a Copter: land detector requires desired climb rate be < -20cm/s 2015-01-31 17:23:43 +09:00
Randy Mackay 3e872c71fc Copter: AC3.2.1-rc2 release notes 2015-01-30 16:23:52 +09:00
Robert Lefebvre 8e8ec09740 Copter: update pos_control alt_max from fence at 1hz 2015-01-30 14:13:49 +09:00
Randy Mackay e0cfe091fb Copter: setup uart after checking usb_connected 2015-01-29 14:05:15 +11:00
Randy Mackay 8ea65c2dc2 Copter: APM_Config define to disable FRSKY telem 2015-01-29 14:05:14 +11:00
Randy Mackay f91fb9a4e8 Copter: rename frsky_telemetry_send function 2015-01-29 14:05:14 +11: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
Randy Mackay 7ffcf62e2e Copter: move MNT param's underscore to mount lib 2015-01-29 13:57:19 +11:00
Randy Mackay c51ba8cd03 Copter: integrate mount frontend-backend restructure
initialise mount on startup
use Mount::has_pan_control method
Remove calls to unimplemented mount.configure_cmd
Remove call to update_mount_type which will be handled from within mount
lib
2015-01-29 13:57:18 +11:00
Randy Mackay 31b2534c1d Copter: rename mount.set_roi_cmd to set_roi_target 2015-01-29 13:57:18 +11:00
Randy Mackay 18f8ffab6f Copter: remove land detector bar climb rate definition 2015-01-28 10:59:15 +09:00
Jonathan Challinger 9d585700f8 Copter: remove baro climb rate check from land detector 2015-01-28 10:57:00 +09:00
Matthias Badaire a2d71d2811 Copter: Frsky telemtry change move parameter to init of the class
Parameter needs to be passed and use at the init of the class frsky telem
2015-01-22 16:49:39 +11:00
Randy Mackay 1819bd48f4 Copter: remove home_is_set checks from Loiter, PosHold, RTL
This allows these flight modes to potentially operate even when the
vehicle has never had a GPS lock.
Potentially we should replace this with a check that the EKF's origin
has been set
2015-01-22 14:40:19 +09:00
Randy Mackay d49489ca7e Copter: optflow_position_ok requires using EKF 2015-01-22 14:40:13 +09:00
Randy Mackay 01f1ce4cb3 Copter: position_ok false when EKF in const pos mode 2015-01-22 14:40:11 +09:00
Randy Mackay 74ac79ba10 Copter: Drift uses throttle_zero flag 2015-01-22 14:40:08 +09:00
Randy Mackay 02d0b05926 Copter: minor format fix 2015-01-22 14:40:05 +09:00
Randy Mackay 4185d17915 Copter: fix to RTL, PosHold and Loiter's use of filter status 2015-01-22 14:40:02 +09:00
Randy Mackay cc52bbbffb Copter: update current loc once home is set 2015-01-22 14:39:59 +09:00
Randy Mackay f1a6b06586 Copter: remove redundant filter status checks 2015-01-22 14:39:57 +09:00
Randy Mackay 3641d3d508 Copter: send inav velocities in global position message
Also absolute alt now calculated from home alt + current alt above home
instead of using GPS absolute alt
2015-01-22 14:39:54 +09:00
Randy Mackay e464909ddf Copter: position_ok true when EKF predicts it will be ok
This resolves the chicken and egg problem of the EKF filter status's
position flags not becoming true until after the vehicle has been armed
at least once.
2015-01-22 14:39:52 +09:00
Randy Mackay 58ac9de94b Copter: update home position when disarmed
This resolves the issue in which the vehicle's position jumped back to
it's home location when disarmed and using the EKF.  This also makes
copter consistent with plane.
2015-01-22 14:39:50 +09:00
Randy Mackay fd0b82f669 Copter: add optflow_position_ok and use for loiter
This allows entering Loiter flight mode with only optical flow based
position
2015-01-22 14:39:47 +09:00
Randy Mackay 199dc3454d Copter: replace GPS_ok with position_ok
position_ok uses the EKF's filter status if the EKF is being used
otherwise it falls back to the GPS based checks used by inertial nav
2015-01-22 14:39:45 +09:00
Randy Mackay a4f71e5946 Copter: replace inav's position_ok with get_filter_status 2015-01-22 14:39:42 +09:00
Randy Mackay e94693e8ac Copter: remove unused throttle integrator 2015-01-21 14:38:06 +09:00
Robert Lefebvre b8822a42b6 Copter: Change Compass logging to new DataFlash method that handles instances. 2015-01-21 14:37:52 +09:00
Robert Lefebvre 37304fd5ed Copter: Minor formatting changes in Log.pde 2015-01-21 14:37:23 +09: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