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