Commit Graph

65510 Commits

Author SHA1 Message Date
bugobliterator
f7b57b43a4 AP_HAL_ChibiOS: disable mcast bridging in bootloader 2025-02-17 08:43:30 +09:00
bugobliterator
1e067622d2 AP_Networking: make can multicast an endpoint by default
also add option to enable multicast with bridging to CAN bus in application
and disabled in bootloader
2025-02-17 08:43:30 +09:00
bugobliterator
fcff2e6f57 AP_CANManager: use updated frame callback types
also change to IsForwardedFrame from IsMAVCAN
2025-02-17 08:43:30 +09:00
bugobliterator
ed1dd41b46 AP_HAL: change IsMavCAN to IsForwardedFrame 2025-02-17 08:43:30 +09:00
Randy Mackay
7d13752ec8 AP_SerialManager: add i-BUS Telemetry protocol param desc 2025-02-15 09:35:28 +09:00
Thomas Watson
b832dbaedd AP_Scripting: mavlink: clearer error messages 2025-02-13 19:35:51 +09:00
Thomas Watson
6776074580 AP_Scripting: mavlink: remove redundant Lua buffer usage 2025-02-13 19:35:51 +09:00
Thomas Watson
c0573b8efd AP_Scripting: mavlink: fix RX init locking
If there is an error, the semaphore will never be released. Fix by only
calling functions which could cause errors after it's released.
2025-02-13 19:35:51 +09:00
Thomas Watson
9f0cbd881d AP_Filesystem: ROMFS: fix open race conditions
Lua opens scripts to load them into memory, then the logger opens them
after to stream them into the dataflash log. When loading multiple large
Lua scripts from ROMFS, decompression takes a significant amount of
time. This creates the opportunity for the Lua interpreter and logging
threads to both be inside `AP_Filesystem_ROMFS::open()` decompressing a
file.

If this happens, the function can return the same `fd` for two different
calls as the `fd` is chosen before decompression starts, but only marked
as being used after that finishes. The read pointers then stomp on each
other, so Lua loads garbled scripts (usually resulting in a syntax
error) and the logger dumps garbled data.

Fix the issue by locking before searching for a free record (or marking
a record as free). Apply the same fix to directories as well. This
doesn't protect against using the same `fd`/`dirp` from multiple
threads, but that behavior is to be discouraged anyway and is not the
root cause here.
2025-02-13 19:34:53 +09:00
Randy Mackay
110acc96d3 Plane: version to 4.6.0-beta3 2025-01-27 08:49:31 +09:00
Randy Mackay
5bd4a50203 Plane: 4.6.0-beta3 release notes 2025-01-27 08:49:31 +09:00
Randy Mackay
148b4670f7 Copter: version to 4.6.0-beta3 2025-01-27 08:49:31 +09:00
Randy Mackay
95cb09f3f6 Copter: 4.6.0-beta3 release notes 2025-01-27 08:49:31 +09:00
Randy Mackay
0e2c3c5279 Rover: version to 4.6.0-beta3 2025-01-27 08:49:31 +09:00
Randy Mackay
d91d6f9097 Rover: 4.6.0-beta3 release notes 2025-01-27 08:49:31 +09:00
Randy Mackay
b579fd3e71 Tracker: version to 4.6.0-beta3 2025-01-27 08:49:31 +09:00
Randy Mackay
799a00e79f Tracker: 4.6.0-beta3 release notes 2025-01-27 08:49:31 +09:00
Ryan Friedman
81735de926 Tools: ros2: Clean up copter takeoff
* Finish timeout implementation missing variables
* Remove unused imports

Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2025-01-27 08:49:31 +09:00
snktshrma
cff3f81e0c AP_Vehicle: Added method to takeoff for use by external control 2025-01-27 08:49:31 +09:00
snktshrma
e49c65d38e AP_DDS: Added takeoff DDS service 2025-01-27 08:49:31 +09:00
snktshrma
7945621470 Tools: ros2: Added message and dds test for copter takeoff 2025-01-27 08:49:31 +09:00
snktshrma
f547694c74 ArduCopter: Enabled external control for takeoff
Co-authored-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2025-01-27 08:49:31 +09:00
Tiziano Fiorenzani
4242692c98 AP_DDS: pre-arm check service 2025-01-27 08:49:31 +09:00
Iampete1
6944990024 Tools: autotest: defualt_params: quadplane: fix yaw rate tune typo. 2025-01-27 08:49:31 +09:00
Andy Piper
9329872cb1 AP_Camera: use get_stick_gesture_pos() for RunCam menus 2025-01-27 08:49:31 +09:00
Andy Piper
01a6676e4b AP_OSD: use get_stick_gesture_pos() for OSD menus 2025-01-27 08:49:31 +09:00
Andy Piper
16f0f5ecfd RC_Channel: add get_stick_gesture_pos() for OSD menus 2025-01-27 08:49:31 +09:00
Thomas Watson
9e5c6248cb ardupilotwaf: fix ESP32 memory zero comment
Followup to PR #29005 (d9e5f2d8a7).
2025-01-27 08:49:31 +09:00
Andy Piper
57ecc12329 AP_HAL_ChibiOS: TBS LUCID PRO/Freestyle 2025-01-27 08:49:31 +09:00
Andy Piper
cd09c3df46 AP_Logger: support GD25Q16E flash 2025-01-27 08:49:31 +09:00
Andy Piper
a2babe412c bootloaders: TBS LUCID PRO 2025-01-27 08:49:31 +09:00
Ryan Friedman
d28175be4e AP_L1_Control: Remove incorrect default in param desc
Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2025-01-27 08:49:31 +09:00
Andy Piper
9d8e47e0fc AP_BLHeli: use native motor numbering 2025-01-27 08:49:31 +09:00
Andy Piper
c557ba38e5 AP_BLHeli: normalize ESC index correctly with iomcu 2025-01-27 08:49:31 +09:00
Peter Barker
6f6e4d458a AP_BattMonitor: document BATTn_OPTIONS bit 8 (internal-use-only) 2025-01-27 08:49:31 +09:00
Thomas Watson
036d46eaaf CI: use latest released version of Cygwin install action
Using the master branch exposed us to transient breakage as the action
was developed.
2025-01-27 08:49:31 +09:00
Thomas Watson
125b54e9b9 Tools: fix Cygwin CI build
There are currently issues where the non-.exe-suffixed files can't be
copied into the `artifacts` folder; `cp` claims "File exists".
Previously this worked but the suffix was added by Cygwin so all files
in `artifacts` had a `.exe` suffix anyway.

This is evidently intended, though non-intuitive, behavior:
https://sourceware.org/legacy-ml/cygwin/2009-08/msg00293.html

> On Cygwin, you should avoid having a file "foo" and a file "foo.exe"
> in the same directory at all cost to avoid puzzeling POSIX borderline
> behaviour like this.  What you do is essentially in the "not
> supported" class of problems.

> [...] Cygwin does not check for a file "foo", if the name of the file
> is explicitely given as "foo.exe".

Apparently something similar was addressed in PR #20926; the current
code installs files with both suffixes, but that fix contradicts the
info above and now has broken.

This PR changes the code to only install .exe-suffixed files, as opposed
to only non-.exe-suffixed files, which was the behavior before that PR.
2025-01-27 08:49:31 +09:00
Thomas Watson
db5b344611 Tools: ensure ESP32 malloc is wrapped to zero memory
The relevant linker flag needed to be put in the CMake script.
2025-01-27 08:49:31 +09:00
Thomas Watson
73e5c2b4a8 AP_HAL_ESP32: ensure malloc is wrapped to zero memory
The relevant linker flag needed to be put in the CMake script.
2025-01-27 08:49:31 +09:00
Rhys Mainwaring
f7d5f0f8f1 AP_MultiHeap: initialize only if heap allocation succeeded
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2025-01-27 08:49:31 +09:00
Randy Mackay
df24d3a61d AP_Mount: Topotek pitch rate direction fix 2025-01-27 08:49:31 +09:00
Bill Geyer
dc43fa0a76 AC_AutoTune_Heli: fix rate and accel limiting 2025-01-27 08:49:31 +09:00
Peter Barker
10c1e05f89 AP_Proximity: add sample data from LD06 sensor 2025-01-27 08:49:31 +09:00
Peter Barker
f013f8bc01 autotest: add LD06 to ProximitySensor tests 2025-01-27 08:49:31 +09:00
Peter Barker
02830ab3df SITL: add LD06 simulator 2025-01-27 08:49:31 +09:00
Peter Barker
a077a99783 AP_HAL_SITL: add LD06 simulator 2025-01-27 08:49:31 +09:00
Peter Barker
54a36170e4 AP_Proximity: correct length sanity check
the length field is actually the count of 3-byte data elements
2025-01-27 08:49:31 +09:00
Marco Walther
3639fa6d17 AP_Proximity: LD06: correct data collection
incorrect distances+angles being returned
2025-01-27 08:49:31 +09:00
Thomas Watson
4d28b888a2 ardupilotwaf: properly configure double precision tests
Use new setup function. Unsure if this affects anything.
2025-01-27 08:49:31 +09:00
Thomas Watson
090f323678 ardupilotwaf: properly configure double precision tasks
There might be multiple copies of the flags, so remove all of them. Also
pull the setup into a helper function to avoid duplicating the logic.

On ChibiOS boards, this fixes SITL (which had issues with position
quantization) and affects the SBF GPS driver (which was probably fine
before but does change slightly).
2025-01-27 08:49:31 +09:00