Commit Graph

30726 Commits

Author SHA1 Message Date
Andy Piper 750a914cce 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-27 11:14:47 +09:00
Andy Piper 6dda5b223c AP_HAL_ChibiOS: ensure that DMA source is correct on DMA send for rcout 2023-03-27 11:14:47 +09:00
Andrew Tridgell eb49e2ef17 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 11:57:57 +09:00
bugobliterator 464e7d183a AP_HAL_ChibiOS: add CubeOrangePlus-bdshot hwdef 2023-03-26 11:57:57 +09:00
Peter Barker 5d7d13f1a4 AP_Mount: rename local _chan to chan in Gremsy methods
based on PR feedback
2023-03-02 15:01:23 +09:00
Peter Barker 6cc4afaa56 GCS_MAVLink: add method to get link (not just channel number) for mavtype and compid 2023-03-02 15:01:23 +09:00
Peter Barker d1acebe415 AP_Mount: correct double-mapping of port to channel number
set_message_interval takes a port number, not a channel number (it was originally written as an internal function, after all).  Before this patch we were double-mapping from one to the other.  That works so long as the port you are mapping also corresponds to the chanel number - which it will, for example, if you are using serial2 with both serial0 and serial1 also set to mavlink.  If you set serial5_protocol to 2 an attempt to use it for controlling a gremsy it will *not* work because we map into backwards twice.
2023-03-02 15:01:23 +09:00
Reilly Callaway b3982a61f7 AP_PiccoloCAN: Fix ESC voltage and current telem scaling 2023-03-02 15:01:23 +09:00
bugobliterator 27240716dd AP_HAL_ChibiOS: add HAL_WITH_MCU_MONITORING define for H757 2023-03-02 15:01:23 +09:00
Randy Mackay 4452745892 AP_Mount: servo mount yaw handling fix 2023-03-02 15:01:23 +09:00
Andrew Tridgell c6a2b03f91 AP_AHRS: fixed earth frame accel for EKF3 with significant trim 2023-03-02 15:01:23 +09:00
Andy Piper 312549d773 AP_HAL_ChibiOS: enable VTX power on MambaF405 2022 2023-03-02 15:01:23 +09:00
Iampete1 d019a3d865 AP_TECS: protect against low airspeed in reset 2023-03-02 15:01:23 +09:00
Andrew Tridgell 5afe4954e9 AP_GPS: don't try and configure M10 options on non-M10 GPS
this fixes a pre-arm failure "GPS 1 failing configuration checks" on
non-M10 GPS modules, including AP_Periph

it also adds the ublox unconfigured msgs to the DroneCAN GNSS.Status
errors field for easier diagnosis of this type of issue in the future
2023-03-02 15:01:23 +09:00
Andrew Tridgell d6c5765ff9 AP_Scripting: disable PWMSource in scripts for 4.3.4
this avoids the interrupt handling bug. Proper fix in 4.4.x
2023-03-02 15:01:23 +09:00
Andy Piper e6e96bcf5e AP_HAL_ChibiOS: probe external compasses on foxeer reaper f745 2023-02-14 16:35:40 +09:00
Andy Piper be6bd4be8b AP_HAL_ChibiOS: enable VTX power on MambaH743v4 2023-02-14 16:35:40 +09:00
bugobliterator e2fede3e3b AP_HAL_ChibiOS: add support for CubeOrangePlus BG edition 2023-02-14 16:25:55 +09:00
Andrew Tridgell 01bbbc1f45 AP_IOMCU: fixed an issue with double reset of IOMCU
if the IOMCU resets twice in quick succession then the code that
restores the safety state while flying can fail, leading to the
aircraft trying to continue flying with safety on

This results from two issues:

- a race in handling the last_safety_off variable
- the fact that plane sets the soft_armed state based on safety state
2023-02-14 16:25:55 +09:00
Bob Long 33fafed63c AP_Baro: fix bug in alt error arming check
get_altitude_difference already subtracts MSL altitude
2023-02-14 16:25:54 +09:00
Andrew Tridgell 9853fc4a65 RC_Channel: disable FFT notch tune feature
See https://github.com/ArduPilot/ardupilot/pull/22686
2023-02-14 16:25:54 +09:00
Andy Piper 703020be12 AP_HAL: ensure the DSP tracked peaks do not overflow the buffer 2023-02-14 16:25:54 +09:00
rishabsingh3003 4d437c3368 AC_Precland: Add option to resume precland after manual override 2023-02-14 16:25:54 +09:00
Andrew Tridgell 8219b50023 AP_CANManager: add an output buffer for MAVCAN
this fixes firmware update of peripheral nodes using MAVCAN
2023-02-14 16:25:54 +09:00
Peter Barker 3d7c6a9cfb AP_Logger: avoid logging duplicate FMT/UNIT/FMTU/MULT messages
Failing due to being out of time meant we wouldn't incremement the counter, even though we'd emitted the item.

it is important we try to send something, so move this check to be after we increment whichever counter we are using.
2023-02-14 16:25:54 +09:00
Andrew Tridgell 1b9f695188 AP_OpenDroneID: set EMERGENCY status on crash or chute deploy
RemoteID modules are required to set EMERGENCY status on uncontrolled
descent or crash. This fixes our implementation to do that, either via
existing vehicle crash checking code or via a parachute release
2023-02-14 16:25:54 +09:00
Andrew Tridgell 59d5691e37 AP_Compass: fixed zero compass diagonals
this fixes a regression from 4.2 to 4.3.

previously we automatically set the diagnoals to 1,1,1 if they were
0,0,0. We don't do that any more. I was helping a user who had copied
an old config with 0,0,0 for diagonals and did not understand two
things:

- the compass did not work in 4.3
- large vehicle mag cal didn't work
2023-02-14 16:25:54 +09:00
Randy Mackay f677d876a7 GCS_MAVlink: send_autopilot_state_for_gimbal_device sends ef z-axis rate target 2023-02-14 16:25:54 +09:00
Randy Mackay 2616afc5c8 AP_Vehicle: replace get_rate_bf_targets with get_rate_ef_targets 2023-02-14 16:25:54 +09:00
Randy Mackay fa77792d69 AC_AttitudeControl: add get_rate_ef_targets accessor 2023-02-14 16:25:54 +09:00
Andrew Tridgell 481cb4d03d AP_RCProtocol: on IOMCU don't allow protocol to change once detected
this prevents a crash where in-flight noise causes an incorrect
protocol detection, such as DSM for a SBUS input
2023-02-14 16:25:53 +09:00
Andrew Tridgell 93136f84a2 AP_Scripting: fixed alt frame error in ship landing
if terrain follow is enabled then this would result in mixing a
terrain alt with an absolute alt, resulting in attempts to descend to
a negative alt
2023-01-20 10:12:59 +09:00
Andrew Tridgell 9032a91b1e AP_InertialSensor: cleanup NAMED_VALUE_FLOAT for fifo error 2023-01-20 10:12:59 +09:00
Andrew Tridgell c89d5448b2 AP_InertialSensor: fixed flood of log with fast fifo reset 2023-01-20 10:12:59 +09:00
Andrew Tridgell d48ab3b384 GCS_MAVLink: fixed FTP terminate session error
this caused ftp downloads to intermittently fail. The cause is the FTP
client may ask for a session terminate and then immediately afterwards
a ftp open. The open would fail as the ftp session was considered
active
2023-01-20 10:12:59 +09:00
Andrew Tridgell f2c9b3ac06 hwdef: save flash to get 4.3.3 building on some low flash boards 2023-01-10 10:14:12 +09:00
Andy Piper bd506117f2 AP_HAL_ChibiOS: support for MambaF405-2022B
Co-authored-by: vidmantas zemleris <vidmantas.zemleris@gmail.com>
2023-01-10 10:14:12 +09:00
Andy Piper 2a8c6cace0 AP_HAL_ChibiOS: MambaH743 v2 with dual ICM42688 2023-01-10 10:14:12 +09:00
Andy Piper 2daf595537 AP_HAL_ChibiOS: add UART baudrate accessor 2023-01-10 10:14:12 +09:00
Andy Piper 97fa597e19 AP_HAL: add UART baudrate accessor 2023-01-10 10:14:12 +09:00
Andy Piper d7f0bf786a RC_Channel: add option to support ELRS at 420kbaud 2023-01-10 10:14:12 +09:00
Andy Piper 3838749062 AP_RCTelemetry: report CRSF link rate rather than mode.
Encode actual protocol being used
cleanup is_elrs() and version numbers
2023-01-10 10:14:12 +09:00
Andy Piper a4e198d5b0 AP_RCProtocol: check for 3 good frames for CRSF
Move get_link_rate() and get_protocol_string() to CRSF protocol
allow ELRS at 420kbaud to be configured
allow CRSF to bootstrap at ELRS desired baudrate
2023-01-10 10:14:12 +09:00
Andrew Tridgell 5cbd810e41 AC_AttitudeControl: fixed time wrap bug in is_active_xy()
this failed at 70 minutes
2023-01-10 10:14:12 +09:00
Kirill Shilov fe2f5acff6 AIRLink hwdef: added heater parameters 2023-01-10 10:14:12 +09:00
Andrew Tridgell 1f05ee2232 GCS_MAVLink: optimise FTP for available bandwidth
when we don't have hardware flow control don't use more than 1/3 of
available bandwidth for ftp outgoing transfers. This makes parameter
download faster on radios without flow control
2023-01-10 10:14:12 +09:00
Andrew Tridgell 5de8fcc777 AP_HAL: check for null buffer in ObjectBuffer get_size() 2023-01-10 10:14:12 +09:00
Andrew Tridgell 247b8d0739 GCS_MAVLink: check for alloc failure of ObjectBuffer 2023-01-10 10:14:12 +09:00
Andrew Tridgell 68352534be AP_Scripting: check for alloc failure of ObjectBuffer 2023-01-10 10:14:12 +09:00
Andrew Tridgell 9154db9ae2 AP_HAL_Linux: check for alloc failure of ObjectBuffer 2023-01-10 10:14:12 +09:00