Commit Graph

65772 Commits

Author SHA1 Message Date
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 b5ba09664e Tools: remove superfluous linefeed from panic strings
panic adds this within the HAL layer.
2024-12-14 10:06:13 +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 631c4944ff scripts: correct runcam build option description 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 00c9d013dd scripts: 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
Iampete1 a9ecb4428b Tools: autotest: defualt_params: quadplane: fix yaw rate tune typo. 2024-12-12 21:52:02 +00:00
Eric Katzfey 3501bb7fc3 AP_RCProtocol: Remove extraneous zero initializers to clean up Qurt compiler warnings 2024-12-12 16:41:24 +00:00
Randy Mackay b5c108c223 Plane: 4.6.0-beta2 release notes 2024-12-12 15:15:44 +11:00
Randy Mackay 2df8559298 Copter: 4.6.0-beta2 release notes 2024-12-12 15:15:41 +11:00
Randy Mackay 69718ae3ea Rover: 4.6.0-beta2 release notes 2024-12-12 15:15:39 +11:00
Randy Mackay 3932e2a7f0 Tracker: 4.6.0-beta2 release notes 2024-12-12 15:15:35 +11: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 6173356b13 autotest: fixed race condition in Copter.MinAltFenceAvoid 2024-12-11 18:58:00 +11:00
Andrew Tridgell c9e9b13404 autotest: fixed race in MinAltFenceAvoid copter test 2024-12-11 18:58:00 +11:00
Andrew Tridgell 9dc6e1cbea autotest: update plane switch fence test
the FENCE_AUTOENABLE option should be honoured even with a fence
switch in the disable position
2024-12-11 18:58:00 +11: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 4c40d66d7d autotest: fixed test suite for FENCE_AUTOENABLE=2 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 42ad2a7911 autotest: added non-compass takeoff test 2024-12-11 08:44:15 +11:00