Peter Barker
de4dda2d17
ArduPlane: change namespace of MultiCopter and FixedWing params
...
this stops the libraries knowing anything about AP_Vehicle
2022-11-09 19:04:37 +11:00
Henry Wurzburg
a84f6b6dee
Plane: added AUTOTUNE_AXES function to normal tune
...
Co-authored-by: Peter Hall
2022-11-08 10:54:36 +11:00
Andrew Tridgell
41fbbd92bc
Plane: zero error on release of sticks
...
this locks the attitude at exactly the stick release position on each
axis
thanks to Adrian Nagy for feedback
2022-11-02 07:55:37 +11:00
Andrew Tridgell
499fe79221
Plane: implement quaternion based ACRO mode
...
when ACRO_LOCKING=2 this implements a quaternion based ACRO
controller, which allows for accurate rolls and knife edge
2022-11-01 15:00:26 +11:00
Andrew Tridgell
500ac9b99c
Plane: cleanup abort of NAV_SCRIPT
...
use the same enable flag for tricks and auto NAV_SCRIPT_TIME and
ensure we disable if the script stops controlling
2022-10-29 21:22:29 +11:00
Andrew Tridgell
90459ed6f4
Plane: two more arguments to NAV_SCRIPT_TIME
2022-10-23 18:11:15 +11:00
khanasif786
1fe6d77eeb
Plane: Max altitude for FBWB using Fence altitude
2022-10-19 18:28:52 +11:00
Andrew Tridgell
1c043bde9a
Plane: log TECS target alt
...
log the target alt we pass into TECS to help debug a CRUISE height
issue
2022-10-18 06:49:46 +11:00
Peter Barker
9e0894c93a
ArduPlane: add AP_GRIPPER_ENABLED
2022-10-04 10:58:34 +11:00
yaapu
e958c313a1
ArduPlane: fixed roll and pitch for OSD VTOL view
2022-09-27 10:04:10 +10:00
Peter Barker
dabf78c61f
ArduPlane: add and use AP_CAMERA_ENABLED
2022-09-21 11:58:38 +10:00
Peter Barker
e596f7ce83
Plane: add and use AP_RPM_ENABLED
2022-09-20 09:28:27 +10:00
Peter Barker
81c138e0a4
Plane: remove logging of CMDI
...
This is a duplicate of the data logged into "MAVC"
2022-09-14 17:44:50 +10:00
Peter Barker
0d19d7646f
ArduPlane: rename OpticalFlow class to AP_OpticalFlow
...
Brings us in-line with other classes in ArduPilot.
Removes ambiguity with AP_HAL::OpticalFlow which can cause compilation errors as we start to make code more portable across targets
2022-08-18 14:24:01 +10:00
Iampete1
2b0492e6aa
Plane: disalow mode change during fence recovery if option is set
2022-08-17 17:21:30 +10:00
Joshua Henderson
a9da91bc8d
Plane: add TECS Logbitmask to TECS constructor
2022-08-09 09:44:50 +10:00
Henry Wurzburg
fcf29539de
Plane: fix attitude/AOA logging and rates
2022-08-02 10:52:52 +10:00
Iampete1
a592f76282
ArduPlane: change AC_FENCE to AP_FENCE_ENABLED
2022-07-27 19:04:56 +10:00
Iampete1
2b8958f931
Plane: Fence moved to vehicle
2022-07-27 19:04:56 +10:00
Iampete1
dd2221338b
Plane: fence: do not re-trigger if mode change for expected reason
2022-07-19 09:44:36 +10:00
Iampete1
90f2bf3ba2
Plane: remove duplicate last mode reason
2022-07-19 09:44:36 +10:00
Andrew Tridgell
3385d3ae62
Plane: support NAV_DELAY in plane
...
allow for delayed takeoff, and takeoff at a particular time (for swarm
takeoff)
also check for takeoff command in landing sequence arming check
this allows for takeoff->land->disarm->delay->arm->takeoff->land
missions
2022-07-12 10:34:26 +10:00
Andrew Tridgell
15084cb6f3
Plane: moved harmonic notch update code to AP_Vehicle
2022-04-19 09:39:03 +10:00
Andrew Tridgell
c1d841dd93
Plane: support two full harmonic notch filters
2022-04-19 09:39:03 +10:00
Peter Barker
2784f8fa7f
Plane: remove persistent guided_WP_loc state
...
So instead of updating plane.guided_WP_loc and then calling
set_guided_WP(void) to copy that state into plane.next_WP_loc we pass
the new location in the call to set_guided_WP(const Location &loc).
avoidance was the only place which was not entirely over-writing
plane.guided_WP_loc. However, plane.next_WP_loc was updated to be the
current location when we entered guided mode. If we update the
horizontal/vertical avoidance now it is relative to the current
location, not the guided wp location, which could be quite important.
2022-03-22 10:14:40 +11:00
Peter Barker
1f5165349e
Plane: correct compilation when airspeed disabled
2022-03-20 21:47:05 +11:00
Andrew Tridgell
3fe9a55269
Plane: added APIs for lua ship landing
2022-03-10 07:34:20 +11:00
Andrew Tridgell
c54fb0f51b
Plane: link in AP_Follow
...
ready for ship landing
2022-03-10 07:34:20 +11:00
Peter Barker
e1314cc297
Plane: remove ancient convert_mixers
2022-02-08 12:19:55 +11:00
Peter Barker
4068d57930
Plane: correct spelling of mode_lotier_qland
2022-02-08 12:19:03 +11:00
Peter Barker
7c0b1f46d6
Plane: remove logging of STRT message
...
SType is always 3 - and we're just about to log the entire
mission so CTOT is pointless
2022-02-08 12:18:16 +11:00
Henry Wurzburg
e82ad1ec24
ArduPlane: fix error in Tricks on a Switch qualifier
2022-02-08 11:54:38 +11:00
Peter Barker
bab79d0094
ArduPlane: stop passing mission in Terrain constructor
...
Terrain can use the mission singleton
This means Copter can have terrain while compiling mission out
2022-02-08 11:20:20 +11:00
Henry Wurzburg
ea9d35c99d
ArduPlane: extend nav_scripting to all modes
2022-02-07 21:19:28 +11:00
Iampete1
f725f7bb7e
Plane: set new slew limit and inherit slew limt for flaps
2022-01-25 10:12:13 +11:00
Joshua Henderson
c1abcfb7c4
Plane: move Airspeed to AP_Vehicle
2022-01-19 18:21:32 +11:00
Peter Barker
0cf4254290
ArduPlane: move RPM sensor logging into AP_RPM
2022-01-11 11:09:26 +11:00
Iampete1
0fa1ddf7c2
Plane: tailsitter: always give pitch prority elevon mixing in VTOL modes
2022-01-11 10:37:38 +11:00
Andrew Tridgell
fb019eb0f3
Plane: add a low pass filter to speed scaler
...
this is needed due to the filtering done on the target rate in
AC_PID. With a low filter rate in AC_PID a step in the speed scaler
results in a step in the FF output due to the mismatch in the
instantaneous SS and the filtered target rate
2021-12-29 18:36:05 +11:00
Peter Barker
e55eea961f
ArduPlane: create and use AP_OPTICALFLOW_ENABLED
2021-12-29 18:12:03 +11:00
Samuel Tabor
a715472353
Plane: Specify starting location to set_offset_altitude_location
2021-12-27 11:27:52 +11:00
Hwurzburg
274111a5ea
ArduPlane: clean up short failsafe
2021-12-07 10:09:33 +11:00
Andrew Tridgell
e342ce0da4
Plane: fixed reset of steering locked course
...
reset when we have not been steering for 1s, to ensure that an old
locked course is not used
2021-12-04 07:41:35 +11:00
Andrew Tridgell
56870ad7d6
Plane: use yaw rate controller in NAV_SCRIPT_TIME
2021-11-30 16:19:26 +11:00
Hwurzburg
5cafccd447
ArduPlane: fix flare rc switch action with flight option bit 10 active
2021-11-21 21:00:04 +11:00
Peter Barker
70562021ac
ArduPlane: move from ENABLE_SCRIPTING to AP_SCRIPTING_ENABLED
2021-11-15 20:27:40 +11:00
Peter Barker
203103bae5
ArduPlane: ensure ENABLE_SCRIPTING is always defined
2021-11-15 20:27:40 +11:00
Iampete1
b9d240460b
Plane: remove SpdHgt and use TECS direct
2021-11-13 08:05:39 +11:00
Andrew Tridgell
0c1e576544
Plane: added support for NAV_SCRIPT_TIME
2021-11-08 21:08:52 +11:00
Peter Barker
554e7f8d1c
ArduPlane: move EFI to AP_Vehicle
2021-11-05 09:22:17 +11:00
Iampete1
99d98cc5b8
Plane: add transition class as friend
2021-11-02 10:14:36 +11:00
Andrew Tridgell
9c617a18f4
Plane: suppress rate D terms in ground mode
...
this prevents a common oscillation issue on the ground
2021-10-30 18:45:53 +11:00
Hwurzburg
8d94e58ec9
ArduPlane: add RC option to plane for emergency remote landing that forces FS actions to FBWA
2021-10-26 10:34:28 +11:00
Iampete1
2f93c1f9e4
Plane: stabilizer roll and pitch to floats
2021-10-20 18:29:58 +11:00
Iampete1
b31ce6734a
Plane: get throttle input return float
2021-10-20 18:29:58 +11:00
Peter Barker
987d67b867
ArduPlane: move SITL object up to AP_Vehicle
2021-10-19 11:34:43 +11:00
Peter Barker
e1aa863eae
Plane: stop passing current_loc into AP_Camera
2021-09-29 18:33:01 +10:00
Iampete1
682798d044
PLane: support Loiter to Qland battery failsafe action
2021-09-28 09:31:13 +10:00
Iampete1
1148bb1234
Plane: Quadplane: add loiter to alt then QLAND mode
2021-09-28 09:31:13 +10:00
Iampete1
0549e08c5c
Plane: add mehtod to check terrain by mode
2021-09-28 09:31:13 +10:00
Iampete1
dc2ba8236a
Plane: trim_radio: check manual mode and rotation rates and add mesages
2021-09-28 09:16:24 +10:00
Shiv Tyagi
cdb4ec8ad0
Plane : Improved LAND_THEN_NEUTRL to work on all control surfaces
...
This fixes the issue #18593
Co-Authored-By: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2021-09-17 22:06:24 -05:00
Andrew Tridgell
baec0d83f2
Plane: moved accel cal update to vehicle code
2021-09-17 14:07:14 +10:00
Iampete1
c4a1ae42e5
Plane: Quadpalne: move tiltrotor functionality to own class
2021-09-17 08:24:17 +10:00
Iampete1
478bf37246
Plane: used correct WP radius for VTOL flight
2021-09-15 20:36:56 +10:00
Peter Barker
3d34e061fe
ArduPlane: add and use HAL_QUADPLANE_ENABLED
2021-09-14 11:23:18 +10:00
Iampete1
e6968395c6
Plane: remove none-functional NAV_CONTROLLER param
2021-09-08 20:32:52 +09:00
Hwurzburg
327f3a0803
ArduPlane: add option for man throttle center to be TRIM_THROTTLE
2021-09-07 10:02:26 +10:00
Andrew Tridgell
d1d0ab41d6
Plane: added option to log PIDs at full rate
...
useful for tuning quadplanes
2021-08-10 10:13:36 +10:00
Iampete1
a1ecd706b7
Plane: notify buzzer on every mode change
2021-08-10 09:47:33 +10:00
bugobliterator
c8b2f009fd
Plane: change class name from SITL::SITL to SITL::SIM
2021-08-05 07:25:31 +10:00
Peter Barker
cfe25f71e3
ArduPlane: use mission singleton inside AP_AdvancedFailsafe
2021-08-03 10:35:24 +10:00
Hwurzburg
1e4a6c9236
ArduPlane: Correct OSD horizon for VTOL modes and TRIM_PITCH_CD in Fixed Wing
2021-08-03 10:09:28 +10:00
Peter Barker
c1e263695f
Plane: remove unimplemented function declaration
2021-07-30 11:23:06 +10:00
Iampete1
f18428b357
Plane: #ifdef scripting specific functions
2021-07-28 18:18:32 +10:00
Iampete1
0eab3faf32
Plane: use new tailsiter class
2021-07-27 09:08:34 +10:00
Andrew Tridgell
1ae669bb01
Plane: added manual input expo for MANUAL, ACRO and TRAINING
...
this is easier than setting up mode specific expo in radios for flying
in manual modes
2021-07-23 14:47:14 +10:00
Peter Barker
354c1091f8
ArduPlane: stop taking references to ahrs in APM_Control
2021-07-21 18:27:23 +10:00
Peter Barker
055e82276e
ArduPlane: remove HIL support
2021-06-15 09:47:31 +10:00
Andrew Tridgell
3bb840f794
Plane: implement slow descent in QRTL approach
...
this approaches in QRTL at ALT_HOLD_RTL alt, then descends to
Q_RTL_ALT close to the destination
2021-06-05 13:05:30 +10:00
Peter Barker
aa973c5245
ArduPlane: move handling of last-seen-SYSID_MYGCS up to GCS base class
2021-04-07 17:54:21 +10:00
Iampete1
e81dc36ed6
Plane: add option do do a VTOL approach RTL
2021-03-29 11:29:12 +11:00
Peter Barker
a32d45eb04
ArduPlane: remove Log_Write_Performance which is not called anywhere
2021-03-26 16:35:08 +11:00
Iampete1
60d26723ae
Plane: make TERRAIN_FOLLOW at AP_int32 bitmask, per mode option
2021-03-24 10:15:18 +11:00
Hwurzburg
d15e01d390
Plane: fix DO_CHANGE_SPEED airspeed to impact only AUTO and GUIDED modes
2021-03-16 10:09:34 +11:00
James O'Shannessy
5dd40afe0a
ArduPlane: Retrigger fence breach if mode
...
ArduPlane: Move auto enabling code to common fence library
2021-03-05 14:52:46 +11:00
James O'Shannessy
8a99d9dd00
ArduPlane: Use auto enable and auto disable from AC_Fence
2021-03-05 14:52:46 +11:00
Dr.-Ing. Amilcar do Carmo Lucas
4f7ffc5eb1
Plane: move fence disable code to a function to enable reusability
2021-03-05 14:52:46 +11:00
James O'Shannessy
aae092b88f
ArduPlane: Remove all unused geofence capability
...
ArduPlane: Remove missed geofence logic
2021-03-05 14:52:46 +11:00
James O'Shannessy
17fb585bf1
ArduPlane: Add support for AC_Fence
...
ArduPlane: Remove some geofence logic from ArduPlane
ArduPlane: Refactor action and mode return implementation
ArduPlane: Use polyfence to find the return point.
2021-03-05 14:52:46 +11:00
Peter Barker
af29f34f2c
Plane: store previous_mode_reason only as a local
...
It's never used outside the mode-changing method.
2021-02-03 20:33:25 +11:00
Patrick José Pereira
cdc7f891a9
ArduPlane: Add missing const in member functions
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Peter Barker
eaa6b36077
ArduPlane: move control_mode_reason up to AP_Vehicle
2021-02-03 18:24:52 +11:00
Peter Barker
6baaf03c8c
Plane: move auto_throttle_mode to being a method on each mode
2021-01-10 16:04:30 +11:00
Peter Barker
f6cb1b5ad6
Plane: use a method on Mode for auto-navigation-mode
...
Avoids the state getting stale, which it will with a failed attempt to
go into qautotune, for example.
2021-01-10 16:04:30 +11:00
Peter Barker
a1ea1306a1
Plane: use pure-virtual method for allows_throttle_nudging
...
In place of a state variable which could become stale
2021-01-10 16:04:30 +11:00
yaapu
141010ac39
ArduPlane: added virtual getters for waypoint info
2020-12-10 12:39:44 +11:00
Andrew Tridgell
cd6ddf7d4f
Plane: fixed disable of geofence on quadplane landing
...
fixes #15917
2020-12-02 18:33:07 +11:00
Hwurzburg
3cdcce2123
ArduPlane: add inflight airspeed cal rc switch
2020-11-25 21:30:15 +11:00
Andy Piper
fa454da315
Plane: allow OSD for TX-only screens
2020-11-11 18:13:11 +11:00