Commit Graph

37617 Commits

Author SHA1 Message Date
Andy Piper 90fc426fd5 AP_HAL_ChibiOS: ensure RunCam backend gets included in minimal 2024-12-13 11:07:09 +00:00
Andy Piper 7a08f2bf3d AP_Param: add group idx calculator 2024-12-13 11:07:09 +00:00
Andy Piper ee56d90f95 AP_Arming: HAL_RUNCAM_ENABLED -> AP_CAMERA_RUNCAM_ENABLED 2024-12-13 11:07:09 +00:00
Andy Piper 9308a6ef69 RC_Channel: HAL_RUNCAM_ENABLED -> AP_CAMERA_RUNCAM_ENABLED 2024-12-13 11:07:09 +00:00
Andy Piper be49a06f04 AP_Vehicle: remove runcam singleton 2024-12-13 11:07:09 +00:00
Peter Barker 72f56ee8fc AP_HAL_ChibiOS: print linefeed after panic message
this makes the output much nicer and avoids including the linefeed in the caller
2024-12-13 19:37:54 +11:00
Peter Barker dc6c799dad AP_HAL_ChibiOS: factor panic code to remove duplication
the code inside and above the loop are the same, it's just the delay which changes
2024-12-13 19:37:54 +11:00
Rhys Mainwaring d1cbf30286 AP_HAL_ESP32: add targets to measure static memory sizes
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-12-12 23:16:48 -06:00
Rhys Mainwaring eecac5eead AP_HAL_ESP32: reduce sdcard mount config max_files
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-12-12 22:54:18 -06:00
Eric Katzfey 3501bb7fc3 AP_RCProtocol: Remove extraneous zero initializers to clean up Qurt compiler warnings 2024-12-12 16:41:24 +00:00
Andy Piper a52c375643 AP_ESC_Telem: ensure that EDTv2 only gets logged when telemetry is available 2024-12-11 18:14:34 +00:00
Henry Wurzburg 6e263532c8 RC_Channel:add QuickTune metadat 2024-12-11 14:04:00 +00:00
Andrew Tridgell 076782f6f1 AC_Fence: remember manual disable of fence for min-alt
the automatic min-alt fence should not auto-enable based on altitude
if the fence has been manually disabled. This is needed to allow for a
manual landing by disabling the fence before descending
2024-12-11 18:58:00 +11:00
Andrew Tridgell 75655a787c AC_Fence: removed _auto_enable_mask
the _auto_enable_mask was try to make AUX function overrides disable
the FENCE_AUTOENABLE functionality. This isn't the right bevaviour,
both the aux function and the auto-enable should be edge triggered,
with last function taking effect
2024-12-11 18:58:00 +11:00
Andrew Tridgell e96a5aa547 AC_Fence: removed _curr_alt from class
this is only ever set/checked within a function
2024-12-11 18:58:00 +11:00
Andrew Tridgell 9084b48308 AC_Fence: fixed pre-arm check for polygon fences
for polygon fences we need to check if the vehicle has a position and
is inside the polygon
2024-12-11 18:58:00 +11:00
Andrew Tridgell f6726e66f8 AC_Fence: prevent a fetch R/C switch from disabling FENCE_AUTOENABLE=3
we should only add fence types to the no auto-enable mask if the
enable actually changed that type of fence. This fixes the case where
the user has both FENCE_AUTOENABLE=3 and RCn_OPTION=11. The disable
triggered by the init of the aux function was preventing the fence
from auto-enabling
2024-12-11 18:58:00 +11:00
Andrew Tridgell c2864b5733 AP_CANManager: support CAN frame logging
this supports logging of all bxCAN and CANFD frames, which helps with
debugging tricky CAN support issues and for the development of new CAN
driver lua scripts
2024-12-11 08:43:56 +11:00
Andrew Tridgell 07a5e40aa1 AP_Logger: logging structures from AP_CANManager 2024-12-11 08:43:56 +11:00
Andrew Tridgell f5b0a447d8 AP_HAL: enable up to 3 CAN callbacks 2024-12-11 08:43:56 +11:00
Andrew Tridgell 00202bf016 AP_Airspeed: don't send AIRSPEED_AUTOCAL message when disabled
we were wasting bandwidth sending this all the time

also fixed to support calibration messages for 2nd airspeed sensor
2024-12-11 07:45:55 +11:00
Randy Mackay dd37065bb5 AP_Camera: camera-status-fov attitude in earth frame 2024-12-10 19:57:06 +09:00
Randy Mackay a9f561ac78 AP_Camera: always send camera-fov-status 2024-12-10 19:57:06 +09:00
Randy Mackay 5a1a8d1c10 AP_Mount: add get_attitude_quaternion method 2024-12-10 19:57:06 +09:00
Henry Wurzburg 051c2dcd35 Tools: add Plane autoland applet 2024-12-10 13:18:41 +11:00
Henry Wurzburg 637fea1f2d AP_Scripting: add Plane autoland applet 2024-12-10 13:18:41 +11:00
rishabsingh3003 99f4f13369 SITL: Add simulator for tethered vehicle 2024-12-10 10:48:00 +11:00
Andy Piper af0fe69085 AP_HAL_ChibiOS: don't throw an internal error on mismatched cork/push 2024-12-09 23:46:37 +00:00
Andy Piper 1d6d11283e AP_HAL: protect against invalid values when calculating Jain's estimator 2024-12-10 10:43:17 +11:00
Randy Mackay ec215c3a29 AP_DDS: default IP to 192.168.144.x 2024-12-10 10:37:30 +11:00
Randy Mackay 9d9eaa3150 AP_Networking: default IP to 192.168.144.x 2024-12-10 10:37:30 +11:00
Vincent Poon 13481ce4d8 add bmi270 support to kakuteh7 2024-12-10 10:33:26 +11:00
Rhys Mainwaring 3c561e215f AP_HAL_ESP32: set default cpu frequency to 240MHz
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-12-10 10:32:47 +11:00
Thomas Watson a14fb9ab28 AP_HAL_ESP32: regenerate sdkconfig after sdkconfig.defaults change
Ensures the sdkconfig does not get out of date as updates are made to
the defaults. The sdkconfig can still be manually changed for testing.
2024-12-10 10:32:47 +11:00
Thomas Watson 535f6875a8 AP_HAL_ESP32: move generated sdkconfig to build folder
Ensures it gets cleaned with `./waf clean`. Users will hopefully delete
and not be confused by the old one as it will now show up as an
untracked file.
2024-12-10 10:32:47 +11:00
YI-BOYANG 122eb21b45 AP_HAL_ChibiOS: add GEPRC_TAKER_H743 2024-12-10 10:30:54 +11:00
Andrew Tridgell 7759bc7662 hwdef: enable IMU in HolybroG4_GPS
IMU rate zero by default
2024-12-10 09:29:37 +11:00
Andrew Tridgell 02ea371eae hwdef: added baro in HolybroG4_GPS
new units have a ICP201XX baro

disable baro by default to avoid issues with airflow and GPS modules
installed on the outside of the aircraft
2024-12-10 09:29:37 +11:00
Andrew Tridgell 4d31a7320a AP_InertialSensor: stop sensors converging if motors arm
if the user arms within 30s of startup then stop the re-init of the
sensors. This can give less accurate frequency as the sample rate may
not have settled yet, but it is better than doing init of the filters
while the vehicle may be flying

also fix a 32 bit millis wrap
2024-12-09 07:40:48 +11:00
Andrew Tridgell 8e1acb10fd Filter: enable 4 filters on low-flash boards 2024-12-09 07:40:06 +11:00
Iampete1 e4de4c9b41 AP_Scripting: Examples: message_interval: give checker a hint about types 2024-12-08 08:09:06 +09:00
shen 9d21b3396e hwdef: Add AEROFOX H7 2024-12-07 18:10:09 +11:00
Andy Piper ad539ffa03 AP_RCTelemetry: add missing CRSF scheduler table entry 2024-12-05 10:03:27 -06:00
Randy Mackay 1308efb9a4 AP_Scripting: promote video-stream-information to applet 2024-12-05 16:46:48 +09:00
Randy Mackay 3325bdd7df AP_Scripting: set-video-stream-info encoding binding and docs 2024-12-05 16:46:48 +09:00
Randy Mackay 6f6613fefd AP_Camera: set-stream-information loses send-text 2024-12-05 16:46:48 +09:00
Thomas Watson d7b26a2205 AC_AutoTune: fix tracking of maximum angular acceleration
Issue introduced in https://github.com/ArduPilot/ardupilot/pull/27370
and partially fixed in https://github.com/ArduPilot/ardupilot/pull/27762,
though evidently not properly tested.

Failing to track the maximum can result in dangerously low values being
calculated for `ATC_ACCEL_[RPY]_MAX` and the vehicle becoming unflyable.

Make the variable a reference so that the maximum value is preserved
between function calls.
2024-12-05 09:18:56 +09:00
Andy Piper 88f6125a94 AP_InertialSensor: belt and braces checks 2024-12-04 07:45:05 +11:00
Andy Piper 277386e6e2 AP_HAL_ChibiOS: add cork()/push() check 2024-12-04 07:45:05 +11:00
Andy Piper 4b0fa15278 AP_InertialSensor: address review comments 2024-12-04 07:45:05 +11:00
Andy Piper 8fc4a6a6e9 AP_HAL_ChibiOS: add comments to force_push on rcout 2024-12-04 07:45:05 +11:00
Andy Piper 398a70ec4b AP_InertialSensor: avoid multiple allocations of rate loop buffer
add nullptr checks and comments to FastRateBuffer
2024-12-04 07:45:05 +11:00
Andy Piper 6db09c9fdd AP_InertialSensor: keep a queue of gyro samples for use by the rate thread
decimate the gyro window locally
configure rate loop buffer based on AP_INERTIALSENSOR_FAST_SAMPLE_WINDOW_ENABLED
allow backends to be updated from rate thread
output debug error if rate loop buffer overruns
add support for updating filter parameters independently of propagating samples
add rate loop config abstraction that allows code to be elided on non-copter builds
must be using harmonic notch to use rate thread
mediate fast rate loop buffer using mutex and binary semaphore
ensure gyro samples are used when the rate loop buffer isn't

Co-Authored-By: Andrew Tridgell <andrew@tridgell.net>
2024-12-04 07:45:05 +11:00
Andy Piper a3de217dee AP_HAL_ChibiOS: ensure dshot rate can be set dynamically
honour the requested dshot rate as near as possible
2024-12-04 07:45:05 +11:00
Andy Piper 3cc4b1991c AP_HAL_ChibiOS: compile MambaH743v4 at -O2 2024-12-04 07:45:05 +11:00
Andy Piper 048a3af785 AP_HAL_ChibiOS: allow forcing of trigger_groups() 2024-12-04 07:45:05 +11:00
Andy Piper 76897e9674 AP_HAL: set HAL_INS_RATE_LOOP in boards
restrict rate loop to H7 and F7
2024-12-04 07:45:05 +11:00
Andy Piper c4ab8e25c4 AP_HAL: allow forcing of trigger_groups() 2024-12-04 07:45:05 +11:00
Andrew Tridgell 6ac35ce9af AP_Vehicle: use update_dynamic_notch() directly in rate loop 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
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
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
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 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 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
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
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
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
Ryan Friedman e7e700d9f2 AP_Terrain: Add const to locals
Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2024-11-26 15:42:04 +11:00
Randy Mackay 99022747f3 AP_NavEKF3: pos vel resets default to user defined source 2024-11-26 11:32:25 +11:00
Iampete1 5e7463fdcd AP_Mission: `DO_RETURN_PATH_START` limit worst case runtime 2024-11-26 11:17:55 +11:00
Iampete1 8a86e7da14 AP_Scripting: examples: Flip Mode: refuse mode entry if not armed and flying 2024-11-26 08:44:31 +09:00
Iampete1 55936895e3 GCS_MAVLink: send `AVAILABLE_MODES_MONITOR` message 2024-11-26 08:44:31 +09:00
Iampete1 d3ffa2e56a AP_Scripting: add bindings for `AP_Vehicle::custom_mode_state` 2024-11-26 08:44:31 +09:00
Iampete1 fddfaaa1fc Vehicle: add and return `custom_mode_state` struct on `register_custom_mode` 2024-11-26 08:44:31 +09:00
Iampete1 00efc1c926 AP_Scripting: generator: allow fields on ap_objects 2024-11-26 08:44:31 +09:00
Iampete1 da33532dbb AP_Scripting: examples: add Flip example script duplicating the behavior of flip mode. 2024-11-26 08:44:31 +09:00
Iampete1 8bf3f5e347 AP_Vehicle: add `register_custom_mode` 2024-11-26 08:44:31 +09:00