Commit Graph

37597 Commits

Author SHA1 Message Date
Thomas Watson
903d2e6bbd AP_HAL_ESP32: RCOutput: add support for brushed PWM mode
Also adds some infrastructure for changing PWM group mode, though this
is likely the complete set that can be supported with the ESP32 PWM
peripheral.
2024-12-14 18:45:29 -06:00
Thomas Watson
b30e873c96 AP_HAL_ESP32: RCOutput: rework to properly support output groups
Each of the six available timers now handles two consecutive PWM output
channels. This also implements support for changing the group PWM
frequency in a similar manner to the ChibiOS HAL.
2024-12-14 18:43:55 -06:00
Thomas Watson
da145e0909 AP_HAL_ESP32: RCOutput: appropriately assert PWM array size
Avoid over-running the pending PWM and safe value PWM arrays in case
future chip revisions come out with more channels.
2024-12-14 18:42:56 -06:00
Thomas Watson
9a7da08f4e AP_HAL_ESP32: RCOutput: fix channel enable/disable
Enabling/disabling the timer would apply the setting to whole groups of
channels. Fix to poke the comparator so that the setting only applies to
the particular channel.

Conveniently, though not necessarily intentionally, this avoids
truncating the output pulse and causing unexpected reactions from
servos. This also preserves the old behavior.
2024-12-14 18:41:29 -06:00
Rhys Mainwaring
70fe304c7e SITL: add ENABLED defines for simulated I2C devices
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-12-15 09:49:34 +11:00
Simon Hancock
17f18f7fc5 AP_Filesystem: Add details of withdefaults query param to README 2024-12-15 08:43:42 +11:00
Eric Katzfey
ede51888b0 AP_TECS: Removed an unused variable to get rid of a compiler warning 2024-12-14 15:42:46 +11:00
Thomas Watson
2f5be28378 AP_BattMonitor: INA3221: reallocate parameter indices
Hasn't been released yet so let's not add more conflicts.
2024-12-14 15:42:31 +11:00
Thomas Watson
49a3a9d220 AP_BattMonitor: add missing subgroup links to correct metadata gen 2024-12-14 15:42:31 +11:00
Thomas Watson
fb9119fac8 AP_BattMonitor: create table of used backend paramater indices
Hopefully makes it less likely for conflicts to happen and makes it
easier to find free indices.
2024-12-14 15:42:31 +11:00
Iampete1
634e106af4 RC_Channel: add another 8 scripting aux functions 2024-12-14 15:41:57 +11:00
Andrew Tridgell
322b7520de AP_CANManager: fixed critical race in log_text()
the AP_CANManager::log_text() gets called from debug logging in
AP_DroneCAN. It is a method on a common AP_CANManager object which is
shared by multiple AP_DroneCAN threads.

if two threads call the debug log messages at the same time then we
can end up with _log_pos greater than LOG_BUFFER_SIZE (1024) and
overwrite past the end of the buffer

in the crash_dump we have for this case the next piece of memory was
hal.can[0], and the overwrite of the buffer had corrupted the
MessageRam_ structurre in the ChibiOS CAN interface code. That led to
a hardfault on receive of a CAN message

Note that this issue only happens if CAN_LOGLEVEL is set to greater
than zero, and the default is zero. So users can avoid the bug by
checking they have not changed CAN_LOGLEVEL.

Also, this is likely an issue that only happens on startup, as once
the two AP_DroneCAN threads are fully running they have the same
thread priority so can't pre-empt each other. During startup some
messages are sent from the main thread which has a different priority
to the AP_DroneCAN threads, and can thus trigger this issue
2024-12-14 15:41:38 +11:00
Peter Barker
eedb8ae617 hwdef: remove 'HAL_WATCHDOG_ENABLED_DEFAULT true' from periphs
this is the default for peripherals
2024-12-14 10:36:06 +11:00
Peter Barker
9835fe80d6 AP_TECS: correct comment explaining roll-induced-drag scaling
Co-authored-by: George Zogopoulos <tailwhipx4@gmail.com>
2024-12-14 10:11:09 +11:00
Peter Barker
1ab0dcd45d AP_TECS: remove unneccessary sqrtf in Phi calculations
we take the square of this in the only use of it
2024-12-14 10:11:09 +11:00
Peter Barker
fea17e6f59 SITL: remove superfluous linefeed from panic strings
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
6fb3e27b8d AP_RCProtocol: remove superfluous linefeed from panic strings
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
d540a31f2e AP_Radio: remove superfluous linefeed from panic strings
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
70e9a90ac5 AP_Param: remove superfluous linefeed from panic strings
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
074798fb88 AP_Logger: remove superfluous linefeed from panic strings
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
7fe183ba0f AP_InternalError: remove superfluous linefeed from panic strings
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
5becd59265 AP_InertialSensor: remove superfluous linefeed from panic strings
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
57ac1e5911 AP_HAL_SITL: remove superfluous linefeed from panic strings
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
dc2a5e02b6 AP_HAL_Linux: remove superfluous linefeed from panic strings
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
e6796c1e96 AP_HAL_ChibiOS: remove superfluous linefeed from panic strings
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
14b29cf7de AP_FlashStorage: remove superfluous linefeed from panic strings
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
f59efb8a19 AP_DDS: remove superfluous linefeed from panic strings
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
d68b95e60e AP_AHRS: remove superfluous linefeed from panic strings
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Andy Piper
684d95a826 AP_Camera: remove lf from panic
correct camera info message and defend against -1
2024-12-13 11:07:09 +00:00
Andy Piper
399f9f6f98 AP_Camera: RunCam camera backend
RunCam parameter conversion
add RunCam camera settings and control
2024-12-13 11:07:09 +00:00
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