Andy Piper
c0e27c7861
AP_BLHeli: add battery status MSP handling
...
give internal error if an unknown MSP command occurs
2024-01-07 10:59:26 +11:00
HelloLeFei
980a6e0a2b
AP_HAL_ChibiOS: add HEEWING-F405 flight controller
...
add bi-directional dshot
add back in features.
juggle DMA allocations to allow CRSF to work correctly
disable dshot on PWM 10 as it is not used
do not enable quadplane by default
do not disable arming checks
run ICM42688 at 1Mhz for low speed to avoid gyro noise
add HEEWING README and picture
2024-01-07 10:59:26 +11:00
Mikhail Degtiarenko
f2958e3128
AP_HAL_ChibiOS: add SPL06 to MambaH743v4
...
The Diatone Mamba MK4 H743 v2 Flight Control have moved from the DPS280 barometer to using SPL06.
https://www.diatone.us/products/mamba-mk4-h743-v2-flight-control-30mm-m3l
2024-01-07 10:59:26 +11:00
Andrew Tridgell
72fa526de4
ChibiOS: disable DMA on I2C on F7 and H7 by default
...
this was already done on many (most?) boards, and greatly reduces DMA
sharing which improves performance of UARTs. This changes the default
to no DMA on I2C
2024-01-07 10:59:26 +11:00
bugobliterator
e1927ac60f
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.
2024-01-07 10:59:26 +11:00
Andrew Tridgell
f9990bc412
AP_Scripting: added bindings for VTOL motor loss
...
this allows a script to take an action on loss of a VTOL motor
2024-01-07 10:59:26 +11:00
Andrew Tridgell
ca64a421e3
HAL_ChibiOS: implement newlib alloc functions as malloc wrappers
...
this fixes issue #24106
2024-01-07 10:59:26 +11:00
Peter Barker
dbe81a3965
AP_Notify: add driver for IS31FL3195 LED
2024-01-07 10:59:26 +11:00
Peter Barker
dfd33214c6
AP_Notify: add driver for LP5562 LED
2024-01-07 10:59:26 +11:00
Andrew Tridgell
06f09b616e
AP_Scripting: updated VTOL quicktune docs
2024-01-07 10:59:26 +11:00
Andrew Tridgell
ae38a45c1e
AP_Scripting: fixed lua-check warnings in VTOL-quicktune
2024-01-07 10:59:26 +11:00
Andrew Tridgell
19174f4d87
AP_Scripting: fixed use of QUIK_ENABLE in VTOL-quicktune
...
this was lost when the cached access was added
2024-01-07 10:59:26 +11:00
Andrew Tridgell
ad7274b0bf
AP_Scripting: added QUIK_MAX_REDUCE parameter to VTOL-quicktune.lua
...
this limits the amount that rate gains can reduce from the original
values in a quicktune. Large reductions in rate gains can be
incorrectly triggered by a frame resonance or gust of wind which can
result in gains that are dangerously low, which can trigger an angle P
oscillation
2024-01-07 10:59:26 +11:00
Andy Piper
7fb793d059
AP_HAL_ChibiOS: remove bdshot from speedybeef4 as it doesn't work and increases flash usage
2024-01-07 10:59:25 +11:00
Andy Piper
f758c74c6a
AP_HAL_ChibiOS: Pixhawk1-bdshot
2024-01-07 10:59:25 +11:00
Michael du Breuil
81a6220745
AP_ADSB: Fix spam of lost transciever message at update() rate
2024-01-07 10:59:25 +11:00
Andy Piper
323a3262ad
AC_AutoTune: correct incorrect min raw rate valuee
2024-01-07 10:59:25 +11:00
Andrew Tridgell
e4e69468ca
AP_NavEKF3: fixed velocity reset on AID_NONE
...
The ResetVelocity() function is only supposed to reset XY states, not
Z state. Resetting the Z state for velocity results in a large
velocity glitch if a vehicle is descending or ascending when aiding
switches to AID_NONE
this fixes #19386
2024-01-07 10:59:25 +11:00
Andrew Tridgell
efc7c1ec77
AP_NavEKF2: fixed velocity reset on AID_NONE
...
The ResetVelocity() function is only supposed to reset XY states, not
Z state. Resetting the Z state for velocity results in a large
velocity glitch if a vehicle is descending or ascending when aiding
switches to AID_NONE
this fixes #19386
2024-01-07 10:59:25 +11:00
Peter Barker
67d4a9153c
AP_Arming: reword GPS pre-arm failure
...
M10S (no storage) throws this for a considerable period of time and the wording makes this process sound scary.
2024-01-07 10:59:25 +11:00
Andy Piper
baed41b78f
AP_HAL_ChibiOS: Pixhawk6X bdshot version
2024-01-07 10:59:25 +11:00
jfbblue0922
f645090cda
AP_HAL_ChibiOS: jfb100 gets shorter EXT_WDOG_INTERVAL_MS
2024-01-07 10:59:25 +11:00
jfbblue0922
dd7c92f526
AP_HAL_CHibiOS: JFB100 hwdef fix for ext watchdog
2024-01-07 10:59:25 +11:00
jfbblue0922
124e6d3c61
AP_HAL_ChibiOS: support external watchdog gpio
...
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
optional support to toggle GPIO pin at 10hz
2024-01-07 10:59:25 +11:00
Andrew Tridgell
570f5f0c43
AP_GPS: fixed ublox M10S auto-config
...
this copes with the M10S rejecting multiple-key VALGET calls. We fall
back to fetching one at a time
2024-01-07 10:59:25 +11:00
Alexander Keller
d648e2e21b
AP_GPS:Comform to ardupilot undulation definition
2024-01-07 10:59:25 +11:00
davidsastresas
3b42e03cee
GCS_Common: handle CMD_DO_SET_ROI_NONE for command int packets
2024-01-07 10:59:25 +11:00
Randy Mackay
a9063af76d
AP_SerialManager: improve OPTIONS desc for Swap bit
2024-01-07 10:59:25 +11:00
Randy Mackay
c1caec03c8
AP_SerialManager: generalise SToRM32 serial protocol desc and enum
2024-01-07 10:59:25 +11:00
Iampete1
bff7cf1f94
AP_Motors: Heli RSC: remove incorrect set range call
2024-01-07 10:59:25 +11:00
Henry Wurzburg
8cf0648103
AP_HAL_ChibiOS: add Holybro KakuteH7-Wing
2024-01-07 10:59:25 +11:00
Randy Mackay
a3d6bcc5da
AR_PosControl: add input_pos_vel_accel target
2023-06-08 18:41:06 +10:00
Randy Mackay
823e7c53b5
AP_HAL_ChibiOS: JFB100 LED definition fix
2023-06-08 18:41:06 +10:00
Randy Mackay
f7ee365907
AP_InertialSensor: SCHA63T comment fix
2023-06-08 18:41:06 +10:00
Randy Mackay
538a0ef966
AP_HAL_ChibiOS: JFB100 board def fixup
2023-06-08 18:41:06 +10:00
Randy Mackay
edc5e598f8
AP_InertialSensor: SCHA63T loses unused ret bool
2023-06-08 18:41:06 +10:00
jfbblue0922
2764305f8e
AP_HAL_ChibiOS: add JFB100 board definition
2023-06-08 18:41:06 +10:00
Randy Mackay
adee71fe22
AP_InertialSensor: formatting fixes
2023-06-08 18:41:06 +10:00
jfbblue0922
de7e388ed4
AP_InertialSensor: add SCHA63T IMU support
2023-06-08 18:41:06 +10:00
jfbblue0922
2e6a16907b
AP_Math: add crc8_sae
2023-06-08 18:41:06 +10:00
Henry Wurzburg
58d03f01ec
AP_Notify: fix incorrect buzzer pin type to stop always instantiating
2023-06-08 18:41:06 +10:00
James O'Shannessy
87b47d5ea1
AP_BattMonitor: Fixes the setting of a default parameter for battery instance #2 set in hwdef
2023-06-08 18:41:06 +10:00
Randy Mackay
d669a2b079
AC_WPNav: wpnav speed param check fixed
2023-06-08 18:41:06 +10:00
Andrew Tridgell
641ab1b7d5
HAL_ChibiOS: fixed USB pass-thru for 2nd USB endpoint
...
we need to align the endpoint ID in the structure
2023-06-08 18:41:06 +10:00
Andrew Tridgell
6b8dfcdeac
AP_AHRS: don't reject airspeed using EKF if dead-reckoning
...
when dead-reckoning the EKF wind estimate can diverge from reality,
leading to us rejecting a valid airspeed sensor. We are best off
trusting airspeed if we are dead-reckoning
2023-06-08 18:41:06 +10:00
Andrew Tridgell
fe0268b2b8
AP_BoardConfig: fixed documentation of safety options
...
on and off were reversed
2023-06-08 18:41:06 +10:00
Iampete1
c161875659
Filter: SlewLimiter: always caculate slew limit
2023-06-08 18:41:06 +10:00
Andrew Tridgell
b8b2bfafdf
AP_BattMonitor: allow max amps to be configured on INA2XX
...
this allows for higer current ranges with lower resolution
2023-06-08 18:41:06 +10:00
Andrew Tridgell
0aa51a6ed3
hwdef: use zero address for INA2XX to allow for different sensors
2023-06-08 18:41:06 +10:00
Andrew Tridgell
cc9ca6f013
AP_BattMonitor: auto-probe INA2XX address if address is zero
...
this makes life easier for users who don't know which device they have
2023-06-08 18:41:06 +10:00
Andrew Tridgell
443fbb7666
AP_BattMonitor: support INA228 and INA238 battery monitor
...
I2C monitors with similar functionality to INA226
2023-06-08 18:41:06 +10:00
Andy Piper
c1943261ad
AC_AutoTune: load test gains for correct axis when testing yaw D
2023-06-08 18:41:06 +10:00
Paul Riseborough
d5c6d1c8a8
AP_NavEKF3: Increase delta velocity bias state process noise
...
Required due to state variance collapse on ground with some systems using RTK GPS.
2023-06-08 18:41:06 +10:00
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