Commit Graph

1742 Commits

Author SHA1 Message Date
Andrew Tridgell dd1059cecf Plane: added arm_motors() and disarm_motors() helper functions 2015-03-17 10:12:00 +11:00
Andrew Tridgell 86ef4a738c Plane: only pass through throttle in failsafe if armed 2015-03-16 16:45:49 +11:00
Andrew Tridgell e55350a5d6 Plane: added crash detection in autoland
if we are no longer flying then flare, which turns off the motor

This is based on work by Tom Pittenger
2015-03-16 10:59:53 +11:00
Andrew Tridgell fb8b96ba0d Plane: make is_flying() a bit more accurate in landing approach
prevent false negatives using the sink rate
2015-03-16 10:58:36 +11:00
Andrew Tridgell 1c1798fb11 Plane: support much smoother flare transitions
provide the height above the ground to TECS so it can make a smarter
pre-flare transition
2015-03-15 13:53:08 +11:00
Andrew Tridgell cac7714693 Plane: fixed parameter typo 2015-03-14 14:53:02 +11:00
Andrew Tridgell b0cdf8952b Plane: added HIL_MODE parameter
this allows for HIL with any firmware
2015-03-13 22:52:56 +11:00
Víctor Mayoral Vilches 4ae3bf5399 Plane: Update compass to the new interface 2015-03-13 18:46:17 +11:00
Michael Day b02098e19e Plane: Make radio trim optional at ground start. 2015-03-13 13:11:44 +11:00
Tom Pittenger 420e9e0d2e Plane: added INITIAL_MODE which is the mode we boot up into.
This is useful when flying without a RX or if you have a RX that
outputs zeros without a detected Txmtr
2015-03-13 13:04:23 +11:00
Andrew Tridgell a942ebbb70 Plane: removed unnecessary prototype 2015-03-13 11:21:47 +11:00
Andrew Tridgell dc9e2a54f3 Plane: fixed use of HAL soft_armed 2015-03-13 11:20:43 +11:00
Tom Pittenger 659904bf65 Plane: sped up is_flying filter since it is running at only 1Hz 2015-03-13 11:07:19 +11:00
Tom Pittenger 8f7bb61a54 Plane: changed arm check method to use new is_flying code 2015-03-13 11:07:05 +11:00
Tom Pittenger 58b0702793 Plane: isFlying redesign
The is_flying() function is too simplistic to be used as a generic
status. Added a sticky heuristic method that depends on the arm
state. More thought should go into the boolean result of isFlying but
this is at least safer than the original method.
2015-03-13 11:06:54 +11:00
Randy Mackay cb1b4ab486 Plane: send EKF_STATUS_REPORT in extra3 stream 2015-03-12 13:43:58 +09:00
Andrew Tridgell 5175f21225 Plane: removed 1D accel calibration 2015-03-12 12:50:29 +11:00
Andrew Tridgell 16cdf64d63 Plane: added CLI_ENABLED option
this disables using CLI by default, even if compiled in. This is
needed to make standard firmwares work well with companion computers
where the CLI may cause startup issues
2015-03-09 17:58:37 +11:00
Andrew Tridgell fa70c95c8e Plane: set gyros disabled when calibrating 2015-03-09 17:58:36 +11:00
Andrew Tridgell 8ef8a964f1 Plane: use new interactive accelcal 2015-03-07 21:56:40 +11:00
Andrew Tridgell 999710d0e1 Plane: fixed issue where auto is entered before GPS lock
thanks to Tom Pittenger for noticing this!
2015-02-25 22:54:52 +11:00
Andrew Tridgell 98b583bccc Plane: fixed bungee launch
we need to not do the general purpose throttle suppression if in auto
takeoff
2015-02-25 13:11:27 +11:00
Andrew Tridgell 5afe3fb958 Plane: mark 3.3.0beta1 2015-02-23 15:07:06 +11:00
Andrew Tridgell 422d0f05bd Plane: provide terrain height to rangefinder
used for power saving
2015-02-23 14:15:14 +11:00
Andrew Tridgell 64dfc68784 Plane: log mode on arming
this ensures the log is recorded with the right flight mode
2015-02-23 14:15:14 +11:00
Andrew Tridgell 6cf029f82a Plane: fixed to allow TKOFF_THR_DELAY up to 12.7 seconds
thanks to a report by jman841
2015-02-21 20:23:22 +11:00
Andrew Tridgell bee703ab2a Plane: removed incorrect conditional on parameter enum 2015-02-21 20:23:22 +11:00
Andrew Tridgell 76f8b9b07c Plane: support DO_SET_HOME MAVLink command 2015-02-21 10:14:18 +11:00
Joao Fortuna 6ac8629451 Plane: Fixed MAVLINK stream trigger calculation. 2015-02-20 13:12:59 +09:00
Andrew Tridgell d0d5524bce Plane: mark ELEVON_MIXING as deprecated 2015-02-19 15:55:30 +11:00
Andrew Tridgell 3f225b1a73 Plane: lower default FS_LONG_TIMEOUT value from 20 to 5 seconds
20 seconds is too long to be in CIRCLE mode
2015-02-16 10:03:17 +11:00
Andrew Tridgell e9f87a2626 Plane: implement MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES 2015-02-12 09:04:25 +11:00
Jonathan Challinger 4105edaa87 Plane: use hal.util soft_armed state 2015-02-11 20:57:27 +11:00
Andrew Tridgell d0075c0d23 Plane: support AUTOPILOT_VERSION command 2015-02-11 19:52:50 +11:00
Andrew Tridgell 03e110c834 Plane: update release notes 2015-02-10 09:53:30 +11:00
Andrew Tridgell e0db5616a2 Plane: fixed HIL mode in plane 2015-02-10 09:53:30 +11:00
Andrew Tridgell 3edc1ea4db Plane: tell arming if logging is available 2015-02-06 19:05:02 +11:00
Andrew Tridgell 8108ee796e Plane: update release-notes in master 2015-02-05 21:02:22 +11:00
Andrew Tridgell 4d6a7996f7 Plane: the next release will be 3.3.0
quite a few large changes pending
2015-02-05 20:55:00 +11:00
Andrew Tridgell 00758a3e91 Plane: improved landing parameter descriptions
fixes issue #1776
2015-02-03 17:19:45 +11:00
Andrew Tridgell 33225c2955 Plane: mark master as 3.2.2alpha1 2015-02-03 17:11:25 +11:00
Andrew Tridgell 28341a6c7a Plane: handle very steep landings more gracefully
prevent us trying to put the flare point too high or too far back if
the mission requires a steep landing
2015-02-03 16:44:28 +11:00
Andrew Tridgell 2ae412d513 Plane: only reset mission on disarm if not in AUTO mode
disarming while in a mission should leave the plane still flying the
mission, but with motor stopped. The user may do this during a landing
for example, but we want to keep gliding
2015-02-03 16:44:27 +11:00
Andrew Tridgell a172d898c5 Plane: force throttle to zero when disarmed
don't rely on the safety switch
2015-02-03 16:44:27 +11:00
Andrew Tridgell 2b0ccae776 Plane: fixed build warning 2015-02-03 09:49:15 +11:00
Randy Mackay ff2a31e3ae Plane: compile error fix when mount disabled 2015-01-29 14:05:15 +11:00
Randy Mackay 3a1465c9d1 Plane: integrate SerialManager
call SerialManager init_console on startup
use SerialManager's set_block_writes_all
2015-01-29 14:05:15 +11:00
Randy Mackay 37d1079d25 Plane: move MNT param's underscore to mount lib 2015-01-29 13:57:19 +11:00
Randy Mackay 681d28838f Plane: 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 is now handled by mount lib
2015-01-29 13:57:18 +11:00
Andrew Tridgell 5d8cec23db Plane: update version to 3.2.1beta1 2015-01-27 17:22:13 +11:00
Andrew Tridgell 3123504b38 Plane: start release notes for 3.2.1 2015-01-27 17:22:13 +11:00
Matthias Badaire ee00302b62 Plane: 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
Dario Lindo Andres 7f5243026d Plane: Cleanup code to remove 1280 ifdefs
Due to the imposibility to fit actual code on Legacies 1280 chips, some
cleanup is needed.
2015-01-22 16:12:26 +11:00
Robert Lefebvre 395c868727 Plane: Change Compass logging to new DataFlash method that handles instances. 2015-01-21 14:37:54 +09:00
Robert Lefebvre 7efb4eef65 Plane: Change Compass logging to use DataFlash library method. 2015-01-21 14:37:38 +09:00
Robert Lefebvre a2d73b42b9 Plane: Change Mode logging to use DataFlash library method. 2015-01-21 14:37:36 +09:00
Robert Lefebvre ac513a84db Plane: Change Attitude logging to use DataFlash library method. 2015-01-21 14:37:34 +09:00
Robert Lefebvre 233083c8e9 Plane: Change current logging to use DataFlash library method. 2015-01-21 14:37:31 +09:00
Robert Lefebvre 747232b197 Plane: Deprecate some Log Message enumerations which are moving to the DataFlash library. 2015-01-21 14:37:29 +09:00
Andrew Tridgell 674a7aa8d4 Plane: use set_skip_gyro_cal() in arming library 2015-01-20 19:47:59 +11:00
Andrew Tridgell 059c3769f3 Plane: cope with the changed semantics if airspeed.use() 2015-01-20 11:28:35 +11:00
Andrew Tridgell 5a01933b7b Plane: use dataflash Log_Write_Airspeed() 2015-01-20 09:10:57 +11:00
Dario Lindo Andres 0ea7a7a0cc Plane: Corrected LOGGING_ENABLED
When we configure LOGGING_ENABLED to DISABLED code does not
compile. Now it works!
2015-01-17 10:42:11 +13:00
Andrew Tridgell b8bfa755a9 Plane: raise alpha version 2015-01-09 15:47:47 +11:00
Andrew Tridgell ca431a47a6 Plane: use all_healthy() for SYS_STATUS health 2015-01-09 11:51:51 +11:00
Andrew Tridgell 035b1302ed Plane: updates for new AP_Baro API 2015-01-09 11:50:54 +11:00
Andrew Tridgell 4cb464db83 Plane: reduce the frame size of setup_failsafe_mixing() 2015-01-09 11:38:15 +11:00
Grant Morphett e122c0961e Plane: Arming updated to use RC channel objects not RC channels directly
The code had g.rc_3.control_in which would bypass the channel mapping and meant
arming could only occur if the throttle was always mapped to channel 3.
Updated to use the channel mapping object.
2015-01-08 11:55:19 +11:00
Staroselskii Georgii dc410a4b42 Plane: added AK8963 support 2015-01-07 08:41:13 +11:00
Andrew Tridgell a2242305c7 Plane: use common send_opticalflow() 2015-01-03 15:53:35 +11:00
Andrew Tridgell 28f58df310 Plane: send HAGL in OPTICAL_FLOW 2015-01-03 15:44:50 +11:00
Andrew Tridgell 8f571f1225 Plane: make optflow available to AHRS 2015-01-03 14:16:34 +11:00
Andrew Tridgell 8708297341 Plane: update for new OptFlow API 2015-01-03 14:16:33 +11:00
Andrew Tridgell 1e3c23e5a3 Plane: on takeoff set prev_WP_loc to current_loc 2015-01-03 14:07:02 +11:00
Andrew Tridgell 80d1bd230e Plane: report bad AHRS health if uncalibrated accels with EKF
fixes issue #1720
2015-01-03 14:06:46 +11:00
Andrew Tridgell ae96a48efc Plane: use location_path_proportion()
this should produce better glide slopes when the aircraft is off
course
2015-01-01 15:17:45 +11:00
Randy Mackay 6bec527aa3 Plane: BATT param's underscore moved to library 2014-12-31 15:22:56 +09:00
Randy Mackay 7d18744094 Plane: use battery.voltage2 method for logging 2014-12-31 15:22:55 +09:00
Randy Mackay 5cdb8a4c2a Plane: use battery.has_current 2014-12-31 15:22:54 +09:00
Randy Mackay 9be53502df Plane: remove logging dependecy on optflow 2014-12-31 15:22:41 +09:00
priseborough 195cdb6fd6 Plane: Don't log EKF optical flow data if not required 2014-12-31 13:16:11 +09:00
Randy Mackay 11def53ca7 Plane: pre_arm_gps_check flag always true 2014-12-26 12:32:38 +09:00
Andrew Tridgell eb13395967 Plane: cleanup mavlink_system setup 2014-12-17 11:30:04 +11:00
Andrew Tridgell 976ae14f1f Plane: improve landing aim point calculation
try to account for wind and current ground speed to dynamically update
glide slope in landing to flare at the right point
2014-12-15 21:51:08 +11:00
Andrew Tridgell 12f0c49915 Plane: remove fwd of unknown msg types 2014-12-11 12:32:52 +09:00
Andrew Tridgell 507117bd8f Plane: removed use of mavlink_check_target() 2014-12-11 12:31:15 +09:00
Randy Mackay f4fc910fea Plane: send OPTICAL_FLOW msg to GCS 2014-12-08 14:58:32 +09:00
Randy Mackay 2b9bf69c9e Plane: send optflow health in extended status 2014-12-08 14:58:29 +09:00
Andrew Tridgell 0599f1dcb1 Plane: changed version number to 3.2.1alpha1 2014-12-06 18:37:39 +11:00
priseborough f23722ecee Plane: Remove statement about flow driver rate in comment 2014-12-06 18:16:48 +11:00
priseborough ca53d5fb62 Plane: Increase rate at which optical flow sensor is checked
The sensor driver runs asynchronously at 10Hz, so needs to be checked frequently for arrival of data.
2014-12-06 18:16:48 +11:00
priseborough 898ad7432b Plane : Only build optical flow with PX4 board
Fixes SITL compile errors
2014-12-06 18:16:48 +11:00
priseborough 2500f7e9c2 Plane : Add data logging for optical flow use with EKF 2014-12-06 18:16:48 +11:00
priseborough 2db9247117 Plane : Add logging and EKF read for updated flow sensor interface 2014-12-06 18:16:47 +11:00
priseborough f047e35167 Plane : Enable optical flow by default if sensor is fitted 2014-12-06 18:16:46 +11:00
priseborough 9707989b9f Plane : Preliminary optical flow integration 2014-12-06 18:16:45 +11:00
Andrew Tridgell 7f383facac Plane: re-enable CLI on non-APM1/APM2 boards 2014-12-03 20:14:26 +11:00
Andrew Tridgell c05a0bc67f Plane: prevent a change altitude command from causing a sudden descent
when a change altitude command comes in while a large glide slope
altitude change is present we could end up using the old glide slope
with the new altitude. This resets the altitude offset, causing a
direct altitude change
2014-12-03 18:31:23 +11:00
Andrew Tridgell a0f69e06a7 Plane: prevent baro reset from OVERRIDE_CHAN
using OVERRIDE_CHAN would cause a baro reset as it would mean we are
temporarily disarmed, and the "reset baro and GPS when disarmed" check
would reset the baro

Now we only do the mixer update if disarmed
2014-11-29 19:55:25 +11:00
Andrew Tridgell c299f721b1 Plane: fixed sense of landing sink rate calculation
thanks to BretC for reporting
2014-11-29 07:48:07 +11:00
Andrew Tridgell d1fb137651 Plane: mark development version 3.2.1alpha 2014-11-29 06:59:47 +11:00
Andrew Tridgell 2f0bc1f202 Plane: setup pwm esc scaling 2014-11-26 11:14:44 +11:00
Andrew Tridgell b88e6b6302 Plane: prepare for 3.2.0 release 2014-11-25 13:58:28 +11:00
Andrew Tridgell 19847d8607 Plane: fixed missing break statement 2014-11-25 13:15:25 +11:00
Michael Day 8662aaa878 Plane: Support MAV_CMD_DO_FENCE_ENABLE as a mission item. 2014-11-25 13:02:47 +11:00
Andrew Tridgell 77958f8fd4 Plane: fixed CONTINUE_AND_CHANGE_ALT command
current_loc should be used, not prev_WP_loc
2014-11-25 10:44:02 +11:00
Michael Day 95d2e79312 Plane: Keep throwing WP in front plane for CONTINUE_AND_CHANGE_ALT 2014-11-25 10:43:15 +11:00
Michael Day 442c188ae0 Plane: Implementation of MAV_CMD_CONTINUE_AND_CHANGE_ALT. 2014-11-25 10:43:15 +11:00
Kirill A. Kornilov 8071d7c1d3 Plane: use set_radio_trimmed() for flaperons
See discussion in issue #1425
2014-11-25 08:20:10 +11:00
Andrew Tridgell b4e01b7936 Plane: if SKIP_GYRO_CAL is set the do a gyro cal on 3D accel cal
otherwise the user has no opportunity to do a gyro calibration
2014-11-21 19:09:19 +11:00
Andrew Tridgell 826ae8ee8b Plane: prepare for 3.1.2beta3 2014-11-21 14:50:04 +11:00
Andrew Tridgell c33f54378f Plane: changed preflight calibration to prevent accel cal from MP
MissionPlanner sends param1=1 and param3=1 for preflight
calibration. This was having the effect of redoing the accel
calibration as 1D cal on every flight!
2014-11-21 14:46:42 +11:00
Andrew Tridgell 2c7290fdc0 Plane: fixed baro test in CLI
fixes issue #1623

thanks to klrill-ka
2014-11-19 21:42:27 +11:00
Andrew Tridgell 2bb7606fba Plane: no need to set flaperons separately from flaperon_update()
fixes issue #1622

thanks to klrill-ka
2014-11-19 21:32:49 +11:00
Andrew Tridgell a519e0abb6 Plane: fix build with new mavlink repo 2014-11-18 11:20:08 +11:00
Randy Mackay c74aff56c1 Plane: move MOUNT_STATUS lower in GCS_MAVLink 2014-11-17 15:59:44 -08:00
Arthur Benemann 9ae443f2a2 Plane: append MOUNT_STATUS message to STREAM_EXTRA3 messages 2014-11-17 15:59:31 -08:00
Andrew Tridgell 0672d1fc3c Plane: mark beta2 2014-11-16 14:41:37 +11:00
Andrew Tridgell 34f7daf0fe Plane: started work on 3.1.2 release notes 2014-11-16 14:41:29 +11:00
Andrew Tridgell 78d85dfafc Plane: fixed handling of trim for flapersons
this allows TRIM_AUTO to work for flaperons

fixes issue #1188
2014-11-16 14:41:03 +11:00
Andrew Tridgell 8bcbce16ed GCS_MAVLink: show rangefinder status in SYS_STATUS 2014-11-14 15:34:36 +11:00
Evan Slatyer c4093b159f ArduPlane failsafes: remove rc_override_active
- rc_override_active is never set anywhere in the ArduPlane code; it's only used for Copter and Rover. Removing it significantly simplifies the failsafe code.
- modified code has been tested in SITL. Heartbeat and RC failures in AUTO, CRUISE, and RTL modes (covering the three cases in the failsafe check functions) have been simulated with FS_LONG_ACTN = 0, 1, and 2, FS_SHORT_ACTN = 0, 1, and 2, and FS_GCS_ENABL = 0, 1, and 2. In all cases the results are identical to those with the original code.
2014-11-14 11:35:27 +11:00
Andrew Tridgell e4ca0e1c5c Plane: fixed comment on negative flaps 2014-11-14 11:29:33 +11:00
Andrew Tridgell ba2e204143 Plane: fixed trim and range handling for flaperons 2014-11-14 11:27:50 +11:00
Andrew Tridgell ed6358730a Plane: fixed failsafe pass-thru for APM2 2014-11-14 11:27:32 +11:00
Andrew Tridgell 7f5cc97769 Plane: changed for new AP_Airspeed API 2014-11-13 21:12:59 +11:00
Andrew Tridgell fa5bab2682 Plane: log raw pressure and offset 2014-11-13 17:49:14 +11:00
Andrew Tridgell 3813bcb7ce Plane: small improvement to takeoff docs 2014-11-13 14:24:37 +11:00
Andrew Tridgell 135f9b2c54 Plane: added STALL_PREVENTION option
this will allow users to disable it if it proves to be a problem with
no airspeed sensor
2014-11-13 14:06:00 +11:00
Andrew Tridgell 58fd72944d Plane: honor TKOFF_THR_MAX in set_servos()
fixes issue #1555
2014-11-13 11:35:28 +11:00
Andrew Tridgell c8060cb9f7 Plane: use load factor to limit nav_roll_cd
this calculates the aerodymanic load factor from smoothed airspeed and
uses it to limit roll to keep it below the level where the load factor
would take us past the aerodymanic limit of the airframe
2014-11-12 13:36:02 +11:00
Andrew Tridgell ba312856ea Plane: provide a temperature to baro from the airspeed sensor 2014-11-12 13:36:02 +11:00
Arthur Benemann 5e2d7b1eaa Plane: Implement MSG_CAMERA_FEEDBACK on planes 2014-11-11 10:31:58 -08:00
Arthur Benemann fe9e68f88c Plane: send feedback to the GCS of pictures taken 2014-11-11 10:31:54 -08:00
Arthur Benemann 92ead67d99 Copter: remove call to camera.configure and control
The do_take_picture() function must be called for logging to occur.
configure_msg is empty at the moment so the call to this is remove
2014-11-11 10:31:52 -08:00
Andrew Tridgell 8ee677cfce Plane: fixed CLI build again
thanks to John Williams for pointing it out
2014-11-11 21:54:25 +11:00
Andrew Tridgell 44ee1fcd3c Plane: prevent large G_Dt_max report on startup 2014-11-10 07:09:31 +11:00
Andrew Tridgell 19c727c6c2 Plane: change default autotune level to 6 2014-11-08 18:42:35 +11:00
Andrew Tridgell 02d45468d6 Plane: update OVERRIDE_CHAN docs 2014-11-08 18:38:56 +11:00
Andrew Tridgell 34659478c2 Plane: fixed potential division by zero in mixing creation
also setup failsafe values if already armed, so while loading new
mixer the throttle output doesn't go to zero
2014-11-08 15:40:35 +11:00
Andrew Tridgell 1e6511b010 Plane: fixed number of channels we pass to PWM limits 2014-11-08 15:40:35 +11:00
Andrew Tridgell 0a318d3a68 Plane: move delay callback setup to after compass and airspeed config
this ensure parameters sent on startup include compass settings and
airspeed offset
2014-11-08 15:40:35 +11:00
Andrew Tridgell 7356503e90 Plane: set the PX4IO OVERRIDE_IMMEDIATE flag 2014-11-07 11:30:30 +11:00
Andrew Tridgell 0d2d63980d Plane: limit RC config to 8 channels
this is a limitation of current px4io.c
2014-11-07 10:39:07 +11:00
Andrew Tridgell 63561e53fb Plane: handle trims and reversals in px4 mixer creation 2014-11-07 10:39:07 +11:00
Andrew Tridgell e30838a4ef Plane: make OVERRIDE_CHAN behaviour exactly match FLTMODE6
this provides a convenient "real manual" flight mode
2014-11-07 10:39:07 +11:00
Andrew Tridgell bfb2a7eb93 Plane: improved FLAPIN_CHANNEL docs 2014-11-07 10:39:07 +11:00
Andrew Tridgell 16fd113020 RC_Channel: added channel_function()
this is used in the plane mixing code
2014-11-07 10:39:07 +11:00
Andrew Tridgell 913004beb0 Plane: added OVERRIDE_CHAN parameter
this allows both for testing PX4IO override on the ground, and for
forced manual override while flying, including re-arming after in-air
reboot
2014-11-07 10:39:07 +11:00
Andrew Tridgell c494057c98 Plane: add support for generating a PX4 mixer for failsafe
this creates APM/MIXER.MIX which will be used if the FMU dies to
provide manual control over RC
2014-11-07 10:39:07 +11:00