Commit Graph

486 Commits

Author SHA1 Message Date
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
Peter Barker 6ee1d94ec7 Copter: reorder initialisation of member variables to make -Werror=reorder work 2024-11-13 06:40:37 +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
Henry Wurzburg 6304eb99b4 Copter: add turtle mode to flight modes metadata 2024-10-01 10:35:45 +10:00
Peter Barker 784760342d Copter: remove ENABLE/ENABLED/DISABLE/DISABLED defines 2024-09-06 11:53:09 +10:00
Peter Barker 42cf3aed97 Copter: use HAL_PARACHUTE_ENABLED in place of PARACHUTE_ENABLED 2024-08-07 18:09:23 +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
Peter Barker 180484e0a6 ArduCopter: add Copter flight option for requiring position to arm
this is not quite the same as requiring a good position to arm.
2024-06-25 11:06:10 +10:00
Peter Barker 76950b5994 ArduCopter: remove redundant @Values from parameter documentation 2024-05-21 14:27:05 +10:00
Thomas Watson d5a25d7c89 Copter: unmark FORMAT_VERSION as read-only
Matches other vehicles and allows GCSes to use documented behavior of a
zero write to FORMAT_VERSION to reset EEPROM contents.
2024-04-10 17:45:37 +10:00
Peter Barker 4569b1ba14 ArduCopter: allow HarmonicNotches to be compiled out of the code 2024-03-19 07:04:13 +11:00
Tatsuya Yamaguchi 251db3f414 Copter: change RTL_ALT_MIN from 200cm to 30cm 2024-03-12 15:47:41 +09:00
Peter Barker cb76ce534b ArduCopter: move AC_Avoidance defines into libraries 2024-03-11 18:07:18 +11:00
Leonard Hall bc6d965bbc Copter: Payload Place: Change PLDP_RNG_MIN to PLDP_RNG_MAX 2024-03-06 15:16:16 +11:00
Peter Barker b913ea292b ArduCopter: move serial_manager parameters up to base class 2024-02-29 12:12:19 +11:00
Peter Barker 198f26f348 ArduCopter: remove unused old_top_element param from convert_class 2024-02-27 10:37:45 +11:00
Peter Barker 1e2fdb0ca1 ArduCopter: convert EFI cvonversion to g2_conversion entry 2024-02-27 10:37:45 +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
Andy Piper 9cc194bc8a Copter: cleanup EKF failsafe units and division 2024-02-14 19:23:24 +09:00
Peter Barker 00356e0eb4 ArduCopter: move parameter storage formatting up to AP_Vehicle 2024-02-13 14:23:35 +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 78e3719835 Copter: move scripting up to AP_Vehicle 2024-02-07 18:24:12 +11:00
Peter Barker 700f850b58 ArduCopter: add comment for lost AP_Stats object params 2024-02-07 18:24:12 +11: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
JanMaciuk 511659e6ee Copter: Throw mode check altitude within params 2024-01-09 11:29:00 +09:00
Michael du Breuil 18ba0c5d2b Copter: Fix AP_Relay param naming 2023-12-19 10:01:01 +11:00
Iampete1 60816f4351 Copter: use base class AC_AttitudeControl object 2023-12-05 08:08:09 +09:00
Randy Mackay d673cddf26 Copter: SYSID_MYGCS param increment 2023-11-28 07:54:45 +09:00
Pierre Kancir d5584fe703 Copter: fix USER_PARAMS_ENABLED includes 2023-11-22 18:16:32 +11:00
Peter Barker 75f1459fa6 ArduCopter: add and use AP_TEMPCALIBRATION_ENABLED 2023-11-07 07:46:24 +11:00
Iampete1 0de7544650 Copter: SURFTRAK_MODE: mark as reboot required 2023-07-26 11:31:05 +09:00
Peter Barker cd8a699675 ArduCopter: add option to disable relay and servorelay libraries 2023-06-20 09:36:39 +10:00
Tatsuya Yamaguchi 6b40fd11d6 Copter: Add GCS Failsafe Brake option 2023-05-20 17:28:54 +10:00
Michael du Breuil 04b16d1a79 Copter: Support checking max rpm in the takeoff check 2023-05-02 10:23:55 +10:00
Peter Barker 3eae095966 ArduCopter: use AP_BEACON_ENABLED instead of BEACON_ENABLED 2023-04-12 09:24:39 +10:00
Peter Barker caa77ccba8 Copter: remove very old parameter conversion information 2023-04-04 10:40:56 +10:00
Peter Barker b24d74b35d Copter: remove stale conversion functions
past this PR upgrade from Copter-3.3 will not be seamless
2023-04-04 10:40:56 +10:00
tzarjakob 97b7e8d1d0 ArduCopter: configuration of Precision Landing for custom build server 2023-03-27 09:04:07 +11:00
Leonard Hall 6d5bc17c8e Copter: Add TKOFF_TH_MAX 2023-03-21 19:51:03 +09:00
bugobliterator 3012450b4a ArduCopter: change INS_ to INS 2023-03-21 10:04:16 +11:00
Leonard Hall 5a178984c4 Copter: Add Radio Failsafe Brake option 2023-03-09 09:25:43 +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
Randy Mackay e30a492137 Copter: integrate camera frontend/backend split 2023-03-01 18:18:51 +11:00
Peter Barker bba5b34c1e Copter: remove FS_OPTIONS parameter conversion
This code is in 4.0.7 but not 3.6.11 - i.e. after this someone upgrading from 3.6 to master (and presumably 4.4) won't get this conversion done.

This conversion is flawed in that someone configuring a default for a parameter in a configuration file will have that value over-ridden by this code.
2023-01-12 20:33:43 +11:00
Iampete1 13818eac99 ArduCopter: use shared param info defines 2023-01-11 18:41:34 +11:00