Commit Graph

2635 Commits

Author SHA1 Message Date
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
floaledm 4f6a8a017c Plane: consolidate into a single frsky.init() 2016-09-25 10:42:02 -07:00
floaledm 68df5b7606 Plane: change sensor health check to prevent false positive 2016-09-22 13:56:59 -05:00
Tom Pittenger b8d53e1c58 Plane: change how is_flying bool is assignment in fysky lib
Florent had this correct on his PR but I incorrectly advised him to change it. This commit changes it back to his original method which was correct.
2016-09-21 15:38:58 -07:00
floaledm 0b666d4933 Plane: Plane support for Frsky passthrough protocol 2016-09-21 12:12:37 -07:00
Andrew Tridgell dac7f45326 Plane: fixed use of multicopter mix_max
we need a settable mix_max for some vehicles
2016-09-21 12:23:19 +10:00
Andrew Tridgell 08dc5fab12 Plane: fixed pilot throttle based motor test 2016-09-15 18:09:35 +10:00
Andrew Tridgell d6890495aa Plane: added swapped channel version of elevon/vtail/flaperon output
this makes it possible to setup an elevon plane without changing the
transmitter reversals
2016-09-14 11:48:05 +10:00
Andrew Tridgell 9b83781b4f Plane: fixed mixer arming error with FMUv4
thanks to Tim Gold for reporting this
2016-09-11 08:25:40 +10:00
Andrew Tridgell 2e240699e6 Plane: final release notes for 3.7.0 2016-09-09 10:13:38 +10:00
Tom Pittenger e13d5fa0bf ArduPlane: updated Mixer error message 2016-09-06 00:25:15 -07:00
Michael du Breuil f0247a7be1 Plane: always check that the mixer has been configured as arming check 2016-09-06 00:03:13 -07:00
Michael du Breuil d0da7411b2 Plane: Fetch mixer status for assessing mixer success 2016-09-06 08:42:16 +10:00
Andrew Tridgell d50bf93ac9 Plane: update 3.7.0 release notes 2016-09-06 07:11:13 +10:00
Michael du Breuil 2843e266b5 Plane: Return RESULT_FAILED for GET_CMD_HOME if home is unset 2016-09-03 16:54:14 +09:00
Andrew Tridgell d149a2e613 Plane: updated release notes for 3.7.0 2016-09-02 16:52:24 +10:00
Andrew Tridgell 6849f2223d Plane: set initial alt target on takeoff completion
this prevents a sudden motor spike at the start of the transition
2016-09-02 11:12:19 +10:00
Randy Mackay 3052e8f80b Plane: quadplane calls attitude control parameter check 2016-09-02 09:27:19 +09:00
Andrew Tridgell 47c030c4a8 Plane: prepare for 3.7.0beta1 release 2016-08-30 08:39:56 +10:00
Andrew Tridgell 3d0516fd57 Plane: added Q_ASSIST_ANGLE
this automatically provides quadplane assistance if the angular error
is over the given value for 1 second while flying faster than
Q_ASSIST_SPEED
2016-08-30 08:35:18 +10:00
Andrew Tridgell 33f17588b2 Plane: added auto fence enable on VTOL takeoff
fixes issue#724
2016-08-29 18:04:42 +10:00
Andrew Tridgell c81d8364ac Plane: check for safety switch state in quadplane motor output
get_soft_armed() will be false if safety on
2016-08-29 17:55:35 +10:00
Randy Mackay d3f8b1b846 Plane: TELEM_DELAY parameter range to 30sec
No functional change
2016-08-29 15:29:18 +09:00
Andrew Tridgell a0fb426a34 Plane: fixes for Fraky_Telem API changes 2016-08-25 10:16:20 +10:00