Commit Graph

32057 Commits

Author SHA1 Message Date
Paul Riseborough
328354999b AP_NavEKF3: Strengthen recovery from bad delta velocity bias learning 2023-06-08 18:41:06 +10:00
Paul Riseborough
388c4738dc 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-06-08 18:41:06 +10:00
Paul Riseborough
d04a301e9a AP_NavEKF3: Retune and fix delta velocity bias state variance protection 2023-06-08 18:41:06 +10:00
Andy Piper
f00f1af1d1 AP_NavEKF: ensure gyro biases are numbers
avoid errors during compass mot
2023-06-08 18:41:06 +10:00
Paul Riseborough
61b276995b AP_NavEKF3: Lock in wind state estimates when using srag to dead reckon 2023-06-08 18:41:06 +10:00
Andrew Tridgell
91e8099c34 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-06-08 18:41:06 +10:00
Andy Piper
0553d06c14 AP_HAL_ChibiOS: correct locking on LED thread 2023-06-08 18:41:06 +10:00
Andy Piper
b2be3c1dbc AP_HAL_ChibiOS: move LED processing to a separate thread
LED processing on a separate thread allows much longer LED lengths to be handled without
compromising dshot timing or timeouts. The thread is also run at a lower priority to
reflect its lack of flight criticality
2023-06-08 18:41:06 +10:00
Andy Piper
cc84fd1859 AP_HAL: add helper functions for LEDs
add PRIORITY_LED for led output thread
2023-06-08 18:41:06 +10:00
Andy Piper
595be4d04d AP_HAL_ChibiOS: reduce IMU SPI low speed to 1Mhz to avoid chip initialization issues 2023-06-08 18:41:06 +10:00
Andy Piper
3d2fb949e0 AP_HAL_ChibiOS: FoxeerH743 GA release 2023-06-08 18:41:06 +10:00
Andy Piper
1428557140 AP_HAL_ChibiOS: update MambaF405v2 for ICM42688, bdshot and DMA on UART1 2023-06-08 18:41:06 +10:00
Andy Piper
d9237518f3 AP_HAL_ChibiOS: add BMI270 and ICM42688 to FlywooF745 2023-06-08 18:41:06 +10:00
Andy Piper
129129b4ae AP_HAL_ChibiOS: remove erroneous FlywooF745v2 2023-06-08 18:41:06 +10:00
Andy Piper
d8a2eb5a87 AP_HAL_ChibiOS: hwdef for FlywooF745v2
Add SPL06 baro to FlywooF745v1
2023-06-08 18:41:06 +10:00
Andrew Tridgell
43a4ae4a8e 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-23 15:21:45 +10:00
Andrew Tridgell
bb5cd4f475 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-23 15:21:45 +10:00
Andrew Tridgell
bbe79b3c18 AP_NavEKF3: handle core setup failure
ensure num_cores is left as zero so that calls such as Log_Write don't
de-reference nullptr
2023-05-05 13:22:51 +10:00
Andrew Tridgell
d9c9875768 AP_NavEKF2: handle core setup failure
ensure num_cores is left as zero so that calls such as Log_Write don't
de-reference nullptr
2023-05-05 13:22:48 +10:00
Andrew Tridgell
030b1c855f AP_Param: added set() to AP_Enum 2023-04-26 17:36:49 +10:00
Peter Barker
a39357fe29 AP_Logger: do not rotate logs when disarming if we are replay-logging 2023-04-26 17:36:49 +10:00
Andrew Tridgell
313e8e39b6 AP_Logger: added LOG_DARM_RATEMAX
this sets the logging rate max when disarmed. In combination with
LOG_DISARMED=3 it gives a very nice setup to get always on logging
with very little addition to the log sizes. It is particularly useful
in combination with LOG_REPLAY=1
2023-04-26 17:36:49 +10:00
Andrew Tridgell
5328e70b50 AP_Logger: added LOG_DISARMED=3
when LOG_DISARMED is set to 3 then we log while disarmed but if we
reboot without ever arming the log is discarded. This allows for using
LOG_DISARMED without filling the microSD.
2023-04-26 17:36:49 +10:00
Andrew Tridgell
ee44de4d9a AP_Logger: use AP_Enum for log_disarmed 2023-04-26 17:36:49 +10:00
Henry Wurzburg
6993a126d6 AP_HAL_ChibiOS: Add SpeedyBeeF405WING 2023-04-25 10:04:30 +10:00
Paul Riseborough
df2f8366c5 AP_NavEKF3: Improve protection against GPS glitches during yaw alignment 2023-04-21 09:48:45 +10:00
Paul Riseborough
dfd6e6d8ac AP_NavEKF3: Reduce use of GSF yaw for planes with no compass 2023-04-21 09:48:45 +10:00
Andy Piper
c40267644a AP_HAL_ChibiOS: hwdef for MatekF405-TE/VTOL including bdshot 2023-04-21 09:48:45 +10:00
bugobliterator
8d9c624632 AP_InertialSensor: fix hardfault in BatchSampler 2023-04-21 09:48:45 +10:00
Peter Barker
25c04c1fa2 AP_InertialSensor: correct access beyond array in Ins TCal 2023-04-21 09:48:45 +10:00
Peter Barker
a079b570d5 SimOnHW: correct compilation on CubeOrangePlus
this was at 2 to reduce CPU load.

But particularly when CubeOrangePlus is playing around with auxiliary IMUs we really want to be running on SimOnHardware just what we're running on the normal firmware.  We can find CPU cycles elsewhere....
2023-04-21 09:48:45 +10:00
Andy Piper
3e83d40bd8 AP_HAL_ChibiOS: ensure that DMA source is correct on DMA send for rcout 2023-03-26 16:46:53 +11:00
Andy Piper
aabfce2099 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-26 16:46:51 +11:00
Andrew Tridgell
7527c6e278 HAL_ChibiOS: support starting the clock at non-zero
for testing time wrap bugs
2023-03-26 16:46:47 +11:00
Andrew Tridgell
c55a2916f6 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 16:46:44 +11:00
bugobliterator
b9e9d4cc4f AP_InertialSensor: fix duplicate sensor detection for AUX sensors 2023-03-24 11:55:45 +11:00
bugobliterator
f88db74356 AP_HAL_ChibiOS: add support for initialising extra sensors as AUX 2023-03-24 11:55:45 +11:00
bugobliterator
6eaa05960f AP_InertialSensor: increase the temp tolerance for INV2 driver for fifo reset 2023-03-23 08:00:05 +11:00
bugobliterator
deeeb4134c AP_NavEKF3: use INS_MAX_INSTANCES instead of MAX_EKF_CORES for IMU mask 2023-03-21 10:04:16 +11:00
bugobliterator
08bea2fcd2 AP_InertialSensor: move from INS_ top level parameters to INS 2023-03-21 10:04:16 +11:00
bugobliterator
e7533c006b SITL: add support for auxiliary IMUs 2023-03-21 10:04:16 +11:00
bugobliterator
14ae431056 AP_DAL: use MAX_EKF_CORES instead of INS_MAX_INSTANCES in ekf_low_time_remaining 2023-03-21 10:04:16 +11:00
bugobliterator
f3dc4216d2 AP_HAL_ChibiOS: allow instantiation of upto 5 IMUs on CubeOrangePlus 2023-03-21 10:04:16 +11:00
bugobliterator
4e93e99fe5 AP_NavEKF: Five IMUs need slightly more stack space with GCC 6.3.1
The extra space is take by the inactive sensor bias state code.
2023-03-21 10:04:16 +11:00
bugobliterator
10439cc42e AP_InertialSensor: add support for extra Aux IMUs 2023-03-21 10:04:16 +11:00
Peter Barker
1cd3e7327d AP_EFI: add defines for Lutan and MegaSquirt 2023-03-21 09:01:13 +11:00
Peter Barker
615f36f8a0 AP_UAVCAN: tidy AP_EFI defines 2023-03-21 09:01:13 +11:00
Peter Barker
1e38200293 AP_PiccoloCAN: tidy AP_EFI defines 2023-03-21 09:01:13 +11:00
Peter Barker
593983df7a AP_EFI: tidy AP_EFI defines 2023-03-21 09:01:13 +11:00
Peter Barker
e76462f005 AP_OSD: move OSD minimizement to minimize_features.inc 2023-03-21 08:47:53 +11:00