Commit Graph

37645 Commits

Author SHA1 Message Date
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
Rhys Mainwaring
3c561e215f AP_HAL_ESP32: set default cpu frequency to 240MHz
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-12-10 10:32:47 +11:00
Thomas Watson
a14fb9ab28 AP_HAL_ESP32: regenerate sdkconfig after sdkconfig.defaults change
Ensures the sdkconfig does not get out of date as updates are made to
the defaults. The sdkconfig can still be manually changed for testing.
2024-12-10 10:32:47 +11:00
Thomas Watson
535f6875a8 AP_HAL_ESP32: move generated sdkconfig to build folder
Ensures it gets cleaned with `./waf clean`. Users will hopefully delete
and not be confused by the old one as it will now show up as an
untracked file.
2024-12-10 10:32:47 +11:00
YI-BOYANG
122eb21b45 AP_HAL_ChibiOS: add GEPRC_TAKER_H743 2024-12-10 10:30:54 +11:00
Andrew Tridgell
7759bc7662 hwdef: enable IMU in HolybroG4_GPS
IMU rate zero by default
2024-12-10 09:29:37 +11:00
Andrew Tridgell
02ea371eae hwdef: added baro in HolybroG4_GPS
new units have a ICP201XX baro

disable baro by default to avoid issues with airflow and GPS modules
installed on the outside of the aircraft
2024-12-10 09:29:37 +11:00
Andrew Tridgell
4d31a7320a AP_InertialSensor: stop sensors converging if motors arm
if the user arms within 30s of startup then stop the re-init of the
sensors. This can give less accurate frequency as the sample rate may
not have settled yet, but it is better than doing init of the filters
while the vehicle may be flying

also fix a 32 bit millis wrap
2024-12-09 07:40:48 +11:00
Andrew Tridgell
8e1acb10fd Filter: enable 4 filters on low-flash boards 2024-12-09 07:40:06 +11:00
Iampete1
e4de4c9b41 AP_Scripting: Examples: message_interval: give checker a hint about types 2024-12-08 08:09:06 +09:00
shen
9d21b3396e hwdef: Add AEROFOX H7 2024-12-07 18:10:09 +11:00
Andy Piper
ad539ffa03 AP_RCTelemetry: add missing CRSF scheduler table entry 2024-12-05 10:03:27 -06:00
Randy Mackay
1308efb9a4 AP_Scripting: promote video-stream-information to applet 2024-12-05 16:46:48 +09:00
Randy Mackay
3325bdd7df AP_Scripting: set-video-stream-info encoding binding and docs 2024-12-05 16:46:48 +09:00
Randy Mackay
6f6613fefd AP_Camera: set-stream-information loses send-text 2024-12-05 16:46:48 +09:00
Thomas Watson
d7b26a2205 AC_AutoTune: fix tracking of maximum angular acceleration
Issue introduced in https://github.com/ArduPilot/ardupilot/pull/27370
and partially fixed in https://github.com/ArduPilot/ardupilot/pull/27762,
though evidently not properly tested.

Failing to track the maximum can result in dangerously low values being
calculated for `ATC_ACCEL_[RPY]_MAX` and the vehicle becoming unflyable.

Make the variable a reference so that the maximum value is preserved
between function calls.
2024-12-05 09:18:56 +09:00
Andy Piper
88f6125a94 AP_InertialSensor: belt and braces checks 2024-12-04 07:45:05 +11:00
Andy Piper
277386e6e2 AP_HAL_ChibiOS: add cork()/push() check 2024-12-04 07:45:05 +11:00
Andy Piper
4b0fa15278 AP_InertialSensor: address review comments 2024-12-04 07:45:05 +11:00
Andy Piper
8fc4a6a6e9 AP_HAL_ChibiOS: add comments to force_push on rcout 2024-12-04 07:45:05 +11:00
Andy Piper
398a70ec4b AP_InertialSensor: avoid multiple allocations of rate loop buffer
add nullptr checks and comments to FastRateBuffer
2024-12-04 07:45:05 +11:00
Andy Piper
6db09c9fdd AP_InertialSensor: keep a queue of gyro samples for use by the rate thread
decimate the gyro window locally
configure rate loop buffer based on AP_INERTIALSENSOR_FAST_SAMPLE_WINDOW_ENABLED
allow backends to be updated from rate thread
output debug error if rate loop buffer overruns
add support for updating filter parameters independently of propagating samples
add rate loop config abstraction that allows code to be elided on non-copter builds
must be using harmonic notch to use rate thread
mediate fast rate loop buffer using mutex and binary semaphore
ensure gyro samples are used when the rate loop buffer isn't

Co-Authored-By: Andrew Tridgell <andrew@tridgell.net>
2024-12-04 07:45:05 +11:00
Andy Piper
a3de217dee AP_HAL_ChibiOS: ensure dshot rate can be set dynamically
honour the requested dshot rate as near as possible
2024-12-04 07:45:05 +11:00
Andy Piper
3cc4b1991c AP_HAL_ChibiOS: compile MambaH743v4 at -O2 2024-12-04 07:45:05 +11:00
Andy Piper
048a3af785 AP_HAL_ChibiOS: allow forcing of trigger_groups() 2024-12-04 07:45:05 +11:00
Andy Piper
76897e9674 AP_HAL: set HAL_INS_RATE_LOOP in boards
restrict rate loop to H7 and F7
2024-12-04 07:45:05 +11:00
Andy Piper
c4ab8e25c4 AP_HAL: allow forcing of trigger_groups() 2024-12-04 07:45:05 +11:00
Andrew Tridgell
6ac35ce9af AP_Vehicle: use update_dynamic_notch() directly in rate loop 2024-12-04 07:45:05 +11:00
Randy Mackay
eaf20db6ea AP_Scripting: ahrs/ekf origin script promoted to an applet 2024-12-03 11:15:00 +11:00
Andrew Tridgell
445c03c69c AP_ServoTelem: added active mask
and fixed typo in logging
2024-12-03 07:38:17 +11:00
Andrew Tridgell
bf5555ccd3 AP_DroneCAN: actuator status is measured, not commanded 2024-12-03 07:38:17 +11:00
Iampete1
38c3257151 AP_Vechicle: add AP_Servo_Telem and call at 50Hz 2024-12-03 07:38:17 +11:00
Iampete1
e003cc511d add AP_Servo_Telem 2024-12-03 07:38:17 +11:00
Iampete1
d0bbc02995 AP_Logger: remove Write_ServoStatus and CSRV definition 2024-12-03 07:38:17 +11:00
Iampete1
9be1a751da AP_Volz_Protocol: send incomming servo telem data to new AP_Servo_Telem lib 2024-12-03 07:38:17 +11:00
Iampete1
71137dac31 AP_PiccoloCAN: send incomming servo telem data to new AP_Servo_Telem lib 2024-12-03 07:38:17 +11:00
Iampete1
d5c29735d6 AP_DroneCAN: send incomming servo telem data to new AP_Servo_Telem lib 2024-12-03 07:38:17 +11:00
Iampete1
2863dcfb94 AP_Logger: add new unit t for torque in N.m 2024-12-03 07:38:17 +11:00
Thomas Watson
adfc415cff SITL: fix testing and simulated register scaling
* make test actually test something

* fix scaling to match datasheet values
2024-12-02 10:10:01 -06:00
Thomas Watson
190c3aa7ab AP_BattMonitor: INA3221: fix up based on real experience
* correctly validate channel parameter and improve other parameter
access

* dynamically enable channels to avoid spending time converting unused
channels

* implement tracking of reading health

* correct reading scaling by using datasheet values

* accumulate measured current to track used mAh and Wh

* make configurable using #defines (and hwdef) for integrators

* correctly separate and lock frontend and backend state. Note that
_state of frontend can only be accessed in `read()` method.
2024-12-02 10:10:01 -06:00
Peter Barker
4cfbeb11e3 SITL: add support for ina3221 triple-channel current/voltage sensor 2024-12-02 10:10:01 -06:00