Andy Piper
b93bc2767f
AP_HAL_ChibiOS: correct comment in HEEWING-F405 v1
2023-08-01 17:43:17 +10:00
Andy Piper
c36b6c1c0b
AP_HAL_ChibiOS: HEEWING-F405v2 which includes dataflash logging
2023-08-01 17:43:17 +10:00
Andy Piper
7f9b9eb344
AP_NavEKF3: fix docs on ABIAS_P_NSE_DEFAULT
2023-08-01 17:43:17 +10:00
Andrew Tridgell
787d03c1a3
AP_Mount: prevent SIYI driver crash if serial port not setup
...
if MNT1_TYPE=8 and no serial protocol set to gimbal then a camera
trigger can crash the vehicle
2023-08-01 17:43:17 +10:00
Andy Piper
cc19359c33
AP_BLHeli: add battery status MSP handling
...
give internal error if an unknown MSP command occurs
2023-08-01 17:43:17 +10:00
HelloLeFei
0249abb099
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
2023-08-01 17:43:17 +10:00
Mikhail Degtiarenko
a67b6c7837
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
2023-08-01 17:43:17 +10:00
Andrew Tridgell
d81d4640ee
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
2023-08-01 10:54:28 +10:00
bugobliterator
a121f665f1
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-07-23 12:46:05 +10:00
Andrew Tridgell
a564af680b
AP_Scripting: added bindings for VTOL motor loss
...
this allows a script to take an action on loss of a VTOL motor
2023-07-23 12:45:26 +10:00
Andrew Tridgell
24ec48d1e3
HAL_ChibiOS: implement newlib alloc functions as malloc wrappers
...
this fixes issue #24106
2023-07-04 15:33:59 +10:00
Peter Barker
ff6c1e009e
AP_Notify: add driver for IS31FL3195 LED
2023-07-04 10:53:57 +10:00
Peter Barker
9501b61729
AP_Notify: add driver for LP5562 LED
2023-07-04 10:53:57 +10:00
Andrew Tridgell
9090bb17a5
AP_Scripting: updated VTOL quicktune docs
2023-07-04 10:53:57 +10:00
Andrew Tridgell
2aec5ccd7b
AP_Scripting: fixed lua-check warnings in VTOL-quicktune
2023-07-04 10:53:57 +10:00
Andrew Tridgell
dc7efab45f
AP_Scripting: fixed use of QUIK_ENABLE in VTOL-quicktune
...
this was lost when the cached access was added
2023-07-04 10:53:57 +10:00
Andrew Tridgell
678b81563d
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
2023-07-04 10:53:57 +10:00
Andy Piper
25ccd609d7
AP_HAL_ChibiOS: remove bdshot from speedybeef4 as it doesn't work and increases flash usage
2023-07-04 10:53:57 +10:00
Andy Piper
49c3d4e049
AP_HAL_ChibiOS: Pixhawk1-bdshot
2023-07-04 10:53:57 +10:00
Michael du Breuil
b3837ee911
AP_ADSB: Fix spam of lost transciever message at update() rate
2023-07-04 10:53:57 +10:00
Andy Piper
f7e657f6c5
AC_AutoTune: correct incorrect min raw rate valuee
2023-07-04 10:53:57 +10:00
Andrew Tridgell
5e657c4e7f
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
2023-07-04 10:53:57 +10:00
Andrew Tridgell
38a26f26a7
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
2023-07-04 10:53:57 +10:00
Peter Barker
a75ee432c8
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.
2023-07-04 10:53:57 +10:00
Andy Piper
a357d14f4b
AP_HAL_ChibiOS: Pixhawk6X bdshot version
2023-07-04 10:53:57 +10:00
jfbblue0922
3f3ba237fb
AP_HAL_ChibiOS: jfb100 gets shorter EXT_WDOG_INTERVAL_MS
2023-07-04 10:53:57 +10:00
jfbblue0922
9e19e12040
AP_HAL_CHibiOS: JFB100 hwdef fix for ext watchdog
2023-07-04 10:53:57 +10:00
jfbblue0922
4d7cce1b36
AP_HAL_ChibiOS: support external watchdog gpio
...
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
optional support to toggle GPIO pin at 10hz
2023-07-04 10:53:57 +10:00
Andrew Tridgell
f4a59b3a7e
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
2023-07-04 10:53:57 +10:00
Alexander Keller
94a3f2aff2
AP_GPS:Comform to ardupilot undulation definition
2023-07-04 10:53:57 +10:00
davidsastresas
ec79c3ffae
GCS_Common: handle CMD_DO_SET_ROI_NONE for command int packets
2023-07-04 10:53:57 +10:00
Randy Mackay
113ed38f82
AP_SerialManager: improve OPTIONS desc for Swap bit
2023-07-04 10:53:57 +10:00
Randy Mackay
8b825b4ea7
AP_SerialManager: generalise SToRM32 serial protocol desc and enum
2023-07-04 10:53:57 +10:00
Iampete1
3a34cf4562
AP_Motors: Heli RSC: remove incorrect set range call
2023-07-04 10:53:57 +10:00
Henry Wurzburg
f917554c4a
AP_HAL_ChibiOS: add Holybro KakuteH7-Wing
2023-07-04 10:53:57 +10: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