Commit Graph

64190 Commits

Author SHA1 Message Date
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
BLash ed6ee51783 AP_ExternalAHRS_VectorNav: Minor code clarity improvements
Add clarity to send_command_blocking by improving comment and directly returning instead of breaking
2024-07-17 17:49:18 +10:00
BLash 1288810c70 AP_ExternalAHRS_VectorNav: Handle VNERR responses
Print received VNERR response to console and continually retry sending the configuration message, instead of panicing
2024-07-17 17:49:18 +10:00
BLash 024d50ed09 AP_ExternalAHRS: VectorNav: Disable ASCII messages on both ports, rather than just active port
This change prevents a commonly seen baudrate overflow error on the unused port.
Also pause asynchronous communications during initial configuration.
2024-07-17 17:49:18 +10:00
BLash d5ff3ed35a AP_ExternalAHRS: VectorNav: Add response validation to all sent commands
Expands wait_register_response (and renames to send_command_blocking)
to accept any arbitrary command, and uses the new method for all sent
commands
2024-07-17 17:49:18 +10:00
Peter Barker d4adb1923a hwdef: stop hwdefs defining HAL_GPIO_LED_ON to 0 2024-07-17 17:42:01 +10:00
Peter Barker 9a1a99fd61 AP_HAL_Boards: stop users specifying HAL_GPIO_LED_ON as the default value 2024-07-17 17:42:01 +10:00
bugobliterator 2ee760e114 bootloaders: update Cube and Here bootloaders 2024-07-17 17:31:15 +10:00
bugobliterator 39c5322133 AP_Bootloader: use malloc_dma to allocate dma safe memory for ecc check 2024-07-17 17:31:15 +10:00
bugobliterator d466618b11 AP_HAL_ChibiOS: add flash ecc corrupt method 2024-07-17 17:31:15 +10:00