Commit Graph

57426 Commits

Author SHA1 Message Date
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 0f208c7d90 Plane: prepare for 4.4.2 release 2024-01-07 10:59:28 +11:00
Andrew Tridgell 5244fb48fa Plane: update release notes for 4.4.2 2024-01-07 10:59:28 +11:00
Iampete1 2302c584cb Copter: verison to 4.4.2 2024-01-07 10:59:28 +11:00
Iampete1 7e144ca2ec Copter: 4.4.2 stable release notes 2024-01-07 10:59:28 +11:00
Randy Mackay 2b795058c9 Copter: update 4.4.2-beta1 release notes 2024-01-07 10:59:28 +11:00
Randy Mackay ad4ff9e711 Rover: update 4.4.2-beta1 release notes 2024-01-07 10:59:28 +11:00
Randy Mackay 2598b192a9 Copter: version to 4.4.2-beta1 2024-01-07 10:59:28 +11:00
Randy Mackay 488cfd5572 Copter: 4.4.2-beta1 release notes 2024-01-07 10:59:28 +11:00
Randy Mackay eb786083f2 Rover: version to 4.4.0-beta8 2024-01-07 10:59:28 +11:00
Randy Mackay 9791f2674a Rover: 4.4.0-beta8 release notes 2024-01-07 10:59:28 +11:00
Randy Mackay bf02ebcf30 Plane: version to 4.4.2-beta1 2024-01-07 10:59:28 +11:00
Randy Mackay 1baed6585b Plane: 4.4.2-beta1 release notes 2024-01-07 10:59:28 +11:00
Andrew Tridgell 33f81370f4 Plane: use deadzone in stick mixing
this prevents small RC input deviations from impacting non-pilot
controlled modes via stick mixing
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 0f31b2d82b Tools: rebuild IO firmware for SBUS change 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 278587b04a Plane: fixed terrain RTL with rally points
this fixes a bug where if the terrain database cache does not have the
tile for the location of a rally point then RTL to the rally point
with TERRAIN_FOLLOW=1 will not track terrain

The underlying issue is that Location::loc.change_alt_frame() will
return false if the location is not in the terrain memory cache. We
can't just extrapolate as the rally point could be in a totally
different terrain area to the current location. So instead we set it
as terrain_following_pending and fix it as soon as the terrain cache
is filled.

fixes https://github.com/ArduPilot/ardupilot/issues/25157
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 429e7d2fc9 Tools: allow Ohm units in parameters
# Conflicts:
#	Tools/autotest/param_metadata/param.py
#	libraries/AP_BattMonitor/AP_BattMonitor_INA2xx.cpp
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 379a905abd autotest: CI fixes for 4.4 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
Peter Barker 2caa9321d3 autotest: give Rover longer to arrive home
vagaries of interaction with Python script means we need to give this more time when running balancebot
Backport of PR https://github.com/ArduPilot/ardupilot/pull/23442
2024-01-07 10:59:27 +11:00
Tom Pittenger 33842ad1c9 Tools/autotest: fix Deepstall CI
Backport from PR https://github.com/ArduPilot/ardupilot/pull/24667
2024-01-07 10:59:27 +11:00
Peter Barker 247a0e696a autotest: allow more time for deepstall text
intermittent failures in CI - perhaps due to Plane dynamics changes
Backport of PR https://github.com/ArduPilot/ardupilot/pull/23524
2024-01-07 10:59:27 +11:00
Peter Barker e66b85c0e1 autotest: add an epsilon for achieved servo output for speed scaling test
right on the threshold
backport from PR https://github.com/ArduPilot/ardupilot/pull/23823
2024-01-07 10:59:27 +11:00
Peter Barker 1557951b16 autotest: remove unnecessary try/except from Sprayer test
backport from https://github.com/ArduPilot/ardupilot/pull/23823
2024-01-07 10:59:27 +11:00
Tom Pittenger 91f33182a1 Tools/autotest: extend WindEstimates duration
backport from PR https://github.com/ArduPilot/ardupilot/pull/24666
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 ac531812e2 AP_Periph: move sysid_my_gcs to be public 2024-01-07 10:59:27 +11:00