Commit Graph

30742 Commits

Author SHA1 Message Date
Andrew Tridgell
4e125175ad AP_BattMonitor: fixed reset_remaining() for INAxxx and LTC2946
these can use the generic reset_remaining() call in the backend
2023-08-16 09:54:47 +09:00
Andrew Tridgell
8a27687226 AP_GPS: fixed RTK injection when first module is a BASE
this is a partial backport of #24132 which fixes RTK injection when
the 1st GPS module is a DroneCAN RTK rover. Without this change RTCM
injection for RTK fix on the base will only work if it happens to come
up as the first module
2023-08-16 09:54:47 +09:00
Andrew Tridgell
4566b91945 AP_Arming: fixed auto-enable of fence with forced arm
when a user forced armed and had FENCE_AUTOENABLE=3 for enable on
arming then the fence did not enable
2023-08-16 09:54:47 +09:00
bugobliterator
03723871e2 AP_Scripting: stash and restore FPU register context in LUAI_TRY
this fixes an issue where a lua library function triggers an exception
after it does a math operation which changes the floating point
registers on M7 MCUs (such as STM32H7). An example is math.random()
which calls math_random(), which pre-calculates a double value before
checking if the arguments to the call are valid. When it then checks
and finds invalid values the exception longjmp does not restore the
floating point registers.
2023-08-16 09:54:47 +09:00
Andrew Tridgell
fb1acd2065 AP_NavEKF3: fixed race condition in updateFilterStatus()
filter status was initially set to zero then updated. This interacts
with the IMU filtering code which checks filter status from a
different thread to determine active_EKF_type(). When the race
condition is hit then the IMU we are running notch filters on changes
for a single sample, causing a notch filter glitch
2023-08-16 09:54:47 +09:00
Andrew Tridgell
8b0f2a555a AP_BoardConfig: fixed documentation of safety options
on and off were reversed
2023-05-31 09:56:20 +09:00
Andrew Tridgell
5a74ade767 AP_ICEngine: fixed a bug engine control when running
if you have a mission item for engine control with delayed start at
height and the engine is already running them it would put the ICE
subsystem into a state where it would no longer start the engine

It was actually 2 bugs:

 - an engine control to do a height delayed start should be ignored if
   the engine is already running. This prevents an engine control to
   start the engine from stopping the engine

 - a start_chan high should always try to start the engine
   immediately, even if in the wait state
2023-05-25 11:03:52 +09:00
Andrew Tridgell
55ab1160de AP_RCProtocol: return true on initial protocol detection
we need to tell the IO firmware that a byte was consumed when we first
detect a protocol as otherwise the next bad byte on DSM will lock us
on the DSM port
2023-05-25 11:03:52 +09:00
Andrew Tridgell
48d9a676ac AP_IOMCU: fixed issue with not regaining RC input
this fixes an issue where when you lose R/C input on IOMCU that you
may not regain it when R/C comes back.

The issue stems from us still processing the DSM uart when we are
using the SD3 "SBUS" uart for RC input, and still doing the switch of
the SD3 config every 2 seconds.

When we are not searching for a new protocol we should not be changing
UART config
2023-05-25 11:03:52 +09:00
bugobliterator
c2c7aba277 AP_InertialSensor: fix hardfault in BatchSampler 2023-05-25 11:03:52 +09:00
Paul Riseborough
fef6345c2f AP_NavEKF3: Increase delta velocity bias state process noise
Required due to state variance collapse on ground with some systems using RTK GPS.
2023-05-25 11:03:52 +09:00
Paul Riseborough
da7a4b47ed AP_NavEKF3: Strengthen recovery from bad delta velocity bias learning 2023-05-25 11:03:52 +09:00
Paul Riseborough
04d21fc368 AP_NavEKF3: Increase default value of EK3_ABIAS_P_NSE
This is required because some hardware setups with RTK GPS have experienced a collapse of the delta velocity state variances.
2023-05-25 11:03:52 +09:00
Paul Riseborough
69b26836f0 AP_NavEKF3: Retune and fix delta velocity bias state variance protection 2023-05-25 11:03:52 +09:00
Andy Piper
153a665082 AP_NavEKF: ensure gyro biases are numbers
avoid errors during compass mot
2023-05-25 11:03:52 +09:00
Peter Barker
9b069a0eb7 AP_EFI: use uint16_t to store offset
prevents infinite loop if there are exactly 255 bytes ready to read
2023-05-25 11:03:52 +09:00
Andy Piper
750a914cce AP_HAL_ChibiOS: ensure the rcout TIM_UP DMA request source is re-instated after cancellation
This fixes a bug in bdshot whereby dma cancellation could result in the wrong DMA channel
being used for dshot output and hence motors stopping
2023-03-27 11:14:47 +09:00
Andy Piper
6dda5b223c AP_HAL_ChibiOS: ensure that DMA source is correct on DMA send for rcout 2023-03-27 11:14:47 +09:00
Andrew Tridgell
eb49e2ef17 HAL_ChibiOS: switched to 64 bit maths for DShot timings
this fixes a timer wrap bug at 71 minutes after boot that impacts
bdshot
2023-03-26 11:57:57 +09:00
bugobliterator
464e7d183a AP_HAL_ChibiOS: add CubeOrangePlus-bdshot hwdef 2023-03-26 11:57:57 +09:00
Peter Barker
5d7d13f1a4 AP_Mount: rename local _chan to chan in Gremsy methods
based on PR feedback
2023-03-02 15:01:23 +09:00
Peter Barker
6cc4afaa56 GCS_MAVLink: add method to get link (not just channel number) for mavtype and compid 2023-03-02 15:01:23 +09:00
Peter Barker
d1acebe415 AP_Mount: correct double-mapping of port to channel number
set_message_interval takes a port number, not a channel number (it was originally written as an internal function, after all).  Before this patch we were double-mapping from one to the other.  That works so long as the port you are mapping also corresponds to the chanel number - which it will, for example, if you are using serial2 with both serial0 and serial1 also set to mavlink.  If you set serial5_protocol to 2 an attempt to use it for controlling a gremsy it will *not* work because we map into backwards twice.
2023-03-02 15:01:23 +09:00
Reilly Callaway
b3982a61f7 AP_PiccoloCAN: Fix ESC voltage and current telem scaling 2023-03-02 15:01:23 +09:00
bugobliterator
27240716dd AP_HAL_ChibiOS: add HAL_WITH_MCU_MONITORING define for H757 2023-03-02 15:01:23 +09:00
Randy Mackay
4452745892 AP_Mount: servo mount yaw handling fix 2023-03-02 15:01:23 +09:00
Andrew Tridgell
c6a2b03f91 AP_AHRS: fixed earth frame accel for EKF3 with significant trim 2023-03-02 15:01:23 +09:00
Andy Piper
312549d773 AP_HAL_ChibiOS: enable VTX power on MambaF405 2022 2023-03-02 15:01:23 +09:00
Iampete1
d019a3d865 AP_TECS: protect against low airspeed in reset 2023-03-02 15:01:23 +09:00
Andrew Tridgell
5afe4954e9 AP_GPS: don't try and configure M10 options on non-M10 GPS
this fixes a pre-arm failure "GPS 1 failing configuration checks" on
non-M10 GPS modules, including AP_Periph

it also adds the ublox unconfigured msgs to the DroneCAN GNSS.Status
errors field for easier diagnosis of this type of issue in the future
2023-03-02 15:01:23 +09:00
Andrew Tridgell
d6c5765ff9 AP_Scripting: disable PWMSource in scripts for 4.3.4
this avoids the interrupt handling bug. Proper fix in 4.4.x
2023-03-02 15:01:23 +09:00
Andy Piper
e6e96bcf5e AP_HAL_ChibiOS: probe external compasses on foxeer reaper f745 2023-02-14 16:35:40 +09:00
Andy Piper
be6bd4be8b AP_HAL_ChibiOS: enable VTX power on MambaH743v4 2023-02-14 16:35:40 +09:00
bugobliterator
e2fede3e3b AP_HAL_ChibiOS: add support for CubeOrangePlus BG edition 2023-02-14 16:25:55 +09:00
Andrew Tridgell
01bbbc1f45 AP_IOMCU: fixed an issue with double reset of IOMCU
if the IOMCU resets twice in quick succession then the code that
restores the safety state while flying can fail, leading to the
aircraft trying to continue flying with safety on

This results from two issues:

- a race in handling the last_safety_off variable
- the fact that plane sets the soft_armed state based on safety state
2023-02-14 16:25:55 +09:00
Bob Long
33fafed63c AP_Baro: fix bug in alt error arming check
get_altitude_difference already subtracts MSL altitude
2023-02-14 16:25:54 +09:00
Andrew Tridgell
9853fc4a65 RC_Channel: disable FFT notch tune feature
See https://github.com/ArduPilot/ardupilot/pull/22686
2023-02-14 16:25:54 +09:00
Andy Piper
703020be12 AP_HAL: ensure the DSP tracked peaks do not overflow the buffer 2023-02-14 16:25:54 +09:00
rishabsingh3003
4d437c3368 AC_Precland: Add option to resume precland after manual override 2023-02-14 16:25:54 +09:00
Andrew Tridgell
8219b50023 AP_CANManager: add an output buffer for MAVCAN
this fixes firmware update of peripheral nodes using MAVCAN
2023-02-14 16:25:54 +09:00
Peter Barker
3d7c6a9cfb AP_Logger: avoid logging duplicate FMT/UNIT/FMTU/MULT messages
Failing due to being out of time meant we wouldn't incremement the counter, even though we'd emitted the item.

it is important we try to send something, so move this check to be after we increment whichever counter we are using.
2023-02-14 16:25:54 +09:00
Andrew Tridgell
1b9f695188 AP_OpenDroneID: set EMERGENCY status on crash or chute deploy
RemoteID modules are required to set EMERGENCY status on uncontrolled
descent or crash. This fixes our implementation to do that, either via
existing vehicle crash checking code or via a parachute release
2023-02-14 16:25:54 +09:00
Andrew Tridgell
59d5691e37 AP_Compass: fixed zero compass diagonals
this fixes a regression from 4.2 to 4.3.

previously we automatically set the diagnoals to 1,1,1 if they were
0,0,0. We don't do that any more. I was helping a user who had copied
an old config with 0,0,0 for diagonals and did not understand two
things:

- the compass did not work in 4.3
- large vehicle mag cal didn't work
2023-02-14 16:25:54 +09:00
Randy Mackay
f677d876a7 GCS_MAVlink: send_autopilot_state_for_gimbal_device sends ef z-axis rate target 2023-02-14 16:25:54 +09:00
Randy Mackay
2616afc5c8 AP_Vehicle: replace get_rate_bf_targets with get_rate_ef_targets 2023-02-14 16:25:54 +09:00
Randy Mackay
fa77792d69 AC_AttitudeControl: add get_rate_ef_targets accessor 2023-02-14 16:25:54 +09:00
Andrew Tridgell
481cb4d03d AP_RCProtocol: on IOMCU don't allow protocol to change once detected
this prevents a crash where in-flight noise causes an incorrect
protocol detection, such as DSM for a SBUS input
2023-02-14 16:25:53 +09:00
Andrew Tridgell
93136f84a2 AP_Scripting: fixed alt frame error in ship landing
if terrain follow is enabled then this would result in mixing a
terrain alt with an absolute alt, resulting in attempts to descend to
a negative alt
2023-01-20 10:12:59 +09:00
Andrew Tridgell
9032a91b1e AP_InertialSensor: cleanup NAMED_VALUE_FLOAT for fifo error 2023-01-20 10:12:59 +09:00
Andrew Tridgell
c89d5448b2 AP_InertialSensor: fixed flood of log with fast fifo reset 2023-01-20 10:12:59 +09:00