Commit Graph

205 Commits

Author SHA1 Message Date
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
Andy Piper 505d05d5f8 Copter: log ANG attitude message 2024-09-17 10:12:35 +10:00
Andy Piper ff72e163d9 Copter: Write_Rate() moved to AC_AttitudeControl 2024-09-10 16:33:04 +01:00
Andy Piper d5b939fe76 Copter: log attitude target in degrees 2024-09-10 10:54:55 +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
Peter Barker f64fcb78d3 ArduCopter: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker 4e97561d5b ArduCopter: move logger object up to AP_Vehicle 2024-02-13 10:54:29 +11:00
Peter Barker 7377b3f8f2 ArduCopter: allow compilation with HAL_LOGGING_ENABLED false 2024-01-17 18:25:55 +11:00
Henry Wurzburg d3aebd72d8 Copter: logging disentangle and correct bugs and rename bitmasks
fix
2022-08-16 20:16:24 -04:00
Peter Barker b0c8fda8d4 ArduCopter: move logging of compass ERR flags into AP_Compass 2022-05-10 19:46:40 +10:00
Peter Barker 6830092a7d ArduCopter: move error logging of sensor health into AP_Baro 2022-05-03 17:38:09 +10:00
Andy Piper 01766eee01 Copter: use new Task infrastructure for the fast loop
add helper for running rate controller
add fast_loop documentation.
2022-05-03 08:20:13 +09:00
murata 08a1ad3c39 Copter: Change from division to multiplication 2022-03-16 18:41:52 +11:00
Shiv Tyagi c1dafae84a Copter: separate logging for position and attitude targets in guided mode
We now log position and attitude targets in guided mode separately. Earlier we were using same messages for both which was causing some confusion in field names
2022-01-26 21:36:48 +09:00
Peter Barker 35506d0681 ArduCopter: move logging of SIMSTATE, AHRS2 and POS into AP_AHRS library 2022-01-25 10:59:17 +11:00
Iampete1 b6806ada27 Copter: move motbatt logging to motors 2022-01-18 10:18:10 +11:00
Josh Henderson 3107c42fca Copter: INAV rename for neu & cm/cms 2021-11-30 10:08:07 +11:00
Peter Barker 14e5c99b0c ArduCopter: log GPS primary change event in GPS library 2021-08-06 15:30:18 +10:00
Andrew Tridgell e1094bc845 Copter: mark log messages as streaming 2021-08-03 10:23:36 +10:00
Peter Barker e74a8e28af ArduCopter: rename for AHRS restructuring 2021-07-21 21:01:39 +10:00
Peter Barker 3684741517 ArduCopter: remove AC_TERRAIN compilation option
Use AP_TERRAIN_AVAILABLE instead
2021-07-12 17:34:44 +10:00
Randy Mackay ba1951a372 Copter: guided accepts terrain alt position targets 2021-07-10 20:25:05 +09:00
Leonard Hall 635d13a106 Copter: support for acceleration-based AttitudeControl 2021-07-10 20:25:05 +09:00
Peter Barker c2c013964d ArduCopter: tidy frame description strings
Before: AP: Frame: TRI/
After: AP: Frame: TRI
2021-06-21 16:30:37 +10:00
chobitsfan 14c32f556c Copter: fix build problem when log disabled 2021-06-09 09:34:13 +10:00
Leonard Hall 4bae8f03a4 Copter: Use PosControl fixes 2021-05-24 20:13:37 +10:00
Peter Barker 5df8dd8c50 Copter: move guided submode enumeration into ModeGuided 2021-04-14 16:12:57 +09:00
Peter Barker 65b1868863 Copter: move precision landing logging up into AC_PrecLand 2021-04-13 10:28:39 +10:00
Leonard Hall d981de1ff4 Copter: position control PID logging 2021-04-03 12:07:59 +09:00
Peter Barker 45d484c0ba ArduCopter: remove Log_Write_Performance which is not called anywhere 2021-03-26 16:35:08 +11:00
Tatsuya Yamaguchi 0cce5699b2 Copter: change from control_mode to flightmode 2021-03-23 22:48:20 +11:00
Mark Whitehorn f405454aba Copter: add nullptr checks for get_frame_string
fix rebase errors
2021-02-09 12:43:53 +11:00
Mark Whitehorn cb687a6fff Copter: move get_frame_string to Motors class 2021-02-09 12:43:53 +11:00
Josh Henderson 9daa3bbdaa ArudCopter: privatize AHRS logging 2021-01-12 10:13:22 +11:00
Dr.-Ing. Amilcar do Carmo Lucas 5fad6ddddb Copter: fix typos in PL dataflash logs field description text 2020-08-04 08:14:29 +09:00
Dr.-Ing. Amilcar do Carmo Lucas be963bbdf9 Copter: fix units and multipliers in PL dataflash logs message 2020-08-04 08:14:29 +09:00
Peter Barker ac6cf1132c Copter: add documentation for DU16 message 2020-07-24 09:37:28 +09:00
Randy Mackay dfbb357aaf Copter: minor formatting fix 2020-06-24 21:26:30 +09:00
Randy Mackay 0f6e2b6960 Copter: fix GUID message scaling for pos and velocity 2020-06-24 21:26:30 +09:00
Rishabh 7c4b195488 Copter:Logger documentation TimeUS fix 2020-04-07 18:57:01 +10:00
Peter Barker 2670192c41 Copter: add D16, D32, DFLT and DU32 LogMessage documentation 2020-04-07 10:41:22 +10:00
Rishabh 62ec6540ec Copter: Added logger documentation 2020-04-07 09:09:45 +10:00
Peter Barker c9f810e924 Copter: add missing ABst to CTUN logmessage documentation 2020-03-22 18:35:14 +11:00
Henry Wurzburg 408b2b1e8d ArduCopter: fix typos in logger message meta-data 2020-03-22 10:04:53 +11:00
Peter Barker 1fbace608d Copter: add CTUN log information 2020-03-21 09:34:43 +11:00
Andy Piper 4c1816a983 Copter: port betaflight in-flight fft analysis to arducopter and expose as a log message
add harmonic notch tracking mode
call AP_GyroFFT::update_freq_hover() from update_throttle_hover()
move gyrofft configuration and control to AP_Vehicle
move fft logging to fft library
2020-02-22 11:15:37 +11:00
Patrick José Pereira 7bfcec2fc1 Copter: log_Heli is only used with FRAME_CONFIG as HELI_FRAME
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-02-18 11:14:04 +11:00
Randy Mackay adc1d60ea5 Copter: CTUN logging fix for SAlt
sonar altitude was not being logged in modes that don't use surface tracking including Auto
SAlt scaling was also incorrect
2019-11-12 09:10:21 +08:00
Randy Mackay b16d0740c8 Copter: fix CTUN log msg TAlt scaling 2019-11-12 09:10:21 +08:00