Commit Graph

65812 Commits

Author SHA1 Message Date
Andy Piper 31dc7a85bf autotest: add rate thread autotest 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
Randy Mackay eaf20db6ea AP_Scripting: ahrs/ekf origin script promoted to an applet 2024-12-03 11:15:00 +11:00
Iampete1 a79fcdbfcd Plane: support DO_RETURN_PATH_START misison item and command 2024-12-03 10:31:02 +11:00
Andrew Tridgell 445c03c69c AP_ServoTelem: added active mask
and fixed typo in logging
2024-12-03 07:38:17 +11:00
Andrew Tridgell bf5555ccd3 AP_DroneCAN: actuator status is measured, not commanded 2024-12-03 07:38:17 +11:00
Andrew Tridgell 13807f24d7 AP_Periph: added simulation of DroneCAN servo status
allows for testing of DroneCAN servo logging in SITL
2024-12-03 07:38:17 +11:00
Iampete1 a47aaef2b4 Tools: scripts: build options and extract features: add `AP_Servo_Telem` 2024-12-03 07:38:17 +11:00
Iampete1 b9dd814935 Tools: ardupilotwaf: add `AP_Servo_Telem` to common vehicle libraries 2024-12-03 07:38:17 +11:00
Iampete1 38c3257151 AP_Vechicle: add `AP_Servo_Telem` and call at 50Hz 2024-12-03 07:38:17 +11:00
Iampete1 e003cc511d add `AP_Servo_Telem` 2024-12-03 07:38:17 +11:00
Iampete1 d0bbc02995 AP_Logger: remove `Write_ServoStatus` and `CSRV` definition 2024-12-03 07:38:17 +11:00
Iampete1 9be1a751da AP_Volz_Protocol: send incomming servo telem data to new `AP_Servo_Telem` lib 2024-12-03 07:38:17 +11:00
Iampete1 71137dac31 AP_PiccoloCAN: send incomming servo telem data to new `AP_Servo_Telem` lib 2024-12-03 07:38:17 +11:00
Iampete1 d5c29735d6 AP_DroneCAN: send incomming servo telem data to new `AP_Servo_Telem` lib 2024-12-03 07:38:17 +11:00
Iampete1 2863dcfb94 AP_Logger: add new unit `t` for torque in N.m 2024-12-03 07:38:17 +11:00
Tom Pittenger 5503ac204e Tools: update WSL2 use in uploader.py 2024-12-02 11:31:35 -08:00
Thomas Watson da4fee5a9a autotest: fix testing and simulated register scaling
* make test actually test something

* fix scaling to match datasheet values
2024-12-02 10:10:01 -06:00
Thomas Watson adfc415cff SITL: fix testing and simulated register scaling
* make test actually test something

* fix scaling to match datasheet values
2024-12-02 10:10:01 -06:00
Thomas Watson 6abbefde12 autotest: allow assertion of mavlink message array elements 2024-12-02 10:10:01 -06:00
Thomas Watson 190c3aa7ab AP_BattMonitor: INA3221: fix up based on real experience
* correctly validate channel parameter and improve other parameter
access

* dynamically enable channels to avoid spending time converting unused
channels

* implement tracking of reading health

* correct reading scaling by using datasheet values

* accumulate measured current to track used mAh and Wh

* make configurable using #defines (and hwdef) for integrators

* correctly separate and lock frontend and backend state. Note that
_state of frontend can only be accessed in `read()` method.
2024-12-02 10:10:01 -06:00
Peter Barker cc4110140c Tools: add support for ina3221 triple-channel current/voltage sensor 2024-12-02 10:10:01 -06:00
Peter Barker 4cfbeb11e3 SITL: add support for ina3221 triple-channel current/voltage sensor 2024-12-02 10:10:01 -06:00
Peter Barker 5bc3b629f4 AP_BattMonitor: add support for ina3221 triple-channel current/voltage sensor 2024-12-02 10:10:01 -06:00
Baris 6efeef9cec Tools: added name to GIT_Success.txt 2024-12-02 13:11:21 +00:00
Andrew Tridgell 53ee7d6e75 AP_InertialSensor: fixed check for changes to notch filters
if the configured freq changes on any type of notch then A and Q
change, so init must be called. This does not affect only Fixed
notches
2024-11-30 17:59:47 +11:00
Jonathan Challinger 564879594e AP_NavEKF3: fix computation of rho 2024-11-29 19:20:05 +11:00
Andrew Tridgell 10209a2a13 AP_Scripting: added UltraMotion servo driver 2024-11-28 09:24:03 +11:00
Andrew Tridgell 1c6ac0990c AP_Scripting: added UltraMotion servo driver
see https://www.ultramotion.com/servo-cylinder/
2024-11-28 09:24:03 +11:00
Andrew Tridgell fb3a50096d AP_Scripting: added get_output_pwm_chan 2024-11-28 09:24:03 +11:00
Andrew Tridgell d6b38f4009 SRV_Channel: added get_output_pwm_chan() for scripting
allows for servo drivers to be written in lua
2024-11-28 09:24:03 +11:00
George Zogopoulos 2f9ff3ef73 Plane: Call new TECS method in case of altitude change 2024-11-27 19:35:03 +11:00
George Zogopoulos 5b8a702b54 AP_TECS: Added method to handle home altitude change 2024-11-27 19:35:03 +11:00
George Zogopoulos 0f9268c6c8 AP_TECS: Delete redundant _hgt_afe setting 2024-11-27 19:35:03 +11:00
George Zogopoulos 646a1a54c2 autotest: Added TECS test for constantly changing home alt 2024-11-27 19:35:03 +11:00
Andrew Tridgell 3a1faf6f54 AP_Quicktune: adjust defaults
change QWIK_ANGLE_MAX to 10. this is a very conservative value, we may
raise it based on user feedback.

Lower the default SMAX to 4 to be a bit more conservative for larger
vehicles
2024-11-27 14:07:38 +11:00
Andrew Tridgell 8edaf88efa hwdef: removed QAUTOTUNE disable
now disabled by default
2024-11-27 14:07:38 +11:00
Andrew Tridgell 5c6be69624 Tools: added QUICKTUNE to build options 2024-11-27 14:07:38 +11:00
Michelle Rossouw cf1a4b6501 autotest: Added Quicktune C++ tests
for quadplane and copter
2024-11-27 14:07:38 +11:00
Andrew Tridgell 7e4a85ba3f autotest: adjust default quadplane tune 2024-11-27 14:07:38 +11:00
Michelle Rossouw 43fdc9ce19 Plane: Added Quicktune
replaces QAUTOTUNE in default build
2024-11-27 14:07:38 +11:00
Michelle Rossouw edcddcb82e AP_Quicktune: Added Quicktune
C++ version of lua script, with some enhancements
2024-11-27 14:07:38 +11:00
Michelle Rossouw 316bfd3263 RC_Channel: Added Quicktune 2024-11-27 14:07:38 +11:00
yaapu 3c19312c56 Ap_Frsky_Telem: fix for apparent wind passthrough telemetry frame 2024-11-27 13:46:37 +11:00
Hayden Donald 83520d611b AP_HAL_ChibiOS: CubeNode ETH add HAL_PERIPH_SHOW_SERIAL_MANAGER_PARAMS 2024-11-27 11:53:25 +11:00
Hayden Donald 2308968737 AP_HAL_ChibiOS: CubeNode-ETH add LEDs
Added the LEDs for CubeNode-ETH to the hwdef
2024-11-27 11:53:25 +11:00
Hayden Donald a29b8a4f5a AP_HAL_ChibiOS: CubeNode-ETH fix incorrect pin for CTS
Fixed an incorrect pin for UART8_CTS (PC11 should be PC12)
2024-11-27 11:53:25 +11:00
Pierre Kancir 5ca1e48040 Tools: build_ci: use /tmp/pip-cache for cache 2024-11-27 09:07:18 +11:00
Pierre Kancir 37c59e224e Tools: autotest: reword WARN to Problem on log link issue to prevent catch by CI 2024-11-27 09:07:18 +11:00
Ryan Friedman a7bbb1439c Tools: Add tabulate dependency
* Used in filter_size_compare_branches_csv

Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2024-11-27 08:51:08 +11:00