Commit Graph

32227 Commits

Author SHA1 Message Date
bugobliterator
c8e8978f24 AP_HAL_ChibiOS: add option to set HAL_SPI_SCK_SAVE_RESTORE 2023-11-07 17:37:35 +09:00
bugobliterator
a1661f8918 AP_HAL_ChibiOS: fix mode setting for ICM45686 on CubeOrangePlus 2023-11-07 17:37:35 +09:00
bugobliterator
985192d3e7 AP_HAL_ChibiOS: add support for saving and restoring SCK pin state
when SPI goes into undefined state during reset
2023-11-07 17:37:35 +09:00
Andrew Tridgell
9fa2535fa9 AP_Mount: fixed SIYI parser bug
this caused lots of lost packets
2023-11-07 17:37:35 +09:00
Andrew Tridgell
63047042a6 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:37:35 +09:00
Hayden
12a70d00c5 AP_Compass: fix AK09916 hangup issue 2023-11-07 17:37:35 +09:00
Andrew Tridgell
0f144eeb8a 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:37:35 +09:00
Andrew Tridgell
fd8685f29e 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:37:35 +09:00
Andrew Tridgell
b6f9863ea4 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:28:52 +09:00
Andrew Tridgell
19ca00afde 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:28:52 +09:00
Andrew Tridgell
b0683ad07d AP_RCProtocol: protect against invalid data in SBUS 2023-10-13 16:28:52 +09:00
Andrew Tridgell
f9aa81b78e 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:28:52 +09:00
Henry Wurzburg
6f80bc33b5 AP_OSD:Update/correct DisplayPort BF MSP symbols 2023-10-13 16:28:52 +09:00
Henry Wurzburg
b18ae9ffa9 AP_OSD:add option to convert home,wind,waypoint and gndspd arrows for BF font set 2023-10-13 16:28:52 +09:00
Andrew Tridgell
74224421d5 AP_BattMonitor: added SHUNT parameter to INS2xx driver
some vendors want different shunt resistors
2023-10-13 16:28:52 +09:00
Andrew Tridgell
d7bfb1cf27 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:28:52 +09:00
alexklimaj
4292021144 hwdef: arkv6x default to no IO MCU 2023-10-13 16:28:52 +09:00
Henry Wurzburg
193fd3315e hwdef:add VTX power control to SpeedyBeeF405-Wing 2023-10-13 16:28:52 +09:00
Peter Barker
3a37b61cae 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:28:52 +09:00
Andrew Tridgell
5d76b4e9fc 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:28:52 +09:00
Peter Barker
6c2a12f5ab 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:28:51 +09:00
Peter Barker
9d70db6df1 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:28:51 +09:00
bugobliterator
7f10222a27 AP_OpenDroneID: ensure Persistent memory is not read continuously 2023-10-13 16:28:51 +09:00
bugobliterator
884049bb14 GCS_MAVLink: move sysid_my_gcs to be public 2023-10-13 16:28:51 +09:00
bugobliterator
809ca6191d AP_HAL_ChibiOS: remove Chip ID as Basic ID mechanism 2023-10-13 16:28:51 +09:00
bugobliterator
38220a8c4d AP_OpenDroneID: remove Chip ID as Basic ID mechanism 2023-10-13 16:28:51 +09:00
bugobliterator
1d7c406d60 AP_HAL_ChibiOS: explain DID_OPTIONS config in CubeOrange-ODID/defaults.parm 2023-10-13 16:28:51 +09:00
bugobliterator
b05df95c3d AP_OpenDroneID: add support for persistent storage of UAS ID 2023-10-13 16:28:51 +09:00
bugobliterator
55504e7fcc AP_HAL: add support for get_persistent_param_by_name 2023-10-13 16:28:51 +09:00
bugobliterator
3f5365ed54 AP_HAL_ChibiOS: add support for get_persistent_param_by_name 2023-10-13 16:28:51 +09:00
bugobliterator
d6f0c1e316 AP_HAL_ChibiOS: add support for storing OpenDroneID in bootloader sector 2023-10-13 16:28:51 +09:00
Andy Piper
1a8ae96b0d hwdef: ensure SpeedyBeeF405Mini builds on plane 2023-10-13 16:28:51 +09:00
Andy Piper
8116812ae8 hwdef: adjust serial protocol defaults on various boards for 4.4 naming scheme 2023-10-13 16:28:51 +09:00
Andy Piper
64db5c8310 hwdef: SpeedyBeeF405Mini 2023-10-13 16:28:51 +09:00
Peter Barker
b85e77a0d4 GCS_MAVLink: correct sensors when no baros found
GCSs will know we have no baros on-board, as will the RC telemetry library
2023-10-13 16:28:51 +09:00
Andy Piper
7e29b7bdf6 AP_HAL_ChibiOS: T-Motor H743 Mini 2023-10-13 16:28:51 +09:00
Andy Piper
5b489ec140 AP_HAL_ChibiOS: provide mcu defaults in betaflight conversion 2023-10-13 16:28:51 +09:00
Andy Piper
d9b5bcbd9d AP_HAL_ChibiOS: correct hwdef generator battery scale 2023-10-13 16:28:51 +09:00
Andy Piper
8d6b6e478c AP_HAL_ChibiOS: cope with different IMU drivers in hwdef conversion 2023-10-13 16:28:51 +09:00
Andy Piper
7e40b64dad hwdef: mRoControlZeroOEMH7 bdshot version 2023-10-13 16:28:51 +09:00
Andy Piper
997066ef1a hwdef: correct inversion pin on MambaF405v2
correct battery setup for MambaF405v2
provide suitable serial defaults for MambaF405v2
reallocate DMA channels to allow full DMA on USART3 and NeoPixel on MambaF405v2
add camera control pin to MambaF405v2
2023-10-13 16:28:51 +09:00
Andy Piper
c74e96528b AP_HAL_ChibiOS: betafpv F450 AIO hwdef 2023-10-13 16:28:51 +09:00
Andy Piper
3c870e0b10 AP_HAL_ChibiOS: allow 8 bdshot channels on mRoControlZeroH7 2023-10-13 16:28:51 +09:00
Andy Piper
ca846443d1 AP_NavEKF: fallback to no baro on boards that have no baro 2023-10-13 16:28:51 +09:00
Paul Riseborough
6040541973 AP_NavEKF3: Allow operation with EK3_SRCx_POSZ = 0 (NONE) 2023-10-13 16:28:51 +09:00
Paul Riseborough
089c278b42 AP_NavEKF: Allow EK3_SRCx_POSZ to be set to 0 (NONE) 2023-10-13 16:28:51 +09:00
Andy Piper
23c8142a6c AP_NavEKF3: allow high values of EK3_ALT_M_NSE for boards without baros 2023-10-13 16:28:51 +09:00
Davide_Lentini
c1df42300e AP_HAL_ChibiOS: Update luminousbee5 defaults.parm 2023-10-13 16:28:51 +09:00
Mohammad Hefny
e5439fa321 AP_HAL_Linux: Fix RPI check using enumerations 2023-09-14 14:17:01 +09:00
Henry Wurzburg
a12de9efb3 AP_HAL_ChibiOS:improve MambaF405MINI defaults 2023-09-14 14:17:01 +09:00