Commit Graph

587 Commits

Author SHA1 Message Date
Andrew Tridgell 1b775c96f5 Plane: added rangefinder correction by terrain data
allows for landing approach with terrain changes
2019-08-06 09:36:02 +10:00
Peter Barker 7c88eb670c Plane: RangeFinder uses AP_SerialManager singleton 2019-07-16 09:29:48 +10:00
Peter Barker 38e303389b Plane: avoidance no longer takes ahrs in constructor 2019-07-16 09:29:48 +10:00
Peter Barker 769e862807 Plane: stop passing relay and ahrs into camera constructor 2019-07-09 09:32:39 +10:00
Andrew Tridgell ebe2278f5d Plane: reset rate controller integrators if not run for 2s
this prevents a bug where integrator buildup can happen from a
previous flight mode
2019-07-07 18:16:47 +10:00
Peter Barker 3ab266b751 Plane: ServoRelayEvents uses Relay singleton 2019-07-03 23:59:24 -07:00
Michael du Breuil 1d379dd0b3 Plane: Update for AFS interface 2019-06-18 10:02:05 +10:00
Andrew Tridgell 5076058459 Plane: added FENCE_AUTOENABLE=3 option
this enables the fence when arming. If the vehicle is outside the
fence or it can't be enabled then arming fails
2019-06-11 06:58:47 +10:00
Peter Barker 400aa53654 Plane: move arming-related functionality into parent classes
Logging moves up
arming via mavlink moves up
arming via switch moves up
2019-05-30 07:37:30 +09:00
Tom Pittenger 6970a66cad Plane: refactor stick_mixing to library 2019-05-03 13:14:11 -07:00
Vinicius Knabben 99ad94ec49 Plane: Added parachute release on critcal sink rate and battery failsafe actions
Signed-off-by: Vinicius Knabben <viniciusknabben@hotmail.com>
2019-04-30 10:04:58 +10:00
Peter Barker ad16f31e11 Plane: call compass cal routine directly from sched table 2019-04-23 10:06:17 +10:00
Peter Barker 3a4cbdd41f Plane: remove pointless update_notify shim 2019-04-11 05:31:43 -07:00
Michael du Breuil ea031d720a Plane: Fix RangeFinder init 2019-04-06 09:15:22 +11:00
Tom Pittenger ade6281923 Plane: use #if ADVANCED_FAILSAFE == ENABLED just like Rover and Copter 2019-04-03 17:46:50 -07:00
Tom Pittenger ca40c7f2d5 Plane: create afs_plane.h to match copter and rover structure 2019-04-03 17:46:50 -07:00
Tom Pittenger 0270c57530 Plane: massive refactor and creation of Mode class 2019-04-02 16:28:52 +11:00
Peter Barker 6c5c14381f Plane: move devo telemetry handling to GCS 2019-03-19 14:39:14 +11:00
Peter Barker 1a55f0ffab Plane: FrSky support has moved to GCS 2019-03-19 14:39:14 +11:00
Andrew Tridgell 3907466f9d Plane: added TKOFF_TIMEOUT parameter
this allows for a timeout on auto-takeoff. This can be combined with
other takeoff parameters to allow the user to abort a hand-launch
after the motor has started without GCS interaction.

The 4m/s threshold is a bit arbitrary. We could make that a parameter
in the future if it is needed
2019-03-18 14:48:08 +11:00
Peter Barker 0edba9070f Plane: move sending of RPM message up 2019-03-16 10:33:01 +09:00
Peter Barker ca7566fff9 Plane: use enum class for ArmingMethod and ArmingRequired 2019-03-12 19:48:14 +11:00
Peter Barker bd444d97dc Plane: move sending of airspeed_autocal into AP_AirSpeed 2019-03-06 11:32:52 +11:00
Peter Barker 94899bd2ed Plane: move sending of send_pid_tuning up 2019-03-05 10:41:56 +11:00
Andrew Tridgell cd1f21b806 Plane: removed some px4 specific code and docs 2019-02-27 20:32:37 +11:00
Peter Barker cdde2b7d64 Plane: Rally no longer takes ahrs in constructor 2019-02-20 18:03:38 +11:00
Peter Barker 34853fb1bf Plane: move update_sensor_status_flags into GCS subclasses 2019-02-19 14:09:59 +11:00
Peter Barker 33541dcbf6 Plane: GCS_MAVLink takes care of mavlink capabilities 2019-02-19 13:14:52 +11:00
Peter Barker 5690a0ea4a Plane: move try_send_message of nav_controller_output up 2019-02-19 10:08:00 +11:00
Mark Whitehorn 95b3a5bacd ArduPlane: implement hover throttle learning for quadplanes
disable by default
check quadplane.enable in update_hover_learn
2019-02-16 19:04:13 -08:00
Peter Barker b6bf8d8368 Plane: make setting of home boolean in preparation for sanity checks 2019-02-15 08:28:45 +11:00
Peter Barker 5a19f447a7 Plane: devo telemetry no long requires singleton classes to be passed in 2019-02-13 19:24:07 +00:00
Peter Barker 30671a6743 Plane: move handling of command-int MAV_CMD_DO_SET_HOME up
Plane: eliminate set_home shim around AP_AHRS::set_home
2019-02-13 09:42:26 +11:00
Peter Barker cfb3dfc4e5 Plane: AP_Frsky_Telem uses singletons 2019-02-12 17:53:23 +00:00
Peter Barker b48cb1e367 Plane: move sending of sys_status message up 2019-02-05 11:07:39 +11:00
Andrew Tridgell 5dbf603450 Plane: separate out slew limit logic for left/right throttles 2019-02-03 05:06:37 -08:00
Peter Barker 68b9e64077 Plane: remove old, unfulfilled method declarations 2019-01-30 09:03:52 +09:00
Peter Barker 40856fef56 Plane: remove vestiges of old PX4_MIXER code 2019-01-19 19:31:03 +11:00
Peter Barker b47733142f GLOBAL: rename DataFlash_Class to AP_Logger 2019-01-18 18:08:20 +11:00
Peter Barker 129762d3af Plane: APM_Control uses DataFlash singleton, stop passing it 2019-01-18 14:14:22 +11:00
IamPete1 eaed0a2d47 Plane: make rudder differnal thrust global 2019-01-15 10:19:19 +11:00
Peter Barker 5c90a2dab2 Plane: Terrain uses rally singleton 2019-01-09 10:14:16 +11:00
Michael du Breuil 09f6ec8a00 Plane: Remove unneeded AP_Buffer include 2018-12-31 11:41:43 +09:00
Michael du Breuil 47dfafd670 Plane: Ensure that the plane is an appropriate distance out before starting the approach 2018-12-18 10:11:22 +11:00
Michael du Breuil f1154a6e7c Plane: Pass the mission command around rather then fetching it 2018-12-18 10:11:22 +11:00
Nikhil Upadhye d1e93bae83 Plane: adding new mode QAUTOTUNE
copter like autotune support for quadplanes and tailsitter in VTOL mode.

cleanup
2018-12-14 16:33:11 +11:00
Peter Barker d1727d26a1 Plane: rename send_extended_status1 to send_sys_status 2018-12-10 12:52:41 +09:00
Peter Barker ba3a369651 Plane: remove update_events scheduler shim 2018-11-27 10:07:13 +11:00
Michael du Breuil 1e220d3d37 Plane: Add support for mode change to QLand as a failsafe 2018-11-24 14:37:04 -08:00
Peter Barker d4e88bc6ba Plane: remove pointless wrappers around RC_Channels functions 2018-11-23 10:56:17 +11:00
Peter Barker 03b71e1123 Plane: remove pointless wrappers around gcs functions 2018-11-23 10:56:17 +11:00
Andrew Tridgell 03f1deca9f Plane: support REVERSE_THROTTLE rc option
this provides a more convenient way to setup for reverse throttle
2018-11-16 08:33:35 +11:00
Andrew Tridgell da69bf3391 Plane: added an abstraction for reverse thrust
use have_reverse_thrust() and get_throttle_input()
2018-11-16 08:33:35 +11:00
Peter Barker a5c34f6172 Plane: OpticalFlow takes care of its own logging 2018-11-13 10:40:23 +11:00
Peter Barker e53a009a35 Plane: do not pass ahrs to opticalflow constructor 2018-11-13 10:40:23 +11:00
Andrew Tridgell 432d786f82 Plane: pass height to landing gear update 2018-11-10 21:24:19 +11:00
Michael du Breuil 8e906e0ba0 Plane: Add support for a loiter to alt approach to VTOL landing 2018-11-10 18:58:54 +11:00
Eugene Shamaev 01178a75e9 Plane: added landing gear support 2018-11-09 14:35:14 +11:00
Peter Barker 818bb8d56d Plane: don't pass ahrs to terrain constructor 2018-11-08 20:59:45 +11:00
Peter Barker 4b68ca79dc Plane: stop passing ahrs to Mission constructor 2018-11-08 10:01:16 +09:00
Andrew Tridgell a00e06ea13 Plane: added TKOFF_ACCEL_CNT for multi-shake to start
this allows you to setup shake to start with a lower accel threshold,
but with multiple fwd/back movements needed.

This implements https://github.com/ArduPilot/ardupilot/issues/2221
2018-10-31 18:53:36 +11:00
Peter Barker 27b444f4e8 Plane: move handling of gimbal messages up
Plane: move handling of mav_cmd_do_mount_control up

Plane: move handling of deprecated mount messages up

Plane: move handling of command_do_set_roi up

Plane: mount no longer takes ahrs in constructor
2018-10-30 17:19:14 +11:00
Peter Barker 7890fbeaa1 Plane: let AP_Mission handle common camera commands 2018-10-30 15:37:18 +11:00
Michael du Breuil 3aed07a83a Plane: Create a scripting object 2018-10-09 10:08:52 +11:00
Peter Barker 4ad1869f43 Plane: add arm/disarm on aux switch 2018-09-06 08:26:50 +10:00
Peter Barker 901664ce09 Plane: add support for RCn_OPTION (servorelay,camera)
Closes #7071
Closes #7666
2018-09-05 13:44:07 +10:00
Michael du Breuil 8417bcc7d5 Plane: Add flight options bitmask 2018-08-28 09:40:53 +10:00
Michael du Breuil e4bbcd5ee3 Plane: Don't initilize motors with a trim value 2018-08-23 13:19:08 +10:00
Alexander Malishev 001948d40c Plane: publish navigation info to OSD 2018-08-16 10:26:34 +10:00
Randy Mackay 903d00c4b2 Plane: remove compass accumulate 2018-08-06 11:05:34 +10:00
Peter Barker 9ce02bc504 Plane: minimal support for inheritting from RC_Channel 2018-08-01 12:11:30 +09:00
Andrew Tridgell 1d675390ab Plane: make soaring an optional build feature
this disables soaring on px4-v2, saving 5k of flash

This is needed to consider pr #9042, which takes a lot of flash space
2018-07-30 13:09:15 +10:00
Michael du Breuil f25726fbb1 Plane: Remove unused ADC include 2018-07-17 09:29:50 +10:00
Peter Barker 85f339caae Plane: remove annoying ice_update shim 2018-07-04 21:08:47 +01:00
Peter Barker e404562544 Plane: remove vexing button_update shim 2018-07-04 21:08:47 +01:00
Peter Barker c42fb6d797 Plane: remove pointless rangefinder_init shim function 2018-07-04 21:08:47 +01:00
Peter Barker 3bfa4c8678 Plane: use singletons in AP_Arming 2018-07-03 13:44:11 +10:00
Andrew Tridgell bc503cc600 Plane: moved OSD to top level params
this is to give lots of depth for OSD params (which will be very
complex)
2018-06-27 14:55:00 +10:00
Alexander Malishev 75bf6984f5 Plane: added OSD support 2018-06-27 14:55:00 +10:00
Michael du Breuil 1c276e6af7 Plane: Remove unneeded wrapper functions
Also removes unneeded battery failsafe flag clearing
2018-06-27 11:39:35 +10:00
Peter Barker f5e241af01 Plane: option to force arm, bypassing checks 2018-06-20 11:43:38 +10:00
Peter Barker 2b7f9247e8 Plane: use AP_FWVersion singleton 2018-06-18 19:10:37 +01:00
Michael du Breuil 12da35220c Plane: Simplify radio trimming, improve MAVLink report 2018-06-11 16:29:36 -07:00
Peter Barker 22306c370b Plane: factor out a Plane::set_home 2018-05-29 14:38:45 +10:00
Peter Barker 8b4ffb11f5 Plane: move sending of vfr_hud up 2018-05-29 13:00:40 +10:00
Peter Barker ef77bea4eb Plane: move sending of simstate up 2018-05-23 18:36:50 +10:00
Peter Barker cdf4128900 Plane: move sending of POSITION_TARGET_GLOBAL_INT up 2018-05-18 20:26:37 +10:00
Peter Barker 5aefb90e61 Plane: move sending of GLOBAL_POSITION_INT up to GCS_MAVLINK 2018-05-17 15:48:06 +01:00
Peter Barker 6f8339028e Plane: move send_attitude into GCS_MAVLINK_Plane 2018-05-17 18:28:43 +10:00
Peter Barker 7afd056e98 Plane: handle setting of ekf origin in GCS_MAVLink 2018-05-17 10:13:42 +10:00
Peter Barker 052b76d017 Plane: move Log_Write_Home_And_Origin into AP_AHRS 2018-05-17 10:13:42 +10:00
Michael du Breuil b479f3760a Plane: Remove some unneeded logging indirection
Saves 32 bytes on make px4-v2
2018-05-16 20:34:00 +10:00
Peter Barker e10c23bd43 Plane: make scheduler track whether it has called the delay callback 2018-05-09 16:15:38 +10:00
Peter Barker 68497f27fa Plane: move try_send_message handling of RC_CHANNELS up 2018-05-08 12:33:32 +01:00
Peter Barker 2e3a7fc5b6 Plane: remove rcmap member from AP_AdvancedFailsafe 2018-05-05 18:06:31 +09:00
night-ghost aa53832a70 ArduPlane: devo telemetry support (RX705/707) 2018-04-24 10:44:28 +10:00
Peter Barker 5ef417a669 Plane: GPS now logs its own data 2018-04-18 13:50:55 +09:00
Michael du Breuil 7b7f5e242b Plane: Simplify channel reading 2018-04-14 14:05:20 +10:00
Peter Barker 2b54113334 Plane: Baro does its own dataflash logging 2018-04-12 19:12:12 +01:00
Peter Barker f6a185a3c3 Plane: factor vehicle's mavlink send_heartbeat 2018-04-03 13:05:19 +01:00
Peter Barker 58d41e40d3 Plane: let GCS_MAVLink calibrate airspeed sensor
Also remove useless zero_airspeed function
2018-04-02 23:25:05 +01:00
Peter Barker 65893cfca5 Plane: tidy handling of barometer calibrations 2018-04-02 23:25:05 +01:00
Michael du Breuil 7405bb7b85 Plane: Support new battery failsafes 2018-03-27 22:12:21 +01:00
Peter Barker 7fd859da65 Plane: move home state into AP_AHRS 2018-03-19 10:32:37 +09:00
Peter Barker 7c86c4fe61 Plane: use ins singleton 2018-03-16 00:37:35 -07:00
Peter Barker f558bbca2e Plane: use baro singleton 2018-03-08 21:20:05 -08:00
Peter Barker 0862d1454e Plane: use AP::ahrs() for ADSB 2018-03-07 12:34:39 +00:00
Michael du Breuil faea5d285c Plane: Consolidate some of the PID logging details 2018-03-03 17:34:18 +12:00
Andrew Tridgell 27e4953ad8 Plane: disable HIL on px4-v2
this saves enough flash for px4-v2 to fit again
2018-03-03 13:35:39 +11:00
David Ingraham a6aeebad4b Plane: Add support for AP_Gripper 2018-03-01 14:14:43 +11:00
Peter Barker 3859e5dfb1 Plane: eliminate update_perf_logging scheduler table shim 2018-02-13 17:15:05 +11:00
Peter Barker 02540fdbf9 Plane: use AP_Scheduler's loop() function 2018-02-13 17:15:05 +11:00
Peter Barker 73092c3c30 Plane: use scheduler ticks in place of mainloop_count 2018-02-13 17:15:05 +11:00
Peter Barker 519e6c31d2 Plane: use AP::PerfInfo library 2018-02-13 17:15:05 +11:00
Andrew Tridgell 2fb6113098 Plane: use AP:PerfInfo class 2018-02-10 10:50:22 +11:00
Michael du Breuil 43972f8e56 Plane: Move battery logging code to AP_BattMonitor 2018-02-06 00:11:32 +00:00
Tom Pittenger 39a200b83f Plane: allow control_mode enum to be in arbitrary order
never use control_mode >= BLAH. This requires the order to be important which greatly increases chance for unexpected behavior
Closes https://github.com/ArduPilot/ardupilot/issues/4656
2018-01-09 17:05:04 -08:00
Peter Barker c4c6b3cc70 Plane: AP_AHRS no longer requires GPS in constructor 2017-12-27 00:58:02 +00:00
Andrew Tridgell 30e224e705 Plane: removed create() method for objects
See discussion here:

  https://github.com/ArduPilot/ardupilot/issues/7331

we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach

Thanks to assistance from Lucas, Peter and Francisco
2017-12-14 08:12:28 +11:00
Tom Pittenger 512b327cd4 Plane: failsafe events to use enums instead of magical numbers : Non-functional change 2017-12-07 00:19:32 -08:00
Tom Pittenger 3d6cc59a6b Plane: cleanup geofence warnings 2017-11-27 18:35:49 -08:00
Michael du Breuil 1a3ca43e86 Plane: Don't check FS_SHORT_TIMEOUT if it's disabled
Also renames the check_minimum_altitude() to reflect that it's only used
for FBWB.
2017-11-24 09:58:01 -08:00
Tom Pittenger 7271586a47 Plane: invert auto_state.no_crosstrack flag to be auto_state.crosstrack. Non-functional change 2017-11-23 09:25:18 -08:00
Peter Barker ee5f550475 Plane: AP_Camera uses GPS singleton 2017-11-16 15:28:37 +00:00
Michael du Breuil e63e39c411 Plane: Don't broadcast PWM value that tripped throttle failsafe 2017-11-02 16:46:08 -07:00
Michael du Breuil d52f5155f0 Plane: Rename rc failsafe state members 2017-11-02 16:46:08 -07:00
Peter Barker d49be616da Plane: call ins's periodic function 2017-10-27 16:33:45 +11:00
Peter Barker 7feef72b34 Plane: improve failsafe notifications 2017-10-24 09:28:13 +11:00
Lucas De Marchi a2b67ed615 ArduPlane: use static method to construct AP_Landing 2017-09-26 03:01:21 +01:00
Lucas De Marchi e10c60e492 ArduPlane: use static method to construct controllers 2017-09-26 03:01:21 +01:00
Lucas De Marchi 05c870a4d4 ArduPlane: use static method to construct AP_TECS 2017-09-26 03:01:21 +01:00
Lucas De Marchi bfd13dfe87 global: use static method to construct AP_AHRS_DCM 2017-09-26 03:01:21 +01:00
Lucas De Marchi beabae6a98 global: use static method to construct AP_AHRS_NavEKF 2017-09-26 03:01:21 +01:00
Lucas De Marchi c9fbf7b722 global: use static method to construct AP_NavEKF3 2017-09-26 03:01:21 +01:00
Lucas De Marchi e2fe36357a global: use static method to construct AP_NavEKF2 2017-09-26 03:01:21 +01:00
Lucas De Marchi 6781a44046 global: use static method to construct AP_Avoidance_* 2017-09-26 03:01:21 +01:00
Lucas De Marchi 6d009cdf6e global: use static method to construct AP_ADSB 2017-09-26 03:01:21 +01:00
Lucas De Marchi cf6ea9642e global: use static method to construct AP_Terrain 2017-09-26 03:01:21 +01:00
Lucas De Marchi 31db77e47b global: use static method to construct AP_Parachute 2017-09-26 03:01:21 +01:00
Lucas De Marchi eadd650d78 global: use static method to construct AP_RSSI 2017-09-26 03:01:21 +01:00
Lucas De Marchi b05610870c global: use static method to construct AP_Rally 2017-09-26 03:01:21 +01:00
Lucas De Marchi 18aa88b329 global: use static method to construct AP_Mount 2017-09-26 03:01:21 +01:00
Lucas De Marchi c3647f0185 global: use static method to construct AP_Camera 2017-09-26 03:01:21 +01:00
Lucas De Marchi cc53e7bc4b global: use static method to construct AP_ServoRelayEvents 2017-09-26 03:01:21 +01:00
Lucas De Marchi 13d7f58036 global: use static method to construct AP_Relay 2017-09-26 03:01:21 +01:00
Lucas De Marchi 9ce6019138 global: use static method to construct AP_Frsky_Telem 2017-09-26 03:01:21 +01:00
Lucas De Marchi b022c02029 global: use static method to construct AP_BattMonitor 2017-09-26 03:01:21 +01:00
Lucas De Marchi 69b6d95cb2 global: use static method to construct AP_Board_Config{,_CAN} 2017-09-26 03:01:21 +01:00
Lucas De Marchi a74e700006 global: use static method to construct RCMapper 2017-09-26 03:01:21 +01:00
Lucas De Marchi 72fd2d6f05 global: use static method to construct AP_SerialManager 2017-09-26 03:01:21 +01:00
Lucas De Marchi fbe0d9761c global: use static method to construct AP_OpticalFlow 2017-09-26 03:01:21 +01:00
Lucas De Marchi 2d2876a226 ArduPlane: use static method to construct AP_Arming_Plane 2017-09-26 03:01:21 +01:00
Lucas De Marchi b36a5919f5 global: use static method to construct AP_Mission
This also move the initialization to be in the header for those that
weren't already to maintain consistency.
2017-09-26 03:01:21 +01:00
Lucas De Marchi de5e044b02 global: use static method to construct AP_RPM 2017-09-26 03:01:21 +01:00
Lucas De Marchi 40fd1b346c global: remove rangefinder from AP_AHRS_NavEKF
AP_AHRS_NavEKF doesn't use the rangefinder, it just delegates the
calls to the right estimator.

For libraries/AP_AHRS/examples/AHRS_Test/AHRS_Test.cpp the initialization
order has also been modified to match the order on vehicles. It's more
correct since it passes a reference when EKF2/EKF3 are already
constructed, while thos constructors use a pointer.  Ideally these
should be moved to an init() method though, or use a get_instance().
2017-09-26 03:01:21 +01:00
Lucas De Marchi 9027a55696 global: use static method to construct RangeFinder 2017-09-26 03:01:21 +01:00
Lucas De Marchi 62ac0ab8aa global: use static method to construct AP_Notify 2017-09-26 03:01:21 +01:00
Lucas De Marchi de680dac5b global: use static method to construct AP_Scheduler 2017-09-26 03:01:21 +01:00
Lucas De Marchi 8094482f21 global: use static method to construct AP_GPS 2017-09-26 03:01:21 +01:00
Lucas De Marchi 87b30b4552 global: use static method to construct AP_InertialSensor 2017-09-26 03:01:21 +01:00
Lucas De Marchi c1a957fbf3 global: use static method to construct Compass 2017-09-26 03:01:21 +01:00
Lucas De Marchi 91feec0e14 global: use static method to construct AP_Baro 2017-09-26 03:01:21 +01:00
Lucas De Marchi 18ff17e22c ArduPlane: move version to a static member
We should never include version.h or ap_version.h headers directly
on a header since this will trigger a complete rebuild of the
codebase when we commit to the repository. The ap_version.h header
is auto-generated containing information from the current commit.

If we include it in a header, every other file that ends up including
that header (directly or indirectly) will need to be rebuilt. No
ccache's cache beats having to do nothing when the header is just
not included.

version.h contains information that is kept on a struct inside
each vehicle. Rather than using the macros from each vehicle,
the getter should be preferred, which returns an AP_FWVersion
referente.
2017-09-23 21:37:45 -07:00
Randy Mackay 3d7b6ddc40 Plane: support SET_GPS_GLOBAL_ORIGIN message 2017-09-19 10:30:15 +09:00
Peter Barker aee939f891 Plane: move gcs_out_of_time into GCS object 2017-09-12 18:28:07 +01:00
Andrew Tridgell 37220e1568 Plane: removed unused prototypes 2017-09-10 17:15:18 +10:00
Peter Barker c15c1b84a4 Plane: add constant structure holding firmware version 2017-08-30 15:54:46 +01:00
Peter Barker 8eeae45300 Plane: use GCS_MAVLINK subclasses to handle set_mode 2017-08-16 11:58:10 +10:00
Peter Barker 1a665280e9 Plane: remove CLI 2017-08-14 10:23:50 +09:00
Peter Barker 089f6f4650 Plane: move try_send_message send_hwstatus up 2017-08-03 14:33:37 +01:00
Peter Barker fee9e83881 Plane: move try_send_message mission handling up 2017-08-03 14:24:47 +01:00
Andrew Tridgell fedd2c558c Plane: added AETR log message
this makes debugging mixers much easier
2017-08-01 08:25:32 +10:00
Andrew Tridgell 5d91e29cea Plane: fixed px4_mixer for new function based mixing
this fixes the OVERRIDE_CHAN functionality to work correctly with the
new function based mixing code

It isn't a perfect match for ArduPilot mixing, but it is very close
for the key control surfaces, including mixed surfaces
2017-08-01 08:25:32 +10:00
Andrew Tridgell 0266168e69 Plane: removed old elevon and vtail mixers
now only use the function based mixing, and auto-convert on startup
2017-08-01 08:25:32 +10:00
Peter Barker 2fb46a67dd Plane: camera is responsible for taking distance-based-images and logging 2017-07-28 14:27:53 +01:00
Peter Barker fa39f315c6 Plane: move starting of new logs into DataFlash 2017-07-19 16:37:28 +01:00
Michael du Breuil b8e6ad7476 Plane: Document loop max time as being in microseconds 2017-07-15 17:27:04 +09:00
Peter Barker a250f47f13 Plane: remove unneeded telemetry_delayed parameter 2017-07-12 17:01:36 +01:00
Peter Barker 250f315678 Plane: eliminate gcs_send_mission_item_reached wrapper 2017-07-11 23:45:16 +01:00
Peter Barker 3b0a7703c4 Plane: eliminate gcs_send_message wrapper 2017-07-11 23:45:16 +01:00
Peter Barker 5a8f01c19c Plane: use send_text method on the GCS singleton 2017-07-09 17:17:29 -04:00
Eugene Shamaev b95ebadf8b ArduPlane: move of CAN parameters into separate group 2017-07-03 11:44:32 +01:00
Andrew Tridgell 984e887d1d Plane: changed differential spoilers to scaled outputs
this matches new elevon, vtail and flaperon code
2017-07-03 11:17:42 +10:00
Peter Barker 5b70b688cb Plane: handle knowledge of in_log_download in DataFlash 2017-06-27 03:10:43 +01:00
Pierre Kancir 0bc9d294fb ArduPlane: change rangefinder msg for common one 2017-06-08 01:31:52 +01:00
Andrew Tridgell 92f88e9b33 Plane: fixed climb rate for quadplanes in CRUISE
the high loop rate of quadplanes led to less than 1cm/loop change in
height, which got truncated to zero. Adjusting height at 10Hz fixes
that.

Thanks to Marco for reporting this!
2017-05-10 08:03:23 +10:00
Andrew Tridgell 954905e0eb Plane: allow battery failsafe with usb connected
some people connect USB to allow connections from a companion
computer. The arming check is sufficient to prevent unwanted battery
failsafes when bench testing
2017-04-28 16:33:49 +10:00
Andrew Tridgell 516bf26719 Plane: fixed QRTL change when coming from loiter
the nav controller can think we have already reached the loiter target
if we were last in a LOITER when we switch to RTL. In that case it
would switch to QRTL immediately

found by Leonard (thanks!)
2017-04-24 16:28:59 +10:00
Andrew Tridgell b4ffcfa6bd Plane: added support for elevon and vtail servo functions
these make trimming and limiting servo movement easier
2017-04-24 16:26:08 +10:00
Eugene Shamaev ca84ab36be Plane: AOA and SSA estimations are added to parameters and data logs 2017-04-19 20:48:42 +10:00
Michael du Breuil 876ffa351b Plane: Update L1 constructor for new arguments 2017-04-06 08:26:04 +10:00
Andrey Kolobov 35d406aeab Plane: added a soaring controller to Arduplane 2017-03-14 08:53:10 +11:00
Randy Mackay c0f155fd27 Plane: use only downward facing rangefinder 2017-02-27 15:18:25 +09:00
Tom Pittenger 4ccd59f394 Plane: allow exiting loiter_to_alt in cases where you get stuck
- check for scenarios where updrafts can keep you from loitering down indefinitely.
2017-02-23 05:15:49 -08:00
Andrew Tridgell b3380ecfa7 Plane: support twin-engine planes
with differential thrust for yaw
2017-02-18 17:26:43 +11:00
Peter Barker 1d7994e9ba Plane: create GCS_Plane subclass 2017-02-13 17:03:06 +11:00
Peter Barker 49bf336539 Plane: Support for a GCS singleton 2017-02-13 09:32:01 +11:00
Peter Barker d060670ba3 Plane: rename gcs[] to gcs_chan[]
Wish to use gcs() to return the gcs singleton
2017-02-13 09:32:01 +11:00
Michael du Breuil 29b16dbafd Plane: Refactor to request relative altitudes from AHRS
Removes the need for plane to do the math for finding the relative height.

Also caches the value at the same time we update current_loc, which is a
non behaviour change as that was the only time you could see a change in
the relative height propegate through the system anyways
2017-02-13 09:23:14 +11:00
Randy Mackay fad2ba608f Plane: send flight mode string to Notify 2017-01-23 15:07:21 -08: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
Andrew Tridgell b83f50be0f Plane: use new SRV_Channels API 2017-01-12 17:39:37 +11:00
Peter Barker af9729c126 Plane: correct compilation when parachute disabled 2017-01-02 20:39:03 -08:00
Tom Pittenger c286ceba43 Plane: move enum FlightStages to AP_Vehicle::FixedWing 2016-12-30 23:50:03 -08:00
priseborough 38a0e8a6ae ArduPlane: Add EKF3 and remove EKF1 2016-12-19 08:07:09 +11:00
Randy Mackay d95baf51c9 Plane: include AP_Beacon 2016-11-30 17:57:01 +09:00
Peter Barker f712dd5d7e Plane: add arming check for logging actually started 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 9f184a1490 Plane: migrate aparm "LAND_" params from plane to AP_Landing 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 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
floaledm bae9ce20c1 Plane: update sensor status error flags independently of sending a sys_status message 2016-11-02 08:36:58 +11:00
Peter Barker 98ae6c776a Plane: support for AP_Stats (flight time, bootcount, runtime) 2016-10-29 14:53:25 +09: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
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 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 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 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 40c6ebf61a Plane: refactor more of servos output code to be easier to read 2016-10-15 16:59:34 +11: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 a5f20d8c44 Plane: fix for AP_FrSky_Telem API change 2016-08-25 10:16:19 +10:00
floaledm 43006a31a3 Plane: compatibility with revised AP_Frsky_Telem class 2016-08-25 10:16:18 +10:00
floaledm 71921f3aa4 Plane: removed frsky_telemetry_send scheduled task 2016-08-25 10:16:17 +10:00
Tom Pittenger b187e1f9a6 Plane: add reason to set_mode() 2016-08-17 22:38:54 -07:00
Tom Pittenger 285e41bac6 Plane: add avoidance_adsb framework for object avoidance 2016-08-17 22:38:54 -07:00
Tom Pittenger c4460a285c Plane: remove adsb sensor library based avoidance
adsb based avoidance has been moved to AP_Avoidance library
2016-08-17 22:38:54 -07:00
Tom Pittenger fa326de7fa Plane: add adsb to failsafe structure and report in heartbeat to GCS 2016-08-17 22:38:54 -07:00
Andrew Tridgell adb5a3ee1f Plane: re-work AFS for new AP_AdvancedFailsafe API 2016-08-16 12:55:51 +10:00
Andrew Tridgell 5d6dfd927b Plane: changes for AP_AdvancedFailsafe naming 2016-08-16 12:55:50 +10:00
Tom Pittenger e0136dc545 Plane: remove AP_Vehicle::FixedWing dependency in ap_airspeed 2016-08-08 00:02:42 -07:00
Tom Pittenger fc50f145ce Revert "ArduPlane: Convert references to AP_Airspeed. Added automatic migration of ARSPD_FBW_MIN and ARSPD_FBW_MAX (plane parameter) to ARSPD_FBW_MIN and ARSPD_FBW_MAX (library parameter)."
This reverts commit da1b18d918.
2016-08-07 17:54:24 -07:00
Tom Pittenger 8dad05d12e Revert "Airspeed: store reference in libraries and populate it"
This reverts commit c090ba2257.
2016-08-07 17:54:24 -07:00
Tom Pittenger c090ba2257 Airspeed: store reference in libraries and populate it
- also had to move the initial definition in plane.h so it happened before the others.
2016-08-04 11:06:44 -07:00
AndersonRayner da1b18d918 ArduPlane: Convert references to AP_Airspeed. Added automatic migration of ARSPD_FBW_MIN and ARSPD_FBW_MAX (plane parameter) to ARSPD_FBW_MIN and ARSPD_FBW_MAX (library parameter). 2016-08-04 10:09:04 -07:00
Tom Pittenger f90957e7ed Plane: remove all threat logic in adsb lib in favor of avoidance lib 2016-08-01 15:27:41 -07:00
Andrew Tridgell 327a057ee0 Plane: added internal combustion engine support
this allows for automatic engine start and restart
2016-07-25 10:06:03 +10:00
Andrew Tridgell 02babb71b3 ArduPlane: adjust for 16 channels in SERVO_OUTPUT_RAW 2016-07-25 10:06:02 +10:00