Commit Graph

36649 Commits

Author SHA1 Message Date
Andy Piper 3dbcbe0026 AP_Arming: do not enable minimim altitude fence on arming
call appropriate fence method for auto-enablement
2024-07-24 08:24:06 +10:00
Andy Piper 8287d4f2d0 AC_Avoidance: take into account minimum altitude fence when calculating climb rate 2024-07-24 08:24:06 +10:00
Andy Piper 95b39f64e3 AP_Mission: add comment about new fence API 2024-07-24 08:24:06 +10:00
Andy Piper f73154349b GCS_MAVLink: use bitmask based enablement for fences 2024-07-24 08:24:06 +10:00
Bob Long 230269bed8 HAL_ChibiOS: add adjustable wdg timeout for hwdefs
This allows the watchdog timeout to be adjusted in the hwdef.dat file,
so that critical nodes like ESCs can recover more quickly.
2024-07-23 19:53:38 +10:00
Andrew Tridgell 03bdbea77c hwdef: enable relay support in MatekL431-DShot fw
the PWM expansion boards can also be used for relay control, often
combined with PWM output
2024-07-23 18:42:56 +10:00
Rhys Mainwaring 4354072d34 SITL: SIM_Rover: add simulation for omni3 mecanum rover
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-07-23 13:27:04 +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 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
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 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
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 887a890c4a SITL: Add skid steering motorboat 2024-07-20 19:10:09 +10:00
Peter Barker 1626611e0b SITL: add documentation for SIM_ACC?_RND parameters 2024-07-20 13:43:44 +10:00
bugobliterator 5a54d9a2ec AP_Networking: allow reconnection to TCP server or client 2024-07-17 18:20:14 +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 d466618b11 AP_HAL_ChibiOS: add flash ecc corrupt method 2024-07-17 17:31:15 +10:00
bugobliterator ceea189fa3 AP_HAL_ChibiOS: enable heap allocation if flash space for bootloader is > 128K 2024-07-17 17:31:15 +10:00
Peter Barker fd80d331cb AP_HAL: add simulator for 1-LED boards 2024-07-17 17:18:27 +10:00
Peter Barker 647048f703 SITL: add simulator for 1-LED boards 2024-07-17 17:18:27 +10:00
Peter Barker 7a15b4aae5 AP_Notify: add support for blinking 1 LED for notify 2024-07-17 17:18:27 +10:00
Peter Barker 338e347427 AP_Notify: remove unused BUZZER_ON/OFF defines
replaced by HAL_BUZZER_ON
2024-07-17 11:14:05 +09:00
Oleksiy Protas 5190aee9ae AP_Camera: proper string formatting
Incoming strings are 32 bytes and may not be null-terminated if the full width is used
2024-07-17 10:39:46 +10:00
Thomas Watson 63ab7bec69 AP_HAL_ESP32: use correct unformatted system ID length
Avoids stuffing uninitialized data into the ID.
2024-07-17 09:08:51 +10:00
Thomas Watson a3aa278589 AP_HAL_SITL: improve periph simulation efficiency
Removes busywait for simulation state packet, dramatically reducing CPU
usage. The dominant wait time in AP_Periph is 1024 microseconds as this
is the default value of HAL_PERIPH_LOOP_DELAY_US, so a 1ms wait is
unlikely to be a problem.
2024-07-17 09:06:16 +10:00
Andrew Tridgell 0179dc0a68 GCS_MAVLink: default MAVLink HAGL support off on low flash boards 2024-07-17 08:03:18 +10:00
Andrew Tridgell 42a1717676 AP_Scripting: added MAV_CMD_SET_HAGL example
for external height source for fixed wing landing
2024-07-17 08:03:18 +10:00
Peter Barker 43dbae54a3 AP_HAL: SIMState: include SITL glider header
used if you want to use the Glider model in Sim-on-Hardware
2024-07-16 22:28:57 +10:00
Rhys Mainwaring 4de8e04679 AR_Motors: add frame type Omni3Mecanum
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-07-16 16:28:06 +09:00
Andrew Tridgell e93b3722c9 HAL_QURT: implement safety switch
this ensures no outputs during initialisation
2024-07-16 10:54:03 +10:00
Andrew Tridgell a7363d4c14 HAL_QURT: remove ESC order mapping
this is not consistent between ModalAI vehicles, so best done with
SERVOn_FUNCTION parameters
2024-07-16 10:54:03 +10:00
Thomas Watson 1c54dd9e5d AP_HAL_SITL: allow disabling CAN interfaces
Also corrects an issue where setting an invalid type could result in
undefined behavior.
2024-07-16 10:13:11 +10:00
Thomas Watson ca0cd9a7e8 SITL: allow disabling CAN interfaces
Also corrects an issue where setting an invalid type could result in
undefined behavior.
2024-07-16 10:13:11 +10:00
Peter Barker 501d0d8759 AP_Notify: stop using linux board subtype in Notify LED setup
... instead have the board definitions define things like we do for ChibiOS
2024-07-16 10:11:40 +10:00
Peter Barker 55308e6d79 AP_HAL: stop using linux board subtype in Notify LED setup
... instead have the board definitions define things like we do for ChibiOS
2024-07-16 10:11:40 +10:00
Valentin Berman 4938a6bb42 AP_EFI: DroneCAN: set the last_updated_ms field of efi_state
The last_update_ms variable was never set in the DroneCAN implementation of the Electronic Fuel Injector sensor. This causes the function bool AP_EFI::is_healthy to always return false. Solved by adding one line of code to set the variable to the correct value.
2024-07-14 20:19:31 +10:00
Willian Galvani ef9763fdd7 AP_GPS: hdop and vdop are unitless 2024-07-14 17:23:15 +10:00
Iampete1 b75c62d267 AP_HAL_SITL: AnalogIn: return false for set pin to `ANALOG_INPUT_NONE` 2024-07-14 17:11:47 +10:00
George Zogopoulos fb40a7f19d AP_Logger: Fix logged units 2024-07-14 17:07:11 +10:00
Andrew Tridgell cd8b93e1c5 HAL_QURT: adjustments to support different frames
added docs and service files, and support reboot
2024-07-13 14:38:31 +10:00
Andrew Tridgell f8ce4183b8 AP_Filesystem: support QURT with posix filesystem
some features disabled
2024-07-12 15:56:48 +10:00
Andrew Tridgell 3a6024e8ab AP_Common: support QURT 2024-07-12 15:56:48 +10:00
Andrew Tridgell 4e8f1e6092 AP_HAL: added QURT board type and header 2024-07-12 15:56:48 +10:00
Andrew Tridgell 2fe08b6177 HAL_QURT: revived QURT HAL
based around new SDK for ModalAI Voxl2 vehicles
2024-07-12 15:56:48 +10:00
Peter Barker 75f9c4e4fc AP_HAL: chiibos.h: die nicely if HAL_HAVE_PIXRACER_LED is used 2024-07-11 20:08:13 +10:00
Peter Barker e42c9a588e SITL: add support for simulated GPIO LEDs 2024-07-11 20:08:13 +10:00
Peter Barker bad755f4a5 AP_HAL: add support for simulated GPIO LEDs 2024-07-11 20:08:13 +10:00
Clyde McQueen 630d3fa8a7 AP_NavEKF3: log mag fusion selection to XKFS 2024-07-11 16:16:27 +10:00
Iampete1 a551b4f296 AP_SerialManager: remove Volz port config 2024-07-11 13:07:24 +10:00
Iampete1 8eceff2d7a AP_Volz_Protocol: move output to thread 2024-07-11 13:07:24 +10:00
Iampete1 0c5160f05c AP_Volz_Protocol: add range parameter allowing smaller range for improved PWM resolution 2024-07-11 13:07:24 +10:00
Iampete1 71f3dbf098 AP_Volz_Protocol: use popcount 2024-07-11 13:07:24 +10:00
Iampete1 871e9101ff AP_Volz_Protocol: add CMD union helper 2024-07-11 13:07:24 +10:00
Andrew Tridgell b34d0c9c87 AP_HAL: removed vector based I2C get_device
this is unused and prevents building on QURT
2024-07-11 11:20:47 +10:00
Andrew Tridgell dbba4559ee HAL_Linux: removed unused I2C vector get_device 2024-07-11 11:20:47 +10:00
Andrew Tridgell 192972e502 AP_HAL: avoid vector include in I2C API
this doesn't work on QURT build and is unused
2024-07-11 11:20:47 +10:00
Andrew Tridgell ebc7cc2daf AP_OpticalFlow: cleanup printf warnings 2024-07-11 09:34:29 +10:00
Andrew Tridgell c40099a162 AP_Rangefinder: cleanup printf warnings 2024-07-11 09:34:29 +10:00
Andrew Tridgell 991ea6326d AP_Compass: cleanup warnings in printf calls 2024-07-11 09:34:29 +10:00
Peter Barker f4f79905cc AP_Notify: example: do not instantiate AP_BoardLED unless the board supports it 2024-07-11 09:34:00 +10:00
Peter Barker 71332dd039 AP_GPS: example: do not instantiate AP_BoardLED unless the board supports it 2024-07-11 09:34:00 +10:00
Peter Barker ab43668c45 AP_Notify: adjust hwdef files for define renames 2024-07-11 09:34:00 +10:00
Peter Barker 3b764c5812 AP_HAL: adjust hwdef files for define renames 2024-07-11 09:34:00 +10:00
Peter Barker 956ac243e1 AP_HAL_ChibiOS: adjust hwdef files for define renames 2024-07-11 09:34:00 +10:00
Peter Barker 8370e0b08b AP_Notify: create sanity in GPIO-based LED defines 2024-07-11 09:34:00 +10:00
Andrew Tridgell 393cd3252b AP_HAL_SITL: switched ENABLE_HEAP to an #if 2024-07-11 09:28:17 +10:00
Andrew Tridgell 3980cbbb82 AP_HAL_Linux: switched ENABLE_HEAP to an #if 2024-07-11 09:28:17 +10:00
Andrew Tridgell f235b71f6b AP_HAL: switched ENABLE_HEAP to an #if 2024-07-11 09:28:17 +10:00
Andrew Tridgell 15ef6b1192 AP_HAL_ESP32: switched ENABLE_HEAP to an #if 2024-07-11 09:28:17 +10:00
Andrew Tridgell 64f6abd4d4 AP_HAL_ChibiOS: switched ENABLE_HEAP to an #if 2024-07-11 09:28:17 +10:00
Andrew Tridgell 429294fa1d AP_Baro: avoid i2c errors with ICP101XX
this sensor doesn't like reading at higher than expected rate
2024-07-11 09:27:33 +10:00
Andrew Tridgell a02cd4b432 AP_Baro: fixed link with clang for shared library
avoid unused symbols
2024-07-11 09:27:09 +10:00
Andrew Tridgell 3608a78398 AP_Baro: fixed build with clang 2024-07-11 09:27:09 +10:00
Andrew Tridgell 60f582a6b2 AP_BattMonitor: support I2C INA231 battery monitor 2024-07-11 09:26:17 +10:00
Andrew Tridgell 75ebf96adb AP_Filesystem: allow for filesystem with no dtype 2024-07-11 09:25:05 +10:00
Andrew Tridgell 64ed86a82e GCS_MAVLINK: cope with dirent not having dtype 2024-07-11 09:25:05 +10:00
Andrew Tridgell c2e52af1e2 AP_Filesystem: make fgets() much more efficient
normally fgets is on a buffered FILE handle. For AP_Filesystem we use
an unbuffered file descriptor. This means we were reading one byte at
a time from the file

this uses lseek to make fgets() much more efficient by reading the max
buffer size at a time in the file
2024-07-11 09:24:38 +10:00
Peter Barker b2a7fcda5c AP_GPS: resolve compilation problem with timeval
./../libraries/AP_GPS/AP_GPS_SITL.cpp:37:27: error: aggregate 'timeval first_tv' has incomplete type and cannot be defined
    37 |     static struct timeval first_tv;
       |                           ^~~~~~~~
 compilation terminated due to -Wfatal-errors.

 Waf: Leaving directory `/ardupilot/src/build/sitl'
 Build failed
  -> task in 'objs/AP_GPS' failed (exit status 1):
  {task 135805090486368: cxx AP_GPS_SITL.cpp -> AP_GPS_SITL.cpp.0.o}
2024-07-11 09:22:12 +10:00
Andrew Tridgell 7477c4e205 AP_Scripting: fixed remove call
need to use AP_Filesystem
2024-07-11 07:43:35 +10:00
Andrew Tridgell ffc78722f7 HAL_ESP32: removed run_debug_shell 2024-07-11 07:42:54 +10:00
Andrew Tridgell c4addb7dd0 AP_HAL_SITL: removed run_debug_shell 2024-07-11 07:42:54 +10:00
Andrew Tridgell 2374d6f444 AP_HAL_Linux: removed run_debug_shell 2024-07-11 07:42:54 +10:00
Andrew Tridgell d54b69a5fe AP_HAL: removed run_debug_shell 2024-07-11 07:42:54 +10:00
Andrew Tridgell 04bd5aa010 AP_HAL_Empty: removed run_debug_shell 2024-07-11 07:42:54 +10:00
Andrew Tridgell e86e012896 AP_HAL_ChibiOS: removed run_debug_shell 2024-07-11 07:42:54 +10:00
Andrew Tridgell 4d5095cea1 AP_DDS: fixed cell voltages
the std:copy was copying from uint16_t to float
2024-07-11 07:25:33 +10:00
Peter Barker 7f0f851243 hwdef: remove bogus EK2_RPRIMARY from Cube defaults files
looks likely, but hasn't ever existed
2024-07-10 22:35:51 +10:00
Peter Barker 4231275f50 AP_Compass: remove default clause from set_status switch
forces someone to consider what they need to do for any new state
2024-07-10 18:18:31 +10:00
Peter Barker afd8d8255f AP_Compass: use switch statement in failed() method 2024-07-10 18:18:31 +10:00
Peter Barker ef0de65347 AP_InertialSensor: tidy IMU killing 2024-07-10 18:17:00 +10:00
muramura d6a79c0e02 RC_Channel: Add a MOUNT2 retract
Update libraries/RC_Channel/RC_Channel.cpp

Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2024-07-10 17:45:28 +10:00
Peter Barker 31f3a796f1 AP_Proximity: avoid use of int16_t-read call 2024-07-10 17:01:09 +10:00
MattKear 2025712505 AP_RPM: Improve rpm logging 2024-07-10 12:24:15 +10:00
Michael du Breuil aafa2f3998 AP_Math: Remove template parameter from constructor
Not valid in C++20, and makes GCC 14.1.1 very unhappy.
2024-07-10 10:07:24 +10:00
muramura e48044dc45 AP_InertialSensor: Clearly state the maximum G-force 2024-07-10 10:07:16 +10:00
muramura 9f6edd8d55 AP_Mount: Increment the serial instance 2024-07-10 08:31:25 +09:00
Ep Pravitra f3d55d821e SITL: fix json airspeed
Airspeed calculation for JSON was not quite working because velocity_air_ef was not updated in SIM_JSON.cpp

Update libraries/SITL/SIM_JSON.cpp

Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
Update libraries/SITL/SIM_JSON.cpp

Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>

comment changes

remove redundant airspeed calculation
2024-07-10 08:24:19 +10:00
James O'Shannessy 9924462618 AP_Mission: Allow Param4 to be uploaded with NaN
By default, QGroundControl will attempt to upload Loiter Unlimited with a NaN in param4.
Given this field could be NaN, we allow it through the parser.

See: https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_LOITER_UNLIM
2024-07-09 22:39:57 +10:00
Peter Barker 481e0301dd hwdef: H757_EVAL: make it not-AP_Periph
avoids this compilation error:

../../Tools/AP_Periph/can.cpp:152:33: error: static assertion failed: DroneCAN bootloader cannot support external flash
  152 | static_assert(EXT_FLASH_SIZE_MB == 0, "DroneCAN bootloader cannot support external flash");
compilation terminated due to -Wfatal-errors.
2024-07-09 12:00:52 +10:00
Randy Mackay 5a8ed5fb51 AP_NavEKF: option to align extnav to optflow pos estimate 2024-07-09 11:59:36 +10:00
Thomas Watson 1249388f23 AP_Common: use template parameter in bitmask functions
Substantially improves code optimization and reduces memory usage.
2024-07-09 11:51:41 +10:00
Thomas Watson 6a4520e8fd AP_Common: clean up bitmask operators
Code already won't compile if there are different numbers of bits as the
template parameter will be different.
2024-07-09 11:51:41 +10:00
Thomas Watson b030b8e789 AP_Common: correctly bound bitmask datatypes
Probably won't work correctly (and of questionable use) if less than 1.
The `first_set()` function might not be able to return a valid value if
greater than INT16_MAX.

unsigned int needs to be >= uint32_t so that the shift ops are in range.
2024-07-09 11:51:41 +10:00
Thomas Watson 0b320fe303 AP_Common: unify bitmask out of bounds checking
Ensures out-of-bounds reads and writes are never performed for setting,
clearing, and checking. Fixes test failure when the number of bits
evenly divides the word size.
2024-07-09 11:51:41 +10:00
Thomas Watson 9a89223531 AP_Common: fix bitmask setall()
Fixes an issue where the last word was not set to all 1s if the number
of bits evenly divided the word size.

Also fixes UB if there were 31 valid bits.
2024-07-09 11:51:41 +10:00
Thomas Watson 122cd72d9c AP_Common: improve bitmask test coverage 2024-07-09 11:51:41 +10:00
Thomas Watson 4a2f03f851 AP_Common: test more bitmask bit widths
Actually test different widths and reveal problems with edge cases.
2024-07-09 11:51:41 +10:00
Thomas Watson 521cf00964 AP_Common: templatify bitmask tests
Enables testing of different widths and edge cases.
2024-07-09 11:51:41 +10:00
Peter Barker aff3af67e6 AP_Logger: remove short-filename compatability code
We used to produce files hwih looked like log1.BIN.  We moved to 00000001.BIN instead so things collate.

This code allowed the autopilot to return data from SD cards which had old logs on them.
2024-07-09 11:34:40 +10:00
Iampete1 f3743b869d AC_PID: correct error caculation to use latest target 2024-07-09 11:33:03 +10:00
Andrew Tridgell b19186980a AP_Mount: added sending of position data to Siyi gimbal
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
this will allow for exif tags of position for photos
2024-07-09 11:28:57 +10:00
Peter Barker 99fb5a994e AC_WPNav: correct calculation of predict-accel when zeroing pilot desired accel 2024-07-09 10:52:14 +10:00
Peter Barker c8a20726ff AP_NavEKF3: do not store prediction-enabled as state
this is only used in one place, and that place is called from the same routine setting the persistent state.  The only other place which calls readIMUData shouldn't be running the prediction step, but mmay, depending on the previous setting of the prediction step.

We are not initialising this state on filter reset, so it's possible that the state will be set when we do an InitialiseFilterBootstrap, which is probably not desired
2024-07-09 10:45:03 +10:00
Peter Barker 3208491983 AP_Logger: remove twin paths for writing FMT messages
This stops us tracking formats-written in two places.

The Write() method will now emit formats as required and set the relevant bit in the backend-owned bitmask of formats sent.
2024-07-09 10:40:08 +10:00
Willian Galvani 64e859ecc5 AP_Compass: warn user if fix_radius() is skipped 2024-07-09 10:13:34 +10:00
Willian Galvani 325d6f6c94 AP_Compass: use ahrs for location instead of GPS directly for calibration 2024-07-09 10:13:34 +10:00