Commit Graph

64049 Commits

Author SHA1 Message Date
Ben Butterworth
0a9a8d9178 Tools: install-prereqs-ubuntu.sh: fix script after setuptools==71.0.0 release
Use newest `packaging` to avoid packaging incompatibility with `setuptools>=71.0`

As https://github.com/pypa/setuptools/issues/4496#issuecomment-2240322375 mentions:
> setuptools>=71.0 does not work with packaging<24.0, but will not upgrade it if packaging is already installed

Also relevant: https://github.com/pypa/setuptools/issues/4496
2024-07-23 13:22:04 +10:00
Thomas Watson
b6adb4c7e7 DroneCAN: update DSDL compiler
Fixes the following issues:

 * Compound array elements subject to tail array optimization could be
decoded incorrectly, causing a decode failure.

 * Invalid array lengths could be sent over the wire if a
longer-than-max array was encoded (though only the max number of
elements was sent).

 * Lengths were not validated when decoding arrays of compound elements
using TAO, causing memory corruption if an invalid length was received.

 * Union tags were not validated, causing undefined behavior if an
invalid tag was received.
2024-07-23 12:08:48 +10:00
James O'Shannessy
ce0ae33c5b AP_HAL_ChibiOS: Capture the case where the persistent parameter is the newer format INSn_ACC_ID
This fixes the handling of the newer INSn_* parameters when loading those stored in persistent memory.
2024-07-23 12:06:18 +10:00
James O'Shannessy
c771440ea4 AP_InertialSensor: Fix persistent storing of IMU Z Scale
Fixes INSn_ACCSCAL_Z not being stored in persistent storage when bootloader is flashed.
2024-07-23 11:59:49 +10:00
xiaozhou
e2cb4ba232 AP_Mount: Topotek image tracking fix
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2024-07-23 10:51:09 +10:00
xiaozhou
69e4005bb6 AP_Mount: Topotek retrieves model name
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2024-07-23 10:51:09 +10:00
xiaozhou
858aff5f4f AP_Mount: Topotek handles new version format
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2024-07-23 10:51:09 +10:00
muramura
7731fc09e2 AP_HAL_SITL: If HAL_CAN_WITH_SOCKETCAN is undefined, treat it as NONE 2024-07-23 10:47:16 +10:00
Michael du Breuil
edaddc0431 AP_TECS: Use aircraft stall speed
When stall prevention is enabled we were scaling from the aircraft's
minimum flight speed. However this is normally already picked as being
above the stall speed, and for a variety of reasons we may want to pin
the aircraft at a higher minimum speed. But if the aircraft was
commanded to fly to close to that minimum speed as soon as it banked for
a pattern it would command a increase in speed to keep it away from
stalling. However if your minimum speed is far from stalling this
increase was incorrect. To make it worse what this actually results in
happening is an aircraft diving for more speed (over 10 m/s on some
aircraft) as well as descending to gain that speed resulting in over 200
foot deviations in altitude control.
2024-07-23 10:37:24 +10:00
Michael du Breuil
80277e6da0 ArduPlane: Add a stall speed parameter 2024-07-23 10:37:24 +10:00
Michael du Breuil
5005809e74 AP_Vehicle: add stall speed parameter for plane 2024-07-23 10:37:24 +10:00
Thomas Watson
b64ed6ca56 AP_Scripting: dynamically load some binding objects
Only create the binding object (singleton metatable/userdata or C
function reference) once the user first references a particular
singleton or userdata creation function. Once created, the object is
stored into the script's environment so it doesn't get recreated on the
next reference and there isn't any further overhead. The userdatas are
no longer shared between scripts which imposes a slight memory penalty
for multiple scripts using the same singleton but this avoids an
additional lookup time cost.

Userdata and ap_objects aren't eligible for this optimization as the C++
code might want a particular metatable at any time.

Saves ~9.3K Lua heap.
2024-07-23 10:34:52 +10:00
Thomas Watson
059af2117d AP_Scripting: place bindings into global table
The global table is then used as the __index metamethod of each state's
environment table. Avoids the overhead of loading binding objects into
each state. The binding objects are immutable from Lua so sandboxing is
not violated.

Does have the slight downside that a script can no longer know all the
binding names by enumerating _ENV.

Saves ~700B of memory per loaded script.
2024-07-23 10:34:52 +10:00
Thomas Watson
9cbec043d0 AP_Scripting: remove __call metamethod from singleton metatables
The __call metamethod was set to the metatable itself. With __call not
present, Lua will try to call the metatable (and fail), which is the
same behavior as with the __call metamethod set to the metatable.

Saves ~2K Lua heap.
2024-07-23 10:34:52 +10:00
Thomas Watson
8e303675fe AP_Scripting: don't put userdata and ap_objects into globals
They are never accessed from globals. Only their metatables are
accessed, using luaL_getmetatable.

Saves ~2.9K of Lua heap.
2024-07-23 10:34:52 +10:00
Thomas Watson
50eac0ef31 AP_Scripting: keep enum definitions in flash
Saves ~100B of statically allocated RAM.
2024-07-23 10:34:52 +10:00
chiara-septentrio
fc8147ead0 AP_GPS:Septentrio constellation choice 2024-07-23 10:32:32 +10:00
Willian Galvani
7b5c1f16c1 tools: firmware_version_decoder.py: fix detection for BETA+n firmware 2024-07-22 14:57:47 -03:00
Peter Barker
56773f09b4 AP_Scripting: docs for get_resistance 2024-07-22 09:09:26 +10:00
Peter Barker
6514a3522b AP_Scripting: add battery-resistance-checking example 2024-07-22 09:09:26 +10:00
Peter Barker
e94ebe4d1a AP_Scripting: add battery resistance to bindings 2024-07-22 09:09:26 +10:00
Peter Barker
57d6815124 autotest: add Mount test for relative yaw 2024-07-21 19:52:10 +10:00
Peter Barker
ba135b9008 SITL: split MAVLink and physical gimbal simulations 2024-07-21 17:01:47 +10:00
Peter Barker
ed3aeb39fd AP_HAL_SITL: split MAVLink and physical gimbal simulations 2024-07-21 17:01:47 +10:00
Peter Barker
fc28e2d7b8 SITL: adjust for renaming of Gimbal to SoloGimbal 2024-07-21 14:22:05 +10:00
Peter Barker
9b3809c89f AP_HAL_SITL: adjust for renaming of Gimbal to SoloGimbal 2024-07-21 14:22:05 +10:00
Peter Barker
1ce6aa7e38 AP_HAL: adjust for renaming of Gimbal to SoloGimbal 2024-07-21 14:22:05 +10:00
Peter Barker
ae4254bba8 SITL: rename SIM_Gimbal files to SIM_SoloGimbal 2024-07-21 14:22:05 +10:00
Willian Galvani
aca9940534 AP_Scripting: add Readme.md for generating message definitions 2024-07-20 20:45:41 +01:00
Peter Barker
9c1fe4e1c9 SIM_VectorNav: stop using nmea_printf on buffer data
can't use nmea_printf here as the buffer data won't be null-terminated
2024-07-20 22:44:19 +10:00
Peter Barker
dcf342d7e3 SITL: add instructions on testing simulated mavlink gimbal 2024-07-20 22:44:10 +10:00
Peter Barker
2584cfd786 SITL: use distinct source system for gimbal
gimbal was sending mavlink into ArduPilot with the target system's own sysid/compid tuple.  ArduPilot was simply discarding these as its own messages being looped back to it
2024-07-20 22:44:10 +10:00
Peter Barker
16a9e53bdb AP_Mount: tidy Solo defines 2024-07-20 22:44:10 +10:00
Peter Barker
70729df4c0 AP_HAL: enable Solo Gimbal in SITL 2024-07-20 22:44:10 +10:00
Peter Barker
aab1ae4018 autotest: test Solo mount 2024-07-20 22:44:10 +10:00
rushyam
218724a3fe Tools: ros2: correct ros_ws to ros2_ws
ros_ws -> ros2_ws
2024-07-20 20:26:07 +10:00
Rhys Mainwaring
5919ef69cb AP_DDS: add param DDS_DOMAIN_ID
- Require reboot.
- Set DDS_DOMAIN_ID range: 0 to 232..

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-07-20 19:13:53 +10:00
Stephen Dade
8674bb84a6 Tools: Add skid steering motorboat 2024-07-20 19:10:09 +10:00
Stephen Dade
887a890c4a SITL: Add skid steering motorboat 2024-07-20 19:10:09 +10:00
Peter Barker
6eeaa10b7e Tools: add test for final-yaw behaviour in Auto mode RTL 2024-07-20 19:03:48 +10:00
Peter Barker
9c10e64168 Tools: add documentation for SIM_ACC?_RND parameters 2024-07-20 13:43:44 +10:00
Peter Barker
1626611e0b SITL: add documentation for SIM_ACC?_RND parameters 2024-07-20 13:43:44 +10:00
Peter Barker
2f0f7aa669 autotest: tidy Copter flip test 2024-07-20 09:57:55 +10:00
Eric Katzfey
a4bfab8cdc Tools: Added default parameter file for ModalAI D0013 drone 2024-07-20 07:27:53 +10:00
bugobliterator
5a54d9a2ec AP_Networking: allow reconnection to TCP server or client 2024-07-17 18:20:14 +10:00
Peter Barker
5f9abc0406 Copter: add and use private ModeAuto::option_is_enabled method 2024-07-17 17:55:42 +10:00
Peter Barker
7e722eeb94 hwdef: prune out redundant lines
these have been merged with bad lines in them
2024-07-17 17:49:57 +10:00
BLash
3f00280628 AP_ExternalAHRS_VectorNav: Move allocation to local scope
Move receive_buf to method scope allocation rather than class scope
2024-07-17 17:49:18 +10:00
BLash
b3961ec2eb AP_ExternalAHRS_VectorNav: Update VectorNav sim to respond to received commands
Aside from the RRG,1 call, the simulation should reply with exactly what was received as a receipt confirmation to allow the driver to proceed past init
2024-07-17 17:49:18 +10:00
BLash
34031cc6b6 AP_ExternalAHRS_VectorNav: Bugfixes and review comment address
"VNERR" does not match beginning of message_to_send, so have to prevent it from returning due to the string compare. Also must prevent exiting the decode before the sentence has completed so that we can go on to print the error code term.
Fix bug preventing disabling of ASCII measurements
Instead of snprintf the command to message_to_send then executing run_command, allow run_command to accept a string and format spec
Add check to ensure message_to_send is greater than length 6 before attempting to read past 6
2024-07-17 17:49:18 +10:00