Commit Graph

2658 Commits

Author SHA1 Message Date
Tom Pittenger b570c11e26 AP_Landing: allow separate handling for verify_land() vs verify_abort() 2017-01-26 13:11:43 -08:00
Tom Pittenger e709705ab8 Plane: describe flight stages without using specific stage name 2017-01-26 13:11:43 -08:00
Tom Pittenger 6c0296ba13 AP_Landing: shadow copy of plane flight_stage into landing
.. and describe stages without using specific stage name
2017-01-26 13:11:43 -08:00
Andrew Tridgell 07cedd8a66 Plane: prevent stability shutdown in transition
this prevents the vertical motors from shutting down while
transitioning if the desired throttle was too low at the start of the
transition
2017-01-25 19:01:15 +11:00
Andrew Tridgell 0d4405106f Plane: removed forcing of trim for motors in quadplane
this caused problems with tricopter tail servos
2017-01-25 19:01:15 +11:00
Andrew Tridgell 5c820adad4 Plane: fixed tilt transition with binary tilt servo
once the tilt is fully fwd then force transition as done at any
airspeed
2017-01-25 19:01:15 +11:00
Andrew Tridgell 586f8a9ca8 Plane: fixes for tilt quadplane after rebase 2017-01-25 19:01:15 +11:00
Andrew Tridgell 2feaa9926c Plane: prevent fwd motor when throttle in dead zone for tiltrotor
otherwise we end up with the SPIN_ARMED value
2017-01-25 19:01:15 +11:00
Andrew Tridgell 54bca768b8 Plane: added Q_TILT_TYPE for retract servo tiltrotors 2017-01-25 19:01:15 +11:00
Michael du Breuil f017073077 Plane: Report battery failsafes via sys_status 2017-01-25 09:26:19 +09:00
Randy Mackay fc4741395d Plane: notify initialised after parameters loaded 2017-01-23 15:07:21 -08:00
Randy Mackay fad2ba608f Plane: send flight mode string to Notify 2017-01-23 15:07:21 -08:00
Randy Mackay af514eb101 Copter: remove some comments 2017-01-23 15:07:20 -08:00
Dmitry Prokhorov 497a4bd4a5 ArduPlane: Support for OLED display by Alexey Kozin
https://github.com/ArduPilot/ardupilot/pull/5135
2017-01-23 15:07:20 -08:00
Randy Mackay e906310b71 Plane: rudder_arming moved to AP_Arming_Plane 2017-01-17 11:45:08 +09:00
Randy Mackay 7cc8b7232c Plane: rename arming_checks to AP_Arming 2017-01-17 11:45:08 +09:00
Peter Barker fc28beacea Plane: AP_Arming: use callback in place of variable reference for home state 2017-01-17 11:45:08 +09:00
Tom Pittenger b8784e2c4a Plane: do not crosstrack after a land abort 2017-01-12 15:21:34 -08:00
Andrew Tridgell 3338b4295e Plane: use reload_defaults_file() 2017-01-12 17:39:37 +11:00
Andrew Tridgell 2f100b0804 Plane: removed separate tricopter quadplane build
can all be done with one build now
2017-01-12 17:39:37 +11:00
Andrew Tridgell 68504dbcbb Plane: auto-upgrade old parameters for SRV_Channel split 2017-01-12 17:39:37 +11:00
Andrew Tridgell cb4ebdd7b4 Plane: fixed throttle_percentage()
thanks to Buzz for noticing!
2017-01-12 17:39:37 +11:00
Andrew Tridgell 6b4e5304cf Plane: fixed mixer outputs 2017-01-12 17:39:37 +11:00
Andrew Tridgell 1879eddfa0 Plane: adjust for limit_slew_rate API change 2017-01-12 17:39:37 +11:00
Andrew Tridgell 081909bf6a Plane: removed use of pwm_to_angle() 2017-01-12 17:39:37 +11:00
Andrew Tridgell b83f50be0f Plane: use new SRV_Channels API 2017-01-12 17:39:37 +11:00
Tom Pittenger 9a250c3bf4 Plane: clarify some variable names and protect against divide-by-zero 2017-01-06 17:35:44 -08:00
Eugene Shamaev ac2880db7c Plane: waypoint logic change for overflow/underflow 2017-01-06 17:35:44 -08:00
Peter Barker af9729c126 Plane: correct compilation when parachute disabled 2017-01-02 20:39:03 -08:00
Peter Barker d40187fac7 Plane: correct compilation when geofence disabled 2017-01-03 00:37:28 +00:00
Peter Barker 4865bec871 Plane: correct compilation when logging disabled 2017-01-02 16:01:29 +09:00
Tom Pittenger 063f517424 Plane, TECS, AP_Landing: rename stage LAND_ABORT to ABORT_LAND
this will reduce confusion when searching for FLIGHT_LAND_* and you get a bunch of takeoff related hits. It will also make more sense when the landing library fully manages the FLIGHT_LAND stage entirely because it will not mange FLIGHT_LAND_ABORT
2016-12-30 23:50:03 -08:00
Tom Pittenger 04f32b6ec6 Plane: simplify flight stage landing check to use landing.in_progress 2016-12-30 23:50:03 -08:00
Tom Pittenger 84e11fd899 Plane, AP_TECS: do not pass auto_land flag to TECS, it already knows it 2016-12-30 23:50:03 -08:00
Tom Pittenger c286ceba43 Plane: move enum FlightStages to AP_Vehicle::FixedWing 2016-12-30 23:50:03 -08:00
Tom Pittenger 90b2458a27 Plane: remove redundant flightstage update 2016-12-30 23:44:20 -08:00
Andrew Tridgell 1c4bf77cf6 Plane: added custom conversion of Q_FRAME_CLASS parameter 2016-12-31 10:56:01 +09:00
Randy Mackay 934ef55338 Plane: quadplane instantiates motor matrix outside of case
Thanks to khancyr for noticing this
2016-12-31 10:55:23 +09:00
Randy Mackay c6dec5c3f6 Plane: quad plane uses consolidated multicopter classes 2016-12-31 10:55:23 +09:00
Andrew Tridgell 4cf509a693 Plane: fixed EKF3 logging 2016-12-19 08:07:14 +11:00
priseborough 38ad778ff1 make.inc: Add EKF3 and remove EKF1 library from make.inc files 2016-12-19 08:07:10 +11:00
priseborough 38a0e8a6ae ArduPlane: Add EKF3 and remove EKF1 2016-12-19 08:07:09 +11:00
Tom Pittenger b7b56b94a3 Plane: convert landing.complete to landing.is_complete() 2016-12-14 04:32:30 -08:00
Tom Pittenger 4b683edac9 Plane: simplified logic where landing complete overrides the calc value 2016-12-14 04:32:30 -08:00
Tom Pittenger 83f0a8114b Plane: use a common reset for uniform landing wipe 2016-12-14 04:32:30 -08:00
Tom Pittenger 8c1509ad47 Plane: abstract land abort request method 2016-12-14 04:32:30 -08:00
Andrew Tridgell 3dcf4cfb55 Plane: removed resetting integrators on mode change
this removes the zero of roll, pitch and yaw integrator on mode
change, now only doing the steering integrator.

The zeroing was from the early days when our controllers were not as
good. It should not be needed any more.
2016-12-14 20:22:56 +11:00
Randy Mackay c3b6fd4315 Plane: fix suppressing comment for case fall through
No functional change
eclipse stops complaining if no-break is used in place of fall-through
2016-12-14 13:22:15 +09:00
Randy Mackay 4efbc29490 Plane: pass HIL_GPS to gps driver 2016-12-08 15:52:26 +09:00
Tom Pittenger a3ccca17ff Plane: use fabsf instead of fabs 2016-12-06 17:38:47 -08:00
Tom Pittenger b299b9c0bb Plane: abstract out init_start_nav_cnd work to landing lib
This reverts commit 1380a35f70.
2016-12-06 03:45:14 -08:00
Peter Barker 669dc01b67 Plane: correct on_flight_line landing stage check 2016-12-06 03:24:41 -08:00
Andrew Tridgell 1380a35f70 Revert "Plane: abstract out init_start_nav_cnd work to landing lib"
This reverts commit e2288d5262.

doesn't build
2016-12-06 17:32:02 +11:00
Tom Pittenger e2288d5262 Plane: abstract out init_start_nav_cnd work to landing lib 2016-12-05 18:44:02 -08:00
Andrew Tridgell 1e691cdefc Plane: fixed build 2016-12-05 16:51:49 -08:00
Pierre Kancir da1f784e78 Plane : quadplane change to float to avoid the loss of a fractional part 2016-12-05 12:39:31 -08:00
Michael du Breuil da400dc643 Plane: Add compass cal capability bit 2016-12-04 19:17:01 -08:00
Tom Pittenger 9dd46aa03a Plane: post msg if aborting via throttle
fixes https://github.com/ArduPilot/ardupilot/issues/4906
2016-12-02 17:40:01 -08:00
Tom Pittenger 696828c144 Plane: increase landing airspeed scaled to headwind 2016-12-02 15:35:28 -08:00
Randy Mackay d95baf51c9 Plane: include AP_Beacon 2016-11-30 17:57:01 +09:00
Randy Mackay d9462d5dbc Plane: remove call to EKF1 logging 2016-11-30 17:57:00 +09:00
Randy Mackay 3587961be6 Plane: add AP_Beacon to build 2016-11-30 17:56:59 +09:00
Peter Barker f712dd5d7e Plane: add arming check for logging actually started 2016-11-29 15:14:09 -08:00
Peter Barker 784da9d1eb Plane: check CardInserted in AP_Arming 2016-11-29 15:14:09 -08:00
Peter Barker 98b5ab4656 Plane: remove incorrect comment about logging/in_mavlink-delay 2016-11-29 15:14:09 -08:00
Peter Barker d11578f203 Plane: do not reset LOG_BITMASK when no CardInserted
This really just confuses everyone
2016-11-29 15:14:09 -08:00
Peter Barker 17f5ef4610 Plane: inform dataflash of vehicle arm state 2016-11-28 09:42:09 -08:00
Tom Pittenger dc85ffa834 Plane: move jump_to_landing_sequence() to AP_Mission 2016-11-25 19:07:30 -08:00
Tom Pittenger ac1dced3bf Plane: set landing params as private and use accessors 2016-11-25 19:07:30 -08:00
Tom Pittenger 6544afbcba Plane: Migrate the rest of "LAND_" params from Plane to AP_Landing 2016-11-25 19:07:30 -08:00
Tom Pittenger 8a5a62cfdc Plane: migrate aparm "LAND_" params from plane to AP_Landing 2016-11-25 19:07:30 -08:00
Tom Pittenger 9f184a1490 Plane: migrate aparm "LAND_" params from plane to AP_Landing 2016-11-25 19:07:30 -08:00
Tom Pittenger bfbfc3ea3d Plane: migrate aparm "LAND_" params from plane to AP_Landing 2016-11-25 19:07:30 -08:00
Tom Pittenger fa991297db Plane: create new "LAND_" param block for AP_Landing 2016-11-25 19:07:30 -08:00
Tom Pittenger e919afad1e Plane: update comment and remove redundant work
- update_flight_stage is already called within restart_landing_sequence()
2016-11-25 19:07:30 -08:00
Tom Pittenger 1b0a263761 Plane: remove landing.cpp entirely 2016-11-25 19:07:30 -08:00
Tom Pittenger fc2f518f31 Plane: revert auto_state.checked_for_autoland back to Plane 2016-11-25 19:07:30 -08:00
Tom Pittenger db42252168 Plane: port the rest of plane/landing.cpp to AP_Landing 2016-11-25 19:07:30 -08:00
Tom Pittenger 9a79b79f1e AP_Landing: port more from plane 2016-11-25 19:07:30 -08:00
Tom Pittenger 10027b21d6 Plane/AP_Landing: port setup_landing_glide_slope() 2016-11-25 19:07:30 -08:00
Tom Pittenger f556f705e6 Plane: move various g params to aparms 2016-11-25 19:07:30 -08:00
Tom Pittenger 5dbb2d4c2a Plane: move two functions out of landing.cpp
- these two functions will be hard to port to AP_Landing due to complex dependancies so we'll defer them by moving them ArduPlane.cpp
2016-11-25 19:07:30 -08:00
Tom Pittenger d2376b7c8b Plane: migrate two helper functions to AP_Landing
- move functions restart_landing_sequence() and jump_to_landing_sequence() to AP_Landing
- NOTE: jump_to function can not set mode, so it is now done externally in vehicle
2016-11-25 19:07:30 -08:00
Tom Pittenger 896b931a7c Plane: Move auto_state variables to AP_landing members 2016-11-25 19:07:30 -08:00
Tom Pittenger 61b02cb41d AP_Landing: add new library for fixed wing landing abstraction 2016-11-25 19:07:30 -08:00
Tom Pittenger ce8db1fdba Plane: move struct Rangefinder_State to AP_Vehicle 2016-11-25 19:07:30 -08:00
Tom Pittenger 0ffeed644c Plane: remove define RANGEFINDER_ENABLED - always enabled 2016-11-25 19:07:30 -08:00
murata 0ee8edc29d Plane: Change from printf statement to print, println statement. 2016-11-25 15:57:15 -08:00
Francisco Ferreira 4c8d151190 Plane: support MAV_CMD_ACCELCAL_VEHICLE_POS 2016-11-15 11:42:54 -08:00
Michael du Breuil 4dae7a6f3d Plane: Simplify parameters
Remove a lot of cases where @Values and @Bitmask were encoding the same
information. @Value should only be used with @Bitmask when it is being
used to present a series of reasonable defaults that is some hybrid of
the @Bitmask fields. Enumerating each bit as 1, 2, 4, 8 is of no value.
2016-11-13 11:53:19 -08:00
Andrew Tridgell 5ed8418305 Plane: move radio init after boardconfig init
to ensure px4io is setup first
2016-11-13 14:55:35 +11:00
Tom Pittenger d12a55f33c Plane: fixed spelling
fixed spellling in gcs msg
2016-11-11 01:17:59 -08:00
Andrew Tridgell cb57945e9e Plane: use handle_common_message() 2016-11-09 17:08:09 +11:00
floaledm 6dc71beb1e Plane: move AP_Frsky_Telem for waf to ardupilotwaf 2016-11-08 07:42:39 +11:00
floaledm b2a6b93d30 Plane: send ahrs groundspeed estimate instead of GPS groundspeed in VFR_HUD message 2016-11-07 09:14:28 +11:00
floaledm bae9ce20c1 Plane: update sensor status error flags independently of sending a sys_status message 2016-11-02 08:36:58 +11:00
murata ab99ea54eb Plane: To nullptr from NULL. 2016-10-29 10:32:05 -03:00
Peter Barker 98ae6c776a Plane: support for AP_Stats (flight time, bootcount, runtime) 2016-10-29 14:53:25 +09:00
Peter Barker 33b7750c7d Plane: remove duplicate parameter metadata 2016-10-27 09:15:03 -07:00
Andrew Tridgell b65c559558 Plane: updates for EKF API changes 2016-10-27 17:09:06 +11:00
priseborough 72db2ebd81 Plane: Add compensation for optical flow sensor body position offset 2016-10-27 14:54:42 +11:00
expntly 0d1e50b50b Plane: fix typo, check wp_nav is initialized 2016-10-27 14:39:50 +11:00
Michael du Breuil fd24e944b8 Plane: Allow compass calibrator to manage size of buffer 2016-10-27 14:04:33 +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
Andrew Tridgell 5ac62c27e2 Plane: reduce change of false rangefinder readings triggering a flare
This doesn't count repeated readings towards the rangefinder count,
and resets the counter if the change is more than 20% of full
range. This greatly reduces the impact of poor sonar sensors for
landing
2016-10-23 15:53:12 +11:00
Andrew Tridgell 32a74e37d2 Plane: update version to 3.8.0beta1 2016-10-21 13:16:36 +11:00
Andrew Tridgell 8dd122e6df Plane: updated release notes for 3.7.1 2016-10-21 13:15:51 +11:00
Ricardo de Almeida Gonzaga 3d1db89655 ArduPlane: Fix typos 2016-10-20 08:14:37 -07:00
Andrew Tridgell 15d6c77087 Plane: fixed vtail rudder only planes 2016-10-20 17:49:05 +11:00
Tom Pittenger 350ed20460 Plane: ensure rangefinder last_time resets
ensure rangefinder_state.last_correction_time_ms resets to zero via memset(&rangefinder_state, 0..)
2016-10-17 14:34:00 -07:00
William Liu 8a64106faa Plane: return false when throttle is not suppressed 2016-10-17 09:50:25 +11:00
Ferrin Benjamin Katz 38581669ec Plane: slow down home update
Moved the code theat updates the home position while the aircraft is
unarmed from 10hz loop to one second loop and ensured that is does not
update more then once every 5 seconds. Closes issue 4311.
2016-10-17 09:50:25 +11:00
Andrew Tridgell c3aaff122b Plane: fixed startup order of setting mavlink system ID 2016-10-17 09:20:55 +11:00
Andrew Tridgell 5724aef8b3 Plane: support automatic servo trimming
now that we have separated RC input from servo output with
SERVO_RNG_ENABLE=1 we can do full automatic servo trimming as an
option
2016-10-16 15:20:47 +11:00
Andrew Tridgell 70375720f3 Plane: fixed throttle slew handling with SERVO_RNG_ENABLE=1 2016-10-15 21:42:39 +11:00
Andrew Tridgell 29f4fe2398 Plane: fixed accel based launch with timer enabled
when both timer and accel set should meet both conditions
2016-10-15 21:42:38 +11:00
Andrew Tridgell 6878a9a270 Plane: use handle_rc_bind 2016-10-15 21:42:38 +11:00
Andrew Tridgell 3a8e38ee12 Plane: added SYSID_ENFORCE parameter
this allows safer sharing of telemetry links between aircraft
2016-10-15 17:12:13 +11:00
Andrew Tridgell be1109174e Plane: apply elevon and vtail mixers after SRV_Channel remap
this is needed to ensure that changes in RCn_MIN/MAX don't cause
changes in the output handling for elevon nd vtail planes
2016-10-15 16:59:36 +11:00
Andrew Tridgell a369b4833a Plane: fixed throttle channel during startup failsafe 2016-10-15 16:59:36 +11:00
Andrew Tridgell d49f50db4b Plane: don't output aux channels on termination 2016-10-15 16:59:36 +11:00
Andrew Tridgell 856b4f4d14 Plane: disable AUX passthrough during termination 2016-10-15 16:59:36 +11:00
Andrew Tridgell 57ddc8f58f Plane: use SRV_Channels set_esc_scaling()
this fixes throttle range on Disco with SERVO_RNG_ENABLE=1
2016-10-15 16:59:36 +11:00
Andrew Tridgell fcd98e2c44 Plane: implement AUTO_TRIM for SERVO_RNG_ENABLE=1
automatically adjust servo trims
2016-10-15 16:59:35 +11:00
Andrew Tridgell a23c373f16 Plane: fixed servo mixing for AFS and failsafe case 2016-10-15 16:59:35 +11:00
Andrew Tridgell 8170df7ba8 Plane: added servo remapping object 2016-10-15 16:59:35 +11:00
Andrew Tridgell c7f738c284 Plane: separate out the output channel mixing
this provides a framework for other output mixing types
2016-10-15 16:59:35 +11:00
Andrew Tridgell eb67c97bb2 Plane: split out flap output functions 2016-10-15 16:59:34 +11:00
Andrew Tridgell a2cdd75870 Plane: removed THROTTLE_OUT define
this can be achieved with THR_MAX parameter instead
2016-10-15 16:59:34 +11:00
Andrew Tridgell 40c6ebf61a Plane: refactor more of servos output code to be easier to read 2016-10-15 16:59:34 +11:00
Andrew Tridgell 6aa3ded666 Plane: split main servo output functions into a separate file 2016-10-15 16:59:34 +11:00
Andrew Tridgell b5a2bf2c6f Plane: only revert a tuning parameter if it has been set
fixes a 2nd transmitter tuning bug found by expntly
2016-10-14 08:34:54 +11:00
Randy Mackay f0f4322500 Plane: add AP_Proximity to build
Required because quadplane uses copter's navigation libraries which interact with AC_Avoidance which now supports AP_Proximity
2016-10-13 20:21:07 +09:00
Randy Mackay 574976a3b7 Plane: include AP_Proximity in quadplane 2016-10-13 20:21:07 +09:00
Andrew Tridgell 70265f9100 Plane: fixed bug in transmitter tuning
This bug affects transmitter tuning of parameters that have never been
saved to eeprom and don't have a default value in the AP_Param
tables. When reverting these parameters became zero which could lead
to a crash

many thanks to expntly for finding this bug!
2016-10-13 22:08:13 +11:00
Andrew Tridgell a2aa89dc1e Plane: deprecate RC_CHANNELS_RAW 2016-10-13 21:23:56 +11:00
Andrew Tridgell 0445b51143 Plane: fixed throttle slew rate in manual for quadplanes 2016-10-12 09:55:37 +11:00
Michael du Breuil 05d0696b0d Plane: Support GPS_RTCM_DATA 2016-10-11 11:00:36 +11:00
Andrew Tridgell 2b144d5c3d Plane: allow rudder arming in CRUISE and FBWB modes 2016-10-08 08:01:55 +11:00
murata b3eecb87ac Plane: To define the same wording. 2016-10-06 10:03:23 -07:00
Andrew Tridgell cb61840ad2 Plane: tell TECS to use synthetic airspeed during transition 2016-10-05 11:52:52 +11:00
murata 2f18d1de73 Plane: To add a judgment of 0 degrees longitude. 2016-10-04 08:15:23 -07:00
Andrew Tridgell 4e017bf5b3 Plane: fixed loiter mode when Q_GUIDED_MODE=1
This fixes the fixed wing behaviour of LOITER mode whne
Q_GUIDED_MODE=1.

Many thanks to the PertUAV team for finding and reporting this bug
2016-10-01 08:37:17 +10:00
Lucas De Marchi 0f000efc6f ArduPlane: Fix use of logical op instead of bitwise op
../../ArduCopter/GCS_Mavlink.cpp: In member function 'void Copter::send_extended_status1(mavlink_channel_t)':
../../ArduCopter/GCS_Mavlink.cpp:281:37: error: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Werror=parentheses]
     uint32_t sensors_error_flags = !control_sensors_health & control_sensors_enabled & control_sensors_present;
                                     ^
compilation terminated due to -Wfatal-errors.
cc1plus: all warnings being treated as errors

Thanks to Ralph Campbell <ralphcampbell1@gmail.com> for the bug report.
2016-09-29 11:36:23 -03:00
Andrew Tridgell 841828541d Plane: fixed auto ICE engine cut in QLAND final 2016-09-29 05:18:55 +10:00
Pierre Kancir 64a2fca812 Arduplane: simply invalid cmd msg 2016-09-27 07:45:48 -07:00
Pierre Kancir 04ee4141e0 ArduPlane: uniformize verify_command
Add all handle message,
Change MAV_CMD_NAV_ROI to MAV_CMD_DO_SET_ROI
Reformate comments,
2016-09-27 07:45:48 -07:00
Andrew Tridgell 6d09897b19 Plane: fixed VTOL motor termination in AFS 2016-09-27 11:53:45 +10:00
Peter Barker 31321b3b60 Plane: log to dataflash statustext messages from my_gcs 2016-09-26 00:06:07 -07:00
Tom Pittenger 94f83c3e78 Plane: frsky telem init to utilize default arguments 2016-09-25 10:42:02 -07:00