Commit Graph

32192 Commits

Author SHA1 Message Date
Andrew Tridgell e860bc325f AP_Logger: expand servo status logging 2023-09-05 19:42:25 +09:00
Andrew Tridgell d49eb9b5a1 AP_UAVCAN: support Himark servo protocol 2023-09-05 19:42:25 +09:00
Andy Piper 0eff0bb576 AP_HAL_ChibiOS: change incorrect I2C internal mask from SkystarsH7HD bdshot 2023-09-05 19:42:25 +09:00
Andrew Tridgell 84ddd8f9b4 hwdef: allow Pixhawk1-1M-bdshot to build for 4.4.0 2023-08-14 08:49:48 +09:00
Andrew Tridgell b842270196 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-14 08:49:48 +09:00
Andrew Tridgell f24507284a AP_Compass: allow override of IST8310 orientation
this allows for vendor GPS modules and internal compass which use a
different orientation
2023-08-14 08:49:48 +09:00
Andrew Tridgell aa0a9eb917 hwdef: added SIYI NY flight controller 2023-08-14 08:49:48 +09:00
Andrew Tridgell 7da87a811f 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-14 08:49:48 +09:00
Peter Barker e3a049ba40 GCS_MAVLink: fix airspeed cal / format commands via non-USB telemetry 2023-08-14 08:49:48 +09:00
Andrew Tridgell 334bd8eaa5 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-14 08:49:48 +09:00
Andrew Tridgell d48b95c4a7 AP_Airspeed: increased DroneCAN airspeed timeout 2023-08-14 08:49:48 +09:00
Andrew Tridgell 88f7246c7f AP_Airspeed: fixed handling of unhealthy airspeed
this fixes a bug introduced in
https://github.com/ArduPilot/ardupilot/pull/22416 which results in
using bad airspeed data on timeout. The prev_health variable is
updated by the get_pressure call
2023-08-14 08:49:48 +09:00
Randy Mackay 90e69def97 AP_Scripting: add rover quicktune 2023-08-01 16:51:27 +09:00
Randy Mackay 2f92f2c05c AP_Scripting: AR_PosControl bindings 2023-08-01 16:51:27 +09:00
Randy Mackay 034bf32a7a AP_Scripting: add AR_AttitudeControl srate binding
also add AP_Vehicle:get_steering_and_throttle binding
2023-08-01 16:51:27 +09:00
Randy Mackay d7631cc139 AC_PID: AC_PID_2D integrates SlewCalculator2D 2023-08-01 16:51:27 +09:00
Randy Mackay e81a18c83b Filter: add SlewCalculator2D 2023-08-01 16:51:27 +09:00
Randy Mackay e2f0cf9c77 Filter: SlewLimiter definitions moved to cpp 2023-08-01 16:51:27 +09:00
Randy Mackay 651e5ec62a AP_Vehicle: add get_steering_and_throttle 2023-08-01 16:51:27 +09:00
Randy Mackay 6540d12d66 AR_PosControl: add singleton and get_srate 2023-08-01 16:51:27 +09:00
Randy Mackay 6c87dcd32d AR_AttitudeControl: add singleton and get_srate 2023-08-01 16:51:27 +09:00
tiralonghipol cf92859abd AP_HAL_ChibiOS: add new board BlitzF745AIO 2023-08-01 16:51:27 +09:00
Andy Piper 926154c679 AP_HAL_ChibiOS: correct incorrect defaults for serial ports on FoxeerH743v1 2023-08-01 16:51:27 +09:00
Andy Piper 79485f72d4 AP_RCProtocol: report tracer frame rate correctly 2023-08-01 16:51:27 +09:00
Andy Piper 959d7ef80d AP_RCProtocol: rescan at CRSFv3 baud rates to avoid RX loss on soft reboot 2023-08-01 16:51:27 +09:00
Randy Mackay 869d1aea38 AR_PosControl: limit and zero velocity I-term
zero in forward-back direction
limit in lateral direction
2023-08-01 16:51:27 +09:00
Randy Mackay d6faa6e25f AR_AttitudeContol: add steering_limited checks 2023-08-01 16:51:27 +09:00
Randy Mackay 4f91d237cf AP_Math: Vector2f::projected made const 2023-08-01 16:51:27 +09:00
Andy Piper a43ea834fb AP_HAL_ChibiOS: correct comment in HEEWING-F405 v1 2023-08-01 16:51:27 +09:00
Andy Piper b511b73875 AP_HAL_ChibiOS: HEEWING-F405v2 which includes dataflash logging 2023-08-01 16:51:27 +09:00
Andy Piper c70509f3c6 AP_NavEKF3: fix docs on ABIAS_P_NSE_DEFAULT 2023-08-01 16:51:27 +09:00
Andrew Tridgell b12034bbb8 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 16:51:27 +09:00
Andy Piper 64b0cd1424 AP_BLHeli: add battery status MSP handling
give internal error if an unknown MSP command occurs
2023-08-01 16:51:27 +09:00
HelloLeFei 14d060aec3 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 16:51:27 +09:00
Mikhail Degtiarenko 925fb1e460 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 16:51:27 +09:00
Andrew Tridgell 1ee1919602 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 16:51:27 +09:00
bugobliterator 2bb19228a7 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-01 16:51:27 +09:00
Andrew Tridgell ddeb795782 AP_Scripting: added bindings for VTOL motor loss
this allows a script to take an action on loss of a VTOL motor
2023-08-01 16:51:27 +09:00
Andrew Tridgell 3ebbf672d7 HAL_ChibiOS: implement newlib alloc functions as malloc wrappers
this fixes issue #24106
2023-07-04 15:12:55 +09:00
Peter Barker b18dee217b AP_Notify: add driver for IS31FL3195 LED 2023-07-04 12:17:52 +09:00
Peter Barker fa9cb45fcb AP_Notify: add driver for LP5562 LED 2023-07-04 12:17:52 +09:00
Andrew Tridgell daa8d19d33 AP_Scripting: updated VTOL quicktune docs 2023-07-04 12:17:52 +09:00
Andrew Tridgell ec511357eb AP_Scripting: fixed lua-check warnings in VTOL-quicktune 2023-07-04 12:17:52 +09:00
Andrew Tridgell bb0f12fea4 AP_Scripting: fixed use of QUIK_ENABLE in VTOL-quicktune
this was lost when the cached access was added
2023-07-04 12:17:52 +09:00
Andrew Tridgell 87d992fdfc 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 12:17:52 +09:00
Andy Piper cd0d30d69c AP_HAL_ChibiOS: remove bdshot from speedybeef4 as it doesn't work and increases flash usage 2023-07-04 12:17:52 +09:00
Andy Piper 2b9395a42d AP_HAL_ChibiOS: Pixhawk1-bdshot 2023-07-04 12:17:52 +09:00
Michael du Breuil 0a959508f7 AP_ADSB: Fix spam of lost transciever message at update() rate 2023-07-04 12:17:51 +09:00
Andy Piper 2d57407b02 AC_AutoTune: correct incorrect min raw rate valuee 2023-07-04 12:17:51 +09:00
Andrew Tridgell e2dd996da1 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 12:17:51 +09:00
Andrew Tridgell 3dd9513a03 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 12:17:51 +09:00
Peter Barker 6b384ace77 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 12:17:51 +09:00
Andy Piper 18f5051005 AP_HAL_ChibiOS: Pixhawk6X bdshot version 2023-07-04 12:17:51 +09:00
jfbblue0922 36dbba0068 AP_HAL_ChibiOS: jfb100 gets shorter EXT_WDOG_INTERVAL_MS 2023-07-04 12:17:51 +09:00
jfbblue0922 95ea5b3b92 AP_HAL_CHibiOS: JFB100 hwdef fix for ext watchdog 2023-07-04 12:17:51 +09:00
jfbblue0922 4b31fe20df 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 12:17:51 +09:00
Andrew Tridgell 7b2e103ec3 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 12:17:51 +09:00
Alexander Keller 5d22115787 AP_GPS:Comform to ardupilot undulation definition 2023-07-04 12:17:51 +09:00
davidsastresas 0fa4e7cc1f GCS_Common: handle CMD_DO_SET_ROI_NONE for command int packets 2023-07-04 12:17:51 +09:00
Randy Mackay f2157b3d87 AP_SerialManager: improve OPTIONS desc for Swap bit 2023-07-04 12:17:51 +09:00
Randy Mackay ac28d560dd AP_SerialManager: generalise SToRM32 serial protocol desc and enum 2023-07-04 12:17:51 +09:00
Iampete1 9c6f57fb05 AP_Motors: Heli RSC: remove incorrect set range call 2023-07-04 12:17:51 +09:00
Henry Wurzburg 22d3146f38 AP_HAL_ChibiOS: add Holybro KakuteH7-Wing 2023-07-04 12:17:51 +09:00
Randy Mackay 9124c45ca9 AR_PosControl: add input_pos_vel_accel target 2023-06-08 10:05:36 +09:00
Randy Mackay 189e3634f1 AP_HAL_ChibiOS: JFB100 LED definition fix 2023-06-08 10:05:36 +09:00
Randy Mackay 26ee1f1df6 AP_InertialSensor: SCHA63T comment fix 2023-06-08 10:05:36 +09:00
Randy Mackay 348bf59bd0 AP_HAL_ChibiOS: JFB100 board def fixup 2023-06-08 10:05:36 +09:00
Randy Mackay 21a6e48f99 AP_InertialSensor: SCHA63T loses unused ret bool 2023-06-08 10:05:36 +09:00
jfbblue0922 e9bda3a311 AP_HAL_ChibiOS: add JFB100 board definition 2023-06-08 10:05:36 +09:00
Randy Mackay 4637156e6c AP_InertialSensor: formatting fixes 2023-06-08 10:05:36 +09:00
jfbblue0922 a908341b6c AP_InertialSensor: add SCHA63T IMU support 2023-06-08 10:05:36 +09:00
jfbblue0922 123b8113e8 AP_Math: add crc8_sae 2023-06-08 10:05:36 +09:00
Henry Wurzburg c6eaee053c AP_Notify: fix incorrect buzzer pin type to stop always instantiating 2023-06-08 10:05:36 +09:00
James O'Shannessy 98560d9a17 AP_BattMonitor: Fixes the setting of a default parameter for battery instance #2 set in hwdef 2023-06-08 10:05:36 +09:00
Randy Mackay 4959ec9100 AC_WPNav: wpnav speed param check fixed 2023-06-08 10:05:36 +09:00
Andrew Tridgell e2535a3851 HAL_ChibiOS: fixed USB pass-thru for 2nd USB endpoint
we need to align the endpoint ID in the structure
2023-06-08 10:05:36 +09:00
Andrew Tridgell 4f0a573c73 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 10:05:36 +09:00
Andrew Tridgell 303dad5ab6 AP_BoardConfig: fixed documentation of safety options
on and off were reversed
2023-06-08 10:05:36 +09:00
Iampete1 d00d5e09aa Filter: SlewLimiter: always caculate slew limit 2023-06-08 10:05:36 +09:00
Andrew Tridgell f0bf42706d AP_BattMonitor: allow max amps to be configured on INA2XX
this allows for higer current ranges with lower resolution
2023-06-08 10:05:36 +09:00
Andrew Tridgell 73a904a0ec hwdef: use zero address for INA2XX to allow for different sensors 2023-06-08 10:05:36 +09:00
Andrew Tridgell ee75016a12 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 10:05:36 +09:00
Andrew Tridgell abf4ba725a AP_BattMonitor: support INA228 and INA238 battery monitor
I2C monitors with similar functionality to INA226
2023-06-08 10:05:36 +09:00
Andy Piper 25f0860866 AC_AutoTune: load test gains for correct axis when testing yaw D 2023-06-08 10:05:36 +09:00
Paul Riseborough 880cffed9a 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 10:05:36 +09:00
Paul Riseborough 365e3aa62a AP_NavEKF3: Strengthen recovery from bad delta velocity bias learning 2023-06-08 10:05:36 +09:00
Paul Riseborough acfa1f108a 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 10:05:36 +09:00
Paul Riseborough 954a3cf1e2 AP_NavEKF3: Retune and fix delta velocity bias state variance protection 2023-06-08 10:05:36 +09:00
Andy Piper 7ac3209c93 AP_NavEKF: ensure gyro biases are numbers
avoid errors during compass mot
2023-06-08 10:05:36 +09:00
Paul Riseborough 565c65803a AP_NavEKF3: Lock in wind state estimates when using srag to dead reckon 2023-06-08 10:05:36 +09:00
Andrew Tridgell 78e6ff53b4 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 10:05:36 +09:00
Andrew Tridgell 18128ce3ad 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-06-08 10:05:35 +09:00
Andrew Tridgell c98b85a1a2 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-06-08 10:05:35 +09:00
Andrew Tridgell 22a904f102 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-06-08 10:05:35 +09:00
Andrew Tridgell d7c90c5a5b 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-06-08 10:05:35 +09:00
Andrew Tridgell 6d5c34dfa8 AP_Param: added set() to AP_Enum 2023-06-08 10:05:35 +09:00
Peter Barker 0a4f34cdd2 AP_Logger: do not rotate logs when disarming if we are replay-logging 2023-06-08 10:05:35 +09:00
Andrew Tridgell 397b521536 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-06-08 10:05:35 +09:00
Andrew Tridgell 4938593d4c 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-06-08 10:05:35 +09:00
Andrew Tridgell f0cca1aaf4 AP_Logger: use AP_Enum for log_disarmed 2023-06-08 10:05:35 +09:00