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
Peter Barker
5bc3b629f4
AP_BattMonitor: add support for ina3221 triple-channel current/voltage sensor
2024-12-02 10:10:01 -06:00
Andrew Tridgell
53ee7d6e75
AP_InertialSensor: fixed check for changes to notch filters
...
if the configured freq changes on any type of notch then A and Q
change, so init must be called. This does not affect only Fixed
notches
2024-11-30 17:59:47 +11:00
Jonathan Challinger
564879594e
AP_NavEKF3: fix computation of rho
2024-11-29 19:20:05 +11:00
Andrew Tridgell
10209a2a13
AP_Scripting: added UltraMotion servo driver
2024-11-28 09:24:03 +11:00
Andrew Tridgell
1c6ac0990c
AP_Scripting: added UltraMotion servo driver
...
see https://www.ultramotion.com/servo-cylinder/
2024-11-28 09:24:03 +11:00
Andrew Tridgell
fb3a50096d
AP_Scripting: added get_output_pwm_chan
2024-11-28 09:24:03 +11:00
Andrew Tridgell
d6b38f4009
SRV_Channel: added get_output_pwm_chan() for scripting
...
allows for servo drivers to be written in lua
2024-11-28 09:24:03 +11:00
George Zogopoulos
2f9ff3ef73
Plane: Call new TECS method in case of altitude change
2024-11-27 19:35:03 +11:00