Commit Graph

37685 Commits

Author SHA1 Message Date
Peter Barker
cb6907992b AP_Proximity: prevent buffer overflow in LD06 driver
We're using a value off the wire before it has been validated.  That value is used to limit indexing into a buffer, and that buffer isn't big enough to handle all possible "bad" values that index could take on.  Note that "read" here returns int16_t....
2024-12-19 22:58:29 +11:00
Eric Katzfey
5c9003dd02 AP_Volz_Protocol: Moved member variable definition within proper #define block to prevent unused variable warning 2024-12-18 21:50:27 +11:00
bugobliterator
42e2e23464 AP_Networking: fix memory error generated by CAN mcast driver 2024-12-18 21:48:54 +11:00
Andreas Gising
300e5ccedd AP_Scripting: add glide-into-wind example without RC override 2024-12-18 19:35:34 +11:00
Peter Barker
f5d81abb42 AP_AHRS: return EAS from get_unconstrained_airspeed_EAS
Co-authored-by: luweiagi <luweiagi@163.com>
2024-12-18 19:10:15 +11:00
Peter Barker
46b9f06011 AP_AHRS: use TAS in DCM drift correction code
Co-authored-by: luweiagi <luweiagi@163.com>
2024-12-18 19:10:15 +11:00
Siddharth Purohit
92241daef1 AP_InertialSensor: do not read FIFO faster than requested rate for ICM45686 2024-12-18 19:05:20 +11:00
Randy Mackay
523b34fbb9 AP_Scripting: add follow-target-send applet 2024-12-18 18:28:12 +11:00
Randy Mackay
5c7cfa13cf AP_Scripting: add FOLLOW_TARGET msg definition 2024-12-18 18:28:12 +11:00
Randy Mackay
56cb20ac50 AP_Scripting: add get_vel_target poscontrol binding 2024-12-18 18:28:12 +11:00
Randy Mackay
74c702674b AC_PosControl: add get_vel_target and get_accel_target 2024-12-18 18:28:12 +11:00
Bob Long
dee88b4ecb SITL: default SIM_ENGINE_MUL to 0
This makes SIM_ENGINE_FAIL work a little more intuitively, since it is
usually used to simulate a complete failure.

Also, drive-by fix of the SIM_ENGINE_MUL documentation.
2024-12-18 18:06:50 +11:00
Bob Long
58c3854325 SITL: make SIM_ENGINE_FAIL a mask
The param docs already claimed it was one.
2024-12-18 18:06:50 +11:00
Peter Barker
84440108e3 AP_AHRS: rename DCM members to clarify EAS vs TAS 2024-12-17 20:17:48 +11:00
Peter Barker
33a788ebb5 GCS_MAVLink: move sending of WATER_DEPTH into Rover code
only compiled in on Rover at the moment.

need to add an additional Rover-specific check for frame type, so move this code into Rover for now.
2024-12-17 20:17:19 +11:00
Peter Barker
6e49333a40 AP_HAL_ChibiOS: do not build QuickTune on peripherals
kills heavy peripherals

../../libraries/AP_Quicktune/AP_Quicktune.cpp: In member function 'void AP_Quicktune::update(bool)':
../../libraries/AP_Quicktune/AP_Quicktune.cpp:177:32: error: 'vehicle' is not a member of 'AP'
  177 |     const auto &vehicle = *AP::vehicle();
      |                                ^~~~~~~
compilation terminated due to -Wfatal-errors.

[ 688/1225] Compiling libraries/AP_TemperatureSensor/AP_TemperatureSensor_TSYS03.cpp
Waf: Leaving directory `/home/pbarker/rc/ardupilot/build/CubeOrange-periph-heavy'
2024-12-17 20:16:30 +11:00
Peter Barker
439c85e793 AP_Airspeed: correct compilation when AP_AIRSPEED_AUTO_CAL_ENABLE is false
CubeNode was trying to check a parameter which doesn't exist

../../libraries/AP_Airspeed/Airspeed_Calibration.cpp: In member function 'void AP_Airspeed::send_airspeed_calibration(const Vector3f&)':
../../libraries/AP_Airspeed/Airspeed_Calibration.cpp:179:23: error: 'class AP_Airspeed_Params' has no member named 'autocal'
  179 |         if (!param[i].autocal && !calibration_enabled) {
      |                       ^~~~~~~
compilation terminated due to -Wfatal-errors.
2024-12-17 11:32:55 +11:00
Andy Piper
7a16bf1987 AP_HAL_ChibiOS: ICM42688 for OrqaF405Pro 2024-12-17 11:21:54 +11:00
Peter Barker
f19eddad74 AP_NavEKF3: apply -O2 to AP_NavEKFx.h
the core.h file adjusts the optimisation level; use it when including the AP_NavEKFx.h header file
2024-12-17 11:18:54 +11:00
Peter Barker
c6ec6cb428 AP_NavEKF2: apply -O2 to AP_NavEKFx.h
the core.h file adjusts the optimisation level; use it when including the AP_NavEKFx.h header file
2024-12-17 11:18:54 +11:00
Peter Barker
52291b622a AP_Generator: apply -Os to all cpp files 2024-12-17 11:11:27 +11:00
Henry Wurzburg
85258153ac AP_BattMonitor: update FS actions metadata with DO_RETURN_PATH_START 2024-12-17 09:34:49 +11:00
Peter Barker
ab4614dd98 AP_HAL_ESP32: stop making python python3
this isn't something we should be doing to people's environments
2024-12-17 09:19:20 +11:00
Peter Barker
05e5d2e6bb AP_SerialManager: move serial port init of Volz protocol into Volz library 2024-12-17 09:14:08 +11:00
Peter Barker
4e0bc79002 AP_Volz_Protocol: move serial port init of Volz protocol into Volz library 2024-12-17 09:14:08 +11:00
Peter Barker
061097ac31 AP_SerialManager: add a method to set the default baud
this allows a library to change what the GCS will see in the parameter for a serial port's baud rate.
2024-12-17 09:14:08 +11:00
Peter Barker
aec7cc24d1 AP_Mount: rearrange methods and variables per PR review 2024-12-16 19:16:25 +09:00
Peter Barker
0b8ad6f1d9 AP_Mount: privatise various fields and methods
We are hoping to pull more target calculations into the frontend.

Having these non-private threatens for calculations to move into the separate backends instead, so privatise them
2024-12-16 19:16:25 +09:00
James O'Shannessy
4bc6115f1a hwdef: Update scripts to parse CSV files properly
fails because of iterator not returning strings and 'dict' object has no attribute 'iterkeys'. Fixed so both scripts run.
2024-12-16 19:23:58 +11:00
James O'Shannessy
61ca071ba6 AP_HAL_ChibiOS: Add STM32F413xx module
Generated the STM32F413xx script from reference manuals and datasheets
Added changes for supporting STM32F413 to mcuconf
2024-12-16 19:23:58 +11:00
Eric Katzfey
99bfc32038 AP_HAL_QURT: Add support for the ModalAI IO board to support PWM ESCs 2024-12-16 13:03:50 +11:00
Rhys Mainwaring
ee7376afb1 SITL: follow standard pattern for including ENABLED guards
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-12-15 11:32:36 -06:00
Rhys Mainwaring
5b935a3838 AP_HAL_ESP32: update cmake minimum version
- The ESP32 API guide states the cmake version must be 3.16 or greater.

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-12-15 08:55:04 -06:00
Bob Long
8229174a76 AP_VisualOdom: fix singleton panic message 2024-12-15 23:38:24 +11:00
Bob Long
a598045fd0 AP_AdvancedFailsafe: fix singleton panic message 2024-12-15 23:38:24 +11:00
Tom Pittenger
a48ff8431b AP_ADSB: add option to force Mode3AC Only 2024-12-14 22:51:11 -08:00
Tom Pittenger
137915ab46 AP_ADSB: refactor IDENT and add gcs_sendtext feedback 2024-12-14 22:50:19 -08:00
Tom Pittenger
35f563d538 AP_ADSB: refactor a table 2024-12-14 22:49:31 -08:00
Peter Barker
4554dd28d3 AP_DroneCAN: document CANS (Can Bus Statistics) log message 2024-12-15 15:17:55 +11:00
Eric Katzfey
7c1cc26509 GCS_MAVLink: Remove pragma to disable compiler warning and instead cast enum to int to fix the code. 2024-12-15 15:16:21 +11:00
Eric Katzfey
93ba994eb1 AP_GPS: Cast enum to int to fix compiler warning when max enum value is less than the constant being compared to. 2024-12-15 15:16:21 +11:00
Peter Barker
f26372b46e AC_Avoidance: add missing include
../../libraries/AC_Avoidance/AC_Avoidance_Logging.cpp: In member function 'void AP_OABendyRuler::Write_OABendyRuler(uint8_t, bool, float, float, bool, float, const Location&, const Location&) const':
../../libraries/AC_Avoidance/AC_Avoidance_Logging.cpp:23:46: error: 'ahrs' is not a member of 'AP'
   23 |         yaw         : (uint16_t)wrap_360(AP::ahrs().yaw_sensor * 0.01f),
      |                                              ^~~~
compilation terminated due to -Wfatal-errors.
2024-12-15 12:46:22 +11:00
Rhys Mainwaring
70fe304c7e SITL: add ENABLED defines for simulated I2C devices
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-12-15 09:49:34 +11:00
Simon Hancock
17f18f7fc5 AP_Filesystem: Add details of withdefaults query param to README 2024-12-15 08:43:42 +11:00
Eric Katzfey
ede51888b0 AP_TECS: Removed an unused variable to get rid of a compiler warning 2024-12-14 15:42:46 +11:00
Thomas Watson
2f5be28378 AP_BattMonitor: INA3221: reallocate parameter indices
Hasn't been released yet so let's not add more conflicts.
2024-12-14 15:42:31 +11:00
Thomas Watson
49a3a9d220 AP_BattMonitor: add missing subgroup links to correct metadata gen 2024-12-14 15:42:31 +11:00
Thomas Watson
fb9119fac8 AP_BattMonitor: create table of used backend paramater indices
Hopefully makes it less likely for conflicts to happen and makes it
easier to find free indices.
2024-12-14 15:42:31 +11:00
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
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
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
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
Eric Katzfey
3501bb7fc3 AP_RCProtocol: Remove extraneous zero initializers to clean up Qurt compiler warnings 2024-12-12 16:41:24 +00: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
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
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
c2864b5733 AP_CANManager: support CAN frame logging
this supports logging of all bxCAN and CANFD frames, which helps with
debugging tricky CAN support issues and for the development of new CAN
driver lua scripts
2024-12-11 08:43:56 +11:00
Andrew Tridgell
07a5e40aa1 AP_Logger: logging structures from AP_CANManager 2024-12-11 08:43:56 +11:00
Andrew Tridgell
f5b0a447d8 AP_HAL: enable up to 3 CAN callbacks 2024-12-11 08:43:56 +11:00
Andrew Tridgell
00202bf016 AP_Airspeed: don't send AIRSPEED_AUTOCAL message when disabled
we were wasting bandwidth sending this all the time

also fixed to support calibration messages for 2nd airspeed sensor
2024-12-11 07:45:55 +11:00
Randy Mackay
dd37065bb5 AP_Camera: camera-status-fov attitude in earth frame 2024-12-10 19:57:06 +09:00
Randy Mackay
a9f561ac78 AP_Camera: always send camera-fov-status 2024-12-10 19:57:06 +09:00
Randy Mackay
5a1a8d1c10 AP_Mount: add get_attitude_quaternion method 2024-12-10 19:57:06 +09:00
Henry Wurzburg
051c2dcd35 Tools: add Plane autoland applet 2024-12-10 13:18:41 +11:00
Henry Wurzburg
637fea1f2d AP_Scripting: add Plane autoland applet 2024-12-10 13:18:41 +11:00
rishabsingh3003
99f4f13369 SITL: Add simulator for tethered vehicle 2024-12-10 10:48:00 +11:00
Andy Piper
af0fe69085 AP_HAL_ChibiOS: don't throw an internal error on mismatched cork/push 2024-12-09 23:46:37 +00:00
Andy Piper
1d6d11283e AP_HAL: protect against invalid values when calculating Jain's estimator 2024-12-10 10:43:17 +11:00
Randy Mackay
ec215c3a29 AP_DDS: default IP to 192.168.144.x 2024-12-10 10:37:30 +11:00
Randy Mackay
9d9eaa3150 AP_Networking: default IP to 192.168.144.x 2024-12-10 10:37:30 +11:00
Vincent Poon
13481ce4d8 add bmi270 support to kakuteh7 2024-12-10 10:33:26 +11:00