Commit Graph

246 Commits

Author SHA1 Message Date
Andy Piper
3ed6ada2e3 Copter: allocation failure on rate thread start 2024-12-04 07:45:05 +11:00
Andy Piper
3d43f2053f Copter: move RTDT logging to fast path
log after motor output in fast rate thread
2024-12-04 07:45:05 +11:00
Andy Piper
f84c855dd1 Copter: run copter attitude control with separate rate thread
run motors output at rate thread loop rate
allow rate thread to be enabled/disabled at runtime for in-flight impact testing
setup the right PID notch sample rate when using the rate thread the PID notches
 run at a very different sample rate
call update_dynamic_notch_at_specified_rate() in rate thread
log RTDT messages to track rate loop performance
set dt each cycle of the rate loop thread
run rate controller on samples as soon as they are ready
detect overload conditions in both the rate loop and main loop
decimate the rate thread if the CPU appears overloaded
decimate the gyro window inside the IMU
add in gyro drift to attitude rate thread
add fixed-rate thread option
configure rate loop based on AP_INERTIALSENSOR_FAST_SAMPLE_WINDOW_ENABLED
better rate loop thread decimation management
ensure fix rate attitude is enabled on arming
add rate loop timing debug
update backend filters rather than all the backends
provide more options around attitude rates
only log attitude and IMU from main loop
force trigger_groups() and reduce attitude thread priority
migrate fast rate enablement to FSTRATE_ENABLE
remove rate thread logging configuration and choose sensible logging rates
conditionally compile rate thread pieces
allow fast rate decimation to be user throttled
if target rate changes immediately jump to target rate
recover quickly from rate changes
ensure fixed rate always prints the rate on arming and is always up to date
add support for fixed rate attitude that does not change when disarmed
only push to subsystems at main loop rate
add logging and motor timing debug
correctly round gyro decimation rates
set dshot rate when changing attitude rate
fallback to higher dshot rates at lower loop rates
re-factor rate loop rate updates
log rates in systemid mode
reset target modifiers at loop rate
don't compile in support on tradheli
move rate thread into its own compilation unit
add rate loop config abstraction that allows code to be elided on non-copter builds
dynamically enable/disable rate thread correctly
add design comment for the rate thread

Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2024-12-04 07:45:05 +11:00
Iampete1
840507970e Copter: tell the gcs that the number of available modes has changed when registering a custom mode 2024-11-26 08:44:31 +09:00
Iampete1
1ed57deab6 Copter: return custom_mode_state for registered modes 2024-11-26 08:44:31 +09:00
Iampete1
512f620e6e Copter: add support for adding a custom mode from scripting 2024-11-26 08:44:31 +09:00
snktshrma
20aeae1a09 ArduCopter: Enabled external control for takeoff
Co-authored-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2024-11-23 09:00:27 +09:00
Peter Barker
e29b6c3036 ArduCopter: create and use a singleton for SRV_Channels
avoid creation of static pointers to objects held within SRV_Channels
2024-11-13 19:47:49 +11:00
Peter Barker
2c401ccec5 Copter: rename ADVANCED_FAILSAFE to AP_COPTER_ADVANCED_FAILSAFE_ENABLED
to make integration with custom build server work
2024-11-12 12:44:34 +11:00
Peter Barker
e4859599cf Copter: stop using global ap variable as bitmask 2024-11-06 16:31:38 +09:00
Iampete1
94944427da Copter: Scripting: add support for set_target_rate_and_throttle 2024-09-25 08:47:30 +10:00
Peter Barker
db767ce0dd ArduCopter: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Andy Piper
505d05d5f8 Copter: log ANG attitude message 2024-09-17 10:12:35 +10:00
Peter Barker
784760342d Copter: remove ENABLE/ENABLED/DISABLE/DISABLED defines 2024-09-06 11:53:09 +10:00
Gone4Dirt
aabaa0939a Copter: Move heli logging down into motors 2024-08-14 23:39:01 -04:00
Luca Pescante
0583e85145 Copter: update "CH6 tuning" comments 2024-07-25 09:40:13 +10:00
muramura
f9bc247121 Copter: correct comment about scope of is_landing and is_taking_off 2024-07-24 18:31:00 +10:00
Peter Barker
6dac230ccb ArduCopter: correct compilation with AP_RRSI_ENABLED false
Co-authored-by: David Buzz <davidbuzz@gmail.com>
2024-07-24 09:11:39 +10:00
Peter Barker
f64fcb78d3 ArduCopter: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Iampete1
44710e8576 Copter: update_target_location reject alt frame change per plane 2024-06-25 08:29:57 +09:00
TsuyoshiKawamura
a95b5bc0dc Copter: leave old_loc check instead of changing alt frame. 2024-06-25 08:29:57 +09:00
TsuyoshiKawamura
8346203d43 Copter: simplify update_target_location 2024-06-25 08:29:57 +09:00
rtos-kawamura
34748e681f Copter: simplify get_target_location
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2024-06-25 08:29:57 +09:00
TsuyoshiKawamura
5f5e0e65e0 Copter: implement get_target_location/update_target_location for lua 2024-06-25 08:29:57 +09:00
haarshitgarg
a13639d9d8 ArduCopter: enabled sending waypoints from a companion computer to ardupilot for copter and rover
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-05-02 09:08:34 +09:00
Peter Barker
b173662b3c ArduCopter: remove Baro accumulate API
no backend actually needs to be prodded, everything is done on timers
2024-04-18 09:19:20 +10:00
Peter Barker
4569b1ba14 ArduCopter: allow HarmonicNotches to be compiled out of the code 2024-03-19 07:04:13 +11:00
Andy Piper
f0b691dd31 Copter: check fence at faster rates when going faster to avoid massive fence breaches 2024-02-28 19:29:44 +11:00
Peter Barker
f2a9f1516b ArduCopter: move gripper up to AP_Vehicle
also make the singleton return a reference rather than a pointer
2024-02-21 21:05:12 +11:00
Peter Barker
4e97561d5b ArduCopter: move logger object up to AP_Vehicle 2024-02-13 10:54:29 +11:00
Andy Piper
780045ee3a Copter: filter ekf variances for failsafe and vibration checks
add a parameter to control EKF failsafe filtering
2024-02-07 15:10:30 +00:00
Peter Barker
eab70e3a1e ArduCopter: move AP_Stats to AP_Vehicle 2024-01-30 11:12:21 +11:00
Peter Barker
7377b3f8f2 ArduCopter: allow compilation with HAL_LOGGING_ENABLED false 2024-01-17 18:25:55 +11:00
Randy Mackay
5718c49928 Copter: set-desired-speed applied to flightmode 2023-12-06 08:44:52 +09:00
Andy Piper
aad51b7066 Copter: update PID notch centers at 1Hz with average loop rate 2023-11-21 13:26:23 +11:00
Peter Barker
75f1459fa6 ArduCopter: add and use AP_TEMPCALIBRATION_ENABLED 2023-11-07 07:46:24 +11:00
muramura
6820e96ca8 Copter: Change from fast_loop method to FAST_TASK(NFC) 2023-08-23 19:24:01 +09:00
muramura
d9492c1c6c Copter: Change RATE (NFC) 2023-07-31 17:18:21 +09:00
Randy Mackay
9d2e9b37c8 Copter: log MNT at 10hz 2023-07-26 17:33:18 +10:00
Tom Pittenger
a88c3a08b0 Copter: is_landing/is_taking_off not to req scripting 2023-07-03 22:44:00 -07:00
Peter Barker
cd8a699675 ArduCopter: add option to disable relay and servorelay libraries 2023-06-20 09:36:39 +10:00
Tatsuya Yamaguchi
fdac668782 Copter: implement is_landing and is_taking_off for use by lua 2023-05-26 10:59:09 -07:00
Peter Barker
6c5c88061f ArduCopter: move call of notify.update up to AP_Vehicle 2023-05-17 18:41:15 +10:00
Peter Barker
96fa96936b ArduCopter: AP_Arming ensures mission items present when in auto mode
Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>
2023-04-14 07:49:54 +10:00
Peter Barker
3eae095966 ArduCopter: use AP_BEACON_ENABLED instead of BEACON_ENABLED 2023-04-12 09:24:39 +10:00
tzarjakob
97b7e8d1d0 ArduCopter: configuration of Precision Landing for custom build server 2023-03-27 09:04:07 +11:00
Pierre-Yves BRULIN
d67e67965f Copter: Reenable PID logging in SystemID mode 2023-03-08 19:28:05 +11:00
Leonard Hall
7978347044 Copter: Add support for terrain altitude time constant 2023-03-07 13:41:35 +11:00
Peter Barker
ade654b251 Copter: use AP_WINCH_ENABLED in place of WINCH_ENABLED 2023-03-03 20:59:06 +11:00
Bill Geyer
128794ec84 Copter: run update autorotation before motors 2023-02-05 17:54:33 -05:00