Commit Graph

32240 Commits

Author SHA1 Message Date
Randy Mackay
84791f4670 AP_Torqeedo: error code reporting fix 2024-01-07 10:59:28 +11:00
Peter Barker
c3c92bed26 AP_Notify: add IS31FL3195 to default LED types 2024-01-07 10:59:28 +11:00
Peter Barker
4f56010862 AP_Notify: document IS31FL3195 LED type for LED_TYPES parameter 2024-01-07 10:59:28 +11:00
Martin Luessi
fb7ff72c16 RADIX2HD: Set HAL_I2C_INTERNAL_MASK 2024-01-07 10:59:28 +11:00
Andrew Tridgell
3297ebd442 AP_BattMonitor: fixed battery percentage with aux info
when we have aux battery information we had assumed the CAN device
would provide the battery remaining percentage. We should obey the "do
not use CAN SoC" with or without an AUX message

This fixes CAN battery monitors with a cell monitor
2024-01-07 10:59:28 +11:00
Martin Luessi
26a2b3da58 AP_HAL_ChibiOS: RADIX2HD Probe external I2C compasses 2024-01-07 10:59:28 +11:00
Peter Barker
3b496393f0 AP_GPS: correct uBlox M10 configuration on minimised boards 2024-01-07 10:59:28 +11:00
yjuav
16eed7827e hwdef: add YJUAV_A6SE_H743 board support (4.4 backport) 2024-01-07 10:59:28 +11:00
Andrew Tridgell
b956eefdd0 AP_ESC_Telem: expose update_telem_data for scripting 2024-01-07 10:59:28 +11:00
Andrew Tridgell
f10a942470 AP_Scripting: added bindings for telemetry data for ESCs
allows more complete ESC protocol implementation in scripting
2024-01-07 10:59:28 +11:00
Peter Barker
4145acb6b1 GCS_MAVLink: correct mavlink result when airspeed not available
only in progress if we have started a task running
2024-01-07 10:59:28 +11:00
Andrew Tridgell
a0114f6c9f hwdef: bugfixes for BETAFPV-F405 2024-01-07 10:59:28 +11:00
bugobliterator
8c815644a1 AP_HAL_ChibiOS: enable save/restore of SPI SCK pin during spiStop Start for CubeOrangePlus 2024-01-07 10:59:28 +11:00
bugobliterator
06ffb9cf20 AP_HAL_ChibiOS: add option to set HAL_SPI_SCK_SAVE_RESTORE 2024-01-07 10:59:28 +11:00
bugobliterator
0210b4242b AP_HAL_ChibiOS: fix mode setting for ICM45686 on CubeOrangePlus 2024-01-07 10:59:28 +11:00
bugobliterator
6308d5fb33 AP_HAL_ChibiOS: add support for saving and restoring SCK pin state
when SPI goes into undefined state during reset
2024-01-07 10:59:28 +11:00
Andrew Tridgell
39632e4a40 AP_Mount: fixed SIYI parser bug
this caused lots of lost packets
2024-01-07 10:59:28 +11:00
Andrew Tridgell
eed1738324 AP_GPS: implement the GPS_DRV_OPTION for ellisoid height in mode drivers
this allows a lot more drivers to use the GPS_DRV_OPTION but to use
ellisoid height. Particularly useful for DroneCAN GPS modules

using ellisoid height instead of AMSL is useful in some specialised
application
2024-01-07 10:59:28 +11:00
Hayden
c04d01ced6 AP_Compass: fix AK09916 hangup issue 2024-01-07 10:59:28 +11:00
Andrew Tridgell
76e157c241 AP_InertialSensor: fix for ICM42688 stuck gyro issue
these undocumented bits in register 0x4d control the "adaptive full
scale range" mode of the ICM42688. The feature is enabled by default
but has a bug where it gives "stuck" gyro values for short periods
(between 1ms and 2ms):, leading to a significant gyro bias at longer
time scales, enough to in some cases cause a vehicle to crash if it is
unable to switch to an alternative IMU

this fixes https://github.com/ArduPilot/ardupilot/issues/25025
2024-01-07 10:59:28 +11:00
Andrew Tridgell
1727d9a5be Filter: protect against extremely low notch filter frequencies
an incorrectly configured ESC telemetry source can lead to a notch
running at very low frequencies. A simple example is a lua script like
this:

function update()
   esc_telem:update_rpm(12, 0, 0)
   return update, 10
end
return update()

where motor 12 is unused.

with that script in place we get a 1.0078 Hz filter which leads to
massive phase lag and a crashed aircraft

this is a safety protection. We should also try to find out why the
INS_HNTCH_FREQ lower limit is not working
2024-01-07 10:59:28 +11:00
Andrew Tridgell
9547a2a6ab AP_GPS: allow GPS moving baseline rover at 3Hz
users with busy CAN bus often get significiantly lower GPS rates on a
moving baseline rover, preventing arming. This PR relaxes the required
frame rate as the EKF is quite happy with 3Hz yaw and the yaw is the
only data consumed from a moving baseline rover
2024-01-07 10:59:28 +11:00
Andrew Tridgell
162a23eee0 AP_Logger: added build directory to VER message
this allows log review tools to use right parameter and mode map when vendor has changed the
vehicle type strings
2024-01-07 10:59:28 +11:00
Andrew Tridgell
4cec3f0856 AP_RCProtocol: protect against invalid data in SBUS 2024-01-07 10:59:28 +11:00
Andrew Tridgell
f88ea97131 AP_OpenDroneID: only load from persistent memory in init()
we do not want to do this from update() as it is an expensive call
2024-01-07 10:59:28 +11:00
Henry Wurzburg
d956a135b5 AP_OSD:Update/correct DisplayPort BF MSP symbols 2024-01-07 10:59:28 +11:00
Henry Wurzburg
ebc157b0e6 AP_OSD:add option to convert home,wind,waypoint and gndspd arrows for BF font set 2024-01-07 10:59:28 +11:00
Andrew Tridgell
5d7e7c0477 AP_BattMonitor: added SHUNT parameter to INS2xx driver
some vendors want different shunt resistors
2024-01-07 10:59:28 +11:00
Andrew Tridgell
3c367d3af4 AP_InertialSensor: fixed the error value for BMI088
the bad value is -32768 not 0xffff (which is -1)

-32768 badly corrupts the low-pass filter, and is what we see in logs
(a large negative spike on all 3 axes)

update to bug fix from:
https://github.com/ArduPilot/ardupilot/pull/23033
2024-01-07 10:59:28 +11:00
alexklimaj
b447157205 hwdef: arkv6x default to no IO MCU 2024-01-07 10:59:28 +11:00
Henry Wurzburg
223ea12689 hwdef:add VTX power control to SpeedyBeeF405-Wing 2024-01-07 10:59:27 +11:00
Peter Barker
e55e9428e5 AP_TECS: ensure good TECS state before running update_pitch_throttle
update_pitch_throttle can be called when update_50hz hasn't run in a very long time, or ever.  This requires a main loop rate >50Hz, and for the mode change to occur in the same loop that update_50Hz doesn't run but update_pitch_throttle does.
2024-01-07 10:59:27 +11:00
Andrew Tridgell
5f69bda431 AP_TECS: fixed descent or lack of climb bug
this fixes a state where we either cannot climb or descend in an
uncontrolled manner in a TECS controlled mode

the conditions under which this happened were:

- _use_synthetic_airspeed_once was true due to quadplane takeoff
- we left _thr_clip_status as MAX from previous use of synthetic airspeed
- then run without airspeed

note that this can also impact users with an airspeed sensor if they
disable it or it fails in flight, particularly during a climb
2024-01-07 10:59:27 +11:00
Peter Barker
b06ba1bacd SITL: fix balancebot yaw reset to be kinimatically consistent
... or at least closer to it.

We were hard-resetting the yaw to zero when the vehicle was upright.  That makes for huge simulated gyro rates, and that means the differences between the gyros can be huge sample-to-sample, so we can get gyros-inconsistent errors.

Fix things so we don't reset yaw at the same time as pitch, and also twist the vehicle to point North again when disarmed.
Backport of PR https://github.com/ArduPilot/ardupilot/pull/25046
2024-01-07 10:59:27 +11:00
Peter Barker
186678848d SITL: reset balancebot to vertical in a kinmetically consistent manner
The hard-reset of all state variables means we feed the EKF inconsistent gyro data.  Attempt to upright the vehicle with a simple p-gain when it is disarmed, as if someone is pushing the thing back upright
Backport of PR https://github.com/ArduPilot/ardupilot/pull/24314
2024-01-07 10:59:27 +11:00
bugobliterator
4bc1c1501f AP_OpenDroneID: ensure Persistent memory is not read continuously 2024-01-07 10:59:27 +11:00
bugobliterator
185620ccca GCS_MAVLink: move sysid_my_gcs to be public 2024-01-07 10:59:27 +11:00
bugobliterator
84e69fb47a AP_HAL_ChibiOS: remove Chip ID as Basic ID mechanism 2024-01-07 10:59:27 +11:00
bugobliterator
5d604a33b5 AP_OpenDroneID: remove Chip ID as Basic ID mechanism 2024-01-07 10:59:27 +11:00
bugobliterator
e0c4d43c81 AP_HAL_ChibiOS: explain DID_OPTIONS config in CubeOrange-ODID/defaults.parm 2024-01-07 10:59:27 +11:00
bugobliterator
48850c8304 AP_OpenDroneID: add support for persistent storage of UAS ID 2024-01-07 10:59:27 +11:00
bugobliterator
13e8691720 AP_HAL: add support for get_persistent_param_by_name 2024-01-07 10:59:27 +11:00
bugobliterator
5a8bb80605 AP_HAL_ChibiOS: add support for get_persistent_param_by_name 2024-01-07 10:59:27 +11:00
bugobliterator
12e4ee9d3f AP_HAL_ChibiOS: add support for storing OpenDroneID in bootloader sector 2024-01-07 10:59:27 +11:00
Andy Piper
f6f8b316ca hwdef: ensure SpeedyBeeF405Mini builds on plane 2024-01-07 10:59:27 +11:00
Andy Piper
dae8e6afb9 hwdef: adjust serial protocol defaults on various boards for 4.4 naming scheme 2024-01-07 10:59:27 +11:00
Andy Piper
04d6c2e3c3 hwdef: SpeedyBeeF405Mini 2024-01-07 10:59:27 +11:00
Peter Barker
b68820a1b6 GCS_MAVLink: correct sensors when no baros found
GCSs will know we have no baros on-board, as will the RC telemetry library
2024-01-07 10:59:27 +11:00
Andy Piper
3671a237c2 AP_HAL_ChibiOS: T-Motor H743 Mini 2024-01-07 10:59:27 +11:00
Andy Piper
bded542bd3 AP_HAL_ChibiOS: provide mcu defaults in betaflight conversion 2024-01-07 10:59:27 +11:00