Commit Graph

32173 Commits

Author SHA1 Message Date
Randy Mackay 3d16dd5b82 AR_PosControl: add singleton and get_srate 2023-08-01 16:48:42 +09:00
Randy Mackay 72f8372adc AR_AttitudeControl: add singleton and get_srate 2023-08-01 16:48:42 +09:00
tiralonghipol 1c57ca14aa AP_HAL_ChibiOS: add new board BlitzF745AIO 2023-08-01 16:48:42 +09:00
Andy Piper 84d98514a9 AP_HAL_ChibiOS: correct incorrect defaults for serial ports on FoxeerH743v1 2023-08-01 16:48:42 +09:00
Andy Piper 352bc482af AP_RCProtocol: report tracer frame rate correctly 2023-08-01 16:48:42 +09:00
Andy Piper de730eef64 AP_RCProtocol: rescan at CRSFv3 baud rates to avoid RX loss on soft reboot 2023-08-01 16:48:42 +09:00
Randy Mackay d5b01ee404 AR_PosControl: limit and zero velocity I-term
zero in forward-back direction
limit in lateral direction
2023-08-01 16:48:42 +09:00
Randy Mackay d3e4dd08d1 AR_AttitudeContol: add steering_limited checks 2023-08-01 16:48:42 +09:00
Randy Mackay 5702c6a672 AP_Math: Vector2f::projected made const 2023-08-01 16:48:42 +09:00
Andy Piper dada9f8720 AP_HAL_ChibiOS: correct comment in HEEWING-F405 v1 2023-08-01 16:48:42 +09:00
Andy Piper 1227b7ab02 AP_HAL_ChibiOS: HEEWING-F405v2 which includes dataflash logging 2023-08-01 16:48:42 +09:00
Andy Piper 168756ce76 AP_NavEKF3: fix docs on ABIAS_P_NSE_DEFAULT 2023-08-01 16:48:42 +09:00
Andrew Tridgell 2d8600ea91 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:48:42 +09:00
Andy Piper 886f24764c AP_BLHeli: add battery status MSP handling
give internal error if an unknown MSP command occurs
2023-08-01 16:48:42 +09:00
HelloLeFei a4b5c3001e 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:48:42 +09:00
Mikhail Degtiarenko ed8ae82267 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:48:42 +09:00
Andrew Tridgell 8f55281cb8 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:48:42 +09:00
bugobliterator 0c12b3bfaf 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:48:42 +09:00
Andrew Tridgell 1dbc39d1f4 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:48:42 +09:00
Andrew Tridgell 0d6f49c67d HAL_ChibiOS: implement newlib alloc functions as malloc wrappers
this fixes issue #24106
2023-07-04 15:08:27 +09:00
Peter Barker 3c43fb6de8 AP_Notify: add driver for IS31FL3195 LED 2023-07-04 12:16:30 +09:00
Peter Barker c1f30b24e0 AP_Notify: add driver for LP5562 LED 2023-07-04 12:16:30 +09:00
Andrew Tridgell 15f4924499 AP_Scripting: updated VTOL quicktune docs 2023-07-04 12:16:30 +09:00
Andrew Tridgell a3f1ccb5e2 AP_Scripting: fixed lua-check warnings in VTOL-quicktune 2023-07-04 12:16:30 +09:00
Andrew Tridgell 8ecc43ddbc AP_Scripting: fixed use of QUIK_ENABLE in VTOL-quicktune
this was lost when the cached access was added
2023-07-04 12:16:30 +09:00
Andrew Tridgell fa18fc072b 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:16:30 +09:00
Andy Piper ad5b8563b5 AP_HAL_ChibiOS: remove bdshot from speedybeef4 as it doesn't work and increases flash usage 2023-07-04 12:16:30 +09:00
Andy Piper 287053961c AP_HAL_ChibiOS: Pixhawk1-bdshot 2023-07-04 12:16:30 +09:00
Michael du Breuil 4cf19a74b4 AP_ADSB: Fix spam of lost transciever message at update() rate 2023-07-04 12:16:30 +09:00
Andy Piper 42e18db221 AC_AutoTune: correct incorrect min raw rate valuee 2023-07-04 12:16:30 +09:00
Andrew Tridgell 1d686ff806 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:16:30 +09:00
Andrew Tridgell 6db228900b 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:16:30 +09:00
Peter Barker e363438c23 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:16:30 +09:00
Andy Piper 1d74020aac AP_HAL_ChibiOS: Pixhawk6X bdshot version 2023-07-04 12:16:30 +09:00
jfbblue0922 fbd77be980 AP_HAL_ChibiOS: jfb100 gets shorter EXT_WDOG_INTERVAL_MS 2023-07-04 12:16:30 +09:00
jfbblue0922 ce39ae40aa AP_HAL_CHibiOS: JFB100 hwdef fix for ext watchdog 2023-07-04 12:16:30 +09:00
jfbblue0922 7b60ac7afa 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:16:30 +09:00
Andrew Tridgell cce16c9ada 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:16:30 +09:00
Alexander Keller 6f38788575 AP_GPS:Comform to ardupilot undulation definition 2023-07-04 12:16:30 +09:00
davidsastresas eb5e86ecf0 GCS_Common: handle CMD_DO_SET_ROI_NONE for command int packets 2023-07-04 12:16:30 +09:00
Randy Mackay 954c3666cc AP_SerialManager: improve OPTIONS desc for Swap bit 2023-07-04 12:16:30 +09:00
Randy Mackay 5713560a81 AP_SerialManager: generalise SToRM32 serial protocol desc and enum 2023-07-04 12:16:30 +09:00
Iampete1 ea9e051220 AP_Motors: Heli RSC: remove incorrect set range call 2023-07-04 12:16:30 +09:00
Henry Wurzburg 323ab6f5a1 AP_HAL_ChibiOS: add Holybro KakuteH7-Wing 2023-07-04 12:16:30 +09:00
Randy Mackay ec2cdda03e AR_PosControl: add input_pos_vel_accel target 2023-06-08 09:29:59 +10:00
Randy Mackay 7db0c888e4 AP_HAL_ChibiOS: JFB100 LED definition fix 2023-06-08 09:29:59 +10:00
Randy Mackay c74eea54c5 AP_InertialSensor: SCHA63T comment fix 2023-06-08 09:29:59 +10:00
Randy Mackay 9960e1e128 AP_HAL_ChibiOS: JFB100 board def fixup 2023-06-08 09:29:59 +10:00
Randy Mackay 655bdb3390 AP_InertialSensor: SCHA63T loses unused ret bool 2023-06-08 09:29:59 +10:00
jfbblue0922 4b556ea472 AP_HAL_ChibiOS: add JFB100 board definition 2023-06-08 09:29:59 +10:00
Randy Mackay fbfd8d506a AP_InertialSensor: formatting fixes 2023-06-08 09:29:59 +10:00
jfbblue0922 81424e2d05 AP_InertialSensor: add SCHA63T IMU support 2023-06-08 09:29:59 +10:00
jfbblue0922 7cfa0a6848 AP_Math: add crc8_sae 2023-06-08 09:29:59 +10:00
Henry Wurzburg ed81577bcc AP_Notify: fix incorrect buzzer pin type to stop always instantiating 2023-06-08 09:29:59 +10:00
James O'Shannessy d8721a72a2 AP_BattMonitor: Fixes the setting of a default parameter for battery instance #2 set in hwdef 2023-06-08 09:29:59 +10:00
Randy Mackay 110901e95d AC_WPNav: wpnav speed param check fixed 2023-06-08 09:29:59 +10:00
Andrew Tridgell 169d180961 HAL_ChibiOS: fixed USB pass-thru for 2nd USB endpoint
we need to align the endpoint ID in the structure
2023-06-08 09:29:59 +10:00
Andrew Tridgell 6f5d3a0dfd 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 09:29:59 +10:00
Andrew Tridgell 5f6a1f7f71 AP_BoardConfig: fixed documentation of safety options
on and off were reversed
2023-06-08 09:29:59 +10:00
Iampete1 5d1bb3b1ca Filter: SlewLimiter: always caculate slew limit 2023-06-08 09:29:59 +10:00
Andrew Tridgell 250a4ffcef AP_BattMonitor: allow max amps to be configured on INA2XX
this allows for higer current ranges with lower resolution
2023-06-08 09:29:59 +10:00
Andrew Tridgell 67cfbcfc41 hwdef: use zero address for INA2XX to allow for different sensors 2023-06-08 09:29:59 +10:00
Andrew Tridgell b8b9f82084 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 09:29:59 +10:00
Andrew Tridgell f54d851364 AP_BattMonitor: support INA228 and INA238 battery monitor
I2C monitors with similar functionality to INA226
2023-06-08 09:29:59 +10:00
Andy Piper ebd66e88e0 AC_AutoTune: load test gains for correct axis when testing yaw D 2023-06-08 09:29:59 +10:00
Paul Riseborough d98a60c2e1 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 09:29:59 +10:00
Paul Riseborough da22519de8 AP_NavEKF3: Strengthen recovery from bad delta velocity bias learning 2023-06-08 09:29:59 +10:00
Paul Riseborough 17003ff0f5 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 09:29:59 +10:00
Paul Riseborough 9c93cb8d46 AP_NavEKF3: Retune and fix delta velocity bias state variance protection 2023-06-08 09:29:59 +10:00
Andy Piper 383297f6be AP_NavEKF: ensure gyro biases are numbers
avoid errors during compass mot
2023-06-08 09:29:59 +10:00
Paul Riseborough 444f90352f AP_NavEKF3: Lock in wind state estimates when using srag to dead reckon 2023-06-08 09:29:59 +10:00
Andrew Tridgell 41e922c60e 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 09:29:59 +10:00
Andrew Tridgell 87c767df5c 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 09:29:59 +10:00
Andrew Tridgell 3b50123f18 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 09:29:59 +10:00
Andrew Tridgell 784bfb53f2 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 09:29:59 +10:00
Andrew Tridgell 259e51e0e8 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 09:29:59 +10:00
Andrew Tridgell 2bbffdd6c6 AP_Param: added set() to AP_Enum 2023-06-08 09:29:59 +10:00
Peter Barker 38279fc5dd AP_Logger: do not rotate logs when disarming if we are replay-logging 2023-06-08 09:29:59 +10:00
Andrew Tridgell e3537cb01d 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 09:29:59 +10:00
Andrew Tridgell 1c78e4f7f9 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 09:29:59 +10:00
Andrew Tridgell f69188d43a AP_Logger: use AP_Enum for log_disarmed 2023-06-08 09:29:59 +10:00
Henry Wurzburg b23b6cd4bf AP_HAL_ChibiOS: Add SpeedyBeeF405WING 2023-06-08 09:29:59 +10:00
Andy Piper 69c0b1c567 AP_HAL_ChibiOS: correct locking on LED thread 2023-05-28 07:53:16 +10:00
Andy Piper e8d1afd108 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-05-28 07:53:16 +10:00
Andy Piper f97cd5c5ab AP_HAL: add helper functions for LEDs
add PRIORITY_LED for led output thread
2023-05-28 07:53:16 +10:00
Andy Piper c042577827 AP_HAL_ChibiOS: reduce IMU SPI low speed to 1Mhz to avoid chip initialization issues 2023-05-25 18:12:00 +01:00
Andy Piper d1600d3bf7 AP_HAL_ChibiOS: FoxeerH743 GA release 2023-05-24 17:21:41 +10:00
Andy Piper 9afcc8cf24 AP_HAL_ChibiOS: update MambaF405v2 for ICM42688, bdshot and DMA on UART1 2023-05-24 17:20:05 +10:00
Andy Piper a667e3728c AP_HAL_ChibiOS: add BMI270 and ICM42688 to FlywooF745 2023-05-24 17:20:05 +10:00
Andy Piper d5535cc0cf AP_HAL_ChibiOS: remove erroneous FlywooF745v2 2023-05-24 17:20:05 +10:00
Andy Piper 3ec036c4ea AP_HAL_ChibiOS: hwdef for FlywooF745v2
Add SPL06 baro to FlywooF745v1
2023-05-24 17:20:05 +10:00
Paul Riseborough 3c99766a5a AP_NavEKF3: Improve protection against GPS glitches during yaw alignment 2023-04-21 09:48:59 +10:00
Paul Riseborough 007bc804bd AP_NavEKF3: Reduce use of GSF yaw for planes with no compass 2023-04-21 09:48:59 +10:00
Andy Piper 27628099ce AP_HAL_ChibiOS: hwdef for MatekF405-TE/VTOL including bdshot 2023-04-21 09:48:59 +10:00
bugobliterator 42d21ab9bc AP_InertialSensor: fix hardfault in BatchSampler 2023-04-21 09:48:59 +10:00
Peter Barker f3502a71e9 AP_InertialSensor: correct access beyond array in Ins TCal 2023-04-21 09:48:59 +10:00
Peter Barker aecffd2778 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:59 +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