Commit Graph

57424 Commits

Author SHA1 Message Date
Andrew Tridgell 3867a4050d hwdef: bugfixes for BETAFPV-F405 2023-11-07 17:36:12 +09:00
bugobliterator 6d00dadeab AP_HAL_ChibiOS: enable save/restore of SPI SCK pin during spiStop Start for CubeOrangePlus 2023-11-07 17:36:12 +09:00
bugobliterator a5cf22fc5f AP_HAL_ChibiOS: add option to set HAL_SPI_SCK_SAVE_RESTORE 2023-11-07 17:36:12 +09:00
bugobliterator 77e6572592 AP_HAL_ChibiOS: fix mode setting for ICM45686 on CubeOrangePlus 2023-11-07 17:36:12 +09:00
bugobliterator 39ee1e0af9 AP_HAL_ChibiOS: add support for saving and restoring SCK pin state
when SPI goes into undefined state during reset
2023-11-07 17:36:12 +09:00
Andrew Tridgell b14c2a17de AP_Mount: fixed SIYI parser bug
this caused lots of lost packets
2023-11-07 17:36:12 +09:00
Andrew Tridgell 84e740f359 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
2023-11-07 17:36:12 +09:00
Hayden 852a508a8d AP_Compass: fix AK09916 hangup issue 2023-11-07 17:36:12 +09:00
Andrew Tridgell 58281108c0 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
2023-11-07 17:36:12 +09:00
Andrew Tridgell 999d3b88e7 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
2023-11-07 17:36:12 +09:00
Andrew Tridgell a4e6420256 Plane: prepare for 4.4.2 release 2023-11-07 17:36:12 +09:00
Andrew Tridgell 7b9cf8d44a Plane: update release notes for 4.4.2 2023-11-07 17:36:12 +09:00
Iampete1 656c12a565 Copter: verison to 4.4.2 2023-10-22 21:45:24 +01:00
Iampete1 b11d06df33 Copter: 4.4.2 stable release notes 2023-10-22 21:45:06 +01:00
Randy Mackay fc2b1d1fa2 Copter: update 4.4.2-beta1 release notes 2023-10-13 16:26:01 +09:00
Randy Mackay fd092fdf6b Rover: update 4.4.2-beta1 release notes 2023-10-13 16:26:01 +09:00
Randy Mackay 3b2bd4d6b9 Copter: version to 4.4.2-beta1 2023-10-13 16:26:01 +09:00
Randy Mackay 6b38f91e32 Copter: 4.4.2-beta1 release notes 2023-10-13 16:26:01 +09:00
Randy Mackay 9f1700d29d Rover: version to 4.4.0-beta8 2023-10-13 16:26:01 +09:00
Randy Mackay 4323afe403 Rover: 4.4.0-beta8 release notes 2023-10-13 16:26:01 +09:00
Randy Mackay 57fae5dd63 Plane: version to 4.4.2-beta1 2023-10-13 16:26:01 +09:00
Randy Mackay 90ae7dcfdd Plane: 4.4.2-beta1 release notes 2023-10-13 16:26:01 +09:00
Andrew Tridgell 5602fcba66 Plane: use deadzone in stick mixing
this prevents small RC input deviations from impacting non-pilot
controlled modes via stick mixing
2023-10-13 16:26:01 +09:00
Andrew Tridgell 39f83c91b3 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
2023-10-13 16:26:01 +09:00
Andrew Tridgell 6fa5d0bec0 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
2023-10-13 16:26:01 +09:00
Andrew Tridgell 1dd2377b0c Tools: rebuild IO firmware for SBUS change 2023-10-13 16:26:01 +09:00
Andrew Tridgell 58fd462ed0 AP_RCProtocol: protect against invalid data in SBUS 2023-10-13 16:26:01 +09:00
Andrew Tridgell b84e3010c6 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
2023-10-13 16:26:01 +09:00
Andrew Tridgell 6abe721ca3 AP_OpenDroneID: only load from persistent memory in init()
we do not want to do this from update() as it is an expensive call
2023-10-13 16:26:01 +09:00
Henry Wurzburg e4171b1ead AP_OSD:Update/correct DisplayPort BF MSP symbols 2023-10-13 16:26:01 +09:00
Henry Wurzburg ef496d3583 AP_OSD:add option to convert home,wind,waypoint and gndspd arrows for BF font set 2023-10-13 16:26:01 +09:00
Andrew Tridgell 645773e158 AP_BattMonitor: added SHUNT parameter to INS2xx driver
some vendors want different shunt resistors
2023-10-13 16:26:01 +09:00
Andrew Tridgell bc94439417 Tools: allow Ohm units in parameters
# Conflicts:
#	Tools/autotest/param_metadata/param.py
#	libraries/AP_BattMonitor/AP_BattMonitor_INA2xx.cpp
2023-10-13 16:26:01 +09:00
Andrew Tridgell e0ec7a9c9d 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
2023-10-13 16:26:01 +09:00
alexklimaj 586cf85de8 hwdef: arkv6x default to no IO MCU 2023-10-13 16:26:01 +09:00
Henry Wurzburg 32b341ae0e hwdef:add VTX power control to SpeedyBeeF405-Wing 2023-10-13 16:26:01 +09:00
Peter Barker de83a1b27b 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.
2023-10-13 16:26:01 +09:00
Andrew Tridgell dbe21844ca 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
2023-10-13 16:26:01 +09:00
Peter Barker 013a3f0bd6 autotest: CI fixes for 4.4 2023-10-13 16:26:01 +09:00
Peter Barker 02d90bd159 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
2023-10-13 16:26:01 +09:00
Peter Barker 7b4790171d 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
2023-10-13 16:26:01 +09:00
Peter Barker 98e41e55c5 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
2023-10-13 16:26:01 +09:00
Tom Pittenger 95a743f6dc Tools/autotest: fix Deepstall CI
Backport from PR https://github.com/ArduPilot/ardupilot/pull/24667
2023-10-13 16:26:01 +09:00
Peter Barker 6b62c8e1cf 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
2023-10-13 16:26:01 +09:00
Peter Barker 18e269dd81 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
2023-10-13 16:26:01 +09:00
Peter Barker 737748ee54 autotest: remove unnecessary try/except from Sprayer test
backport from https://github.com/ArduPilot/ardupilot/pull/23823
2023-10-13 16:26:01 +09:00
Tom Pittenger d9cb0c35d3 Tools/autotest: extend WindEstimates duration
backport from PR https://github.com/ArduPilot/ardupilot/pull/24666
2023-10-13 16:26:01 +09:00
bugobliterator e93c9cf4c8 AP_OpenDroneID: ensure Persistent memory is not read continuously 2023-10-13 16:26:01 +09:00
bugobliterator 091e1e4894 GCS_MAVLink: move sysid_my_gcs to be public 2023-10-13 16:26:01 +09:00
bugobliterator 86b058a842 AP_Periph: move sysid_my_gcs to be public 2023-10-13 16:26:01 +09:00