Commit Graph

35406 Commits

Author SHA1 Message Date
Andrew Tridgell f8d13d34d9 AP_InertialSensor: stop sensors converging if motors arm
if the user arms within 30s of startup then stop the re-init of the
sensors. This can give less accurate frequency as the sample rate may
not have settled yet, but it is better than doing init of the filters
while the vehicle may be flying

also fix a 32 bit millis wrap
2024-12-03 16:38:15 +09:00
Andrew Tridgell 71fd9a4a08 AP_InertialSensor: fixed Q calculation for notch filters
when doing the init() we must use the reference frequency, not the
current frequency. Using the current frequency leaves us with an
incorrect value for Q. If the current frequency is below the reference
frequency (which shouldn't happen in 4.5, but has been seen in 4.3)
then the Q can be much too low and massive phase lag can happen.

The vulnerability in 4.5.x is that the current frequency could be well
above the reference frequency. For example, the user may be doing a
motor test at 30s after boot, which is when we stop the
sensors_converging() test, and thus is the last time we call
init(). In that case we can end up with a Q which is much larger than
the one that should come from INS_HNTCH_FREQ and INS_HNTCH_BW, and
thus end up with a filter that produces a lot less attenuation than is
desired, potentially leading to instability due to high noise.

There are other scenarios that can cause this - for example a motor
test of a fwd motor at 30s after boot, or a spurious FFT peak due to
someone knocking the aircraft, or the vibration of a IC engine.
2024-12-03 16:38:13 +09:00
Randy Mackay e569f3878d AP_GPS: revert backport to copter 4.5 the correct satellite count for NrSv do-not-use value
This reverts commit 62fe90bb64.
2024-10-15 10:19:57 +11:00
rishabsingh3003 d7da8b315f AP_Proximity: Include database push in MR72 driver 2024-09-27 13:47:54 +09:00
bugobliterator 96f96fccad AP_DroneCAN: Fix constructor initialization order
bad ordering was leading to dronecan dna server getting initialised before canard interface is initialised leading
2024-09-27 13:47:54 +09:00
Andy Piper 2e6e020c04 AP_RCProtocol: only update rc value for GHST on rc frames 2024-09-27 13:47:54 +09:00
Andy Piper 7f37b83cdd AP_HAL_ChibiOS: correctly uninvert RX/TX on F4 with inverter support 2024-09-27 13:47:54 +09:00
Ferruccio Vicari 3e5dbb225a AP_Motors: fix DDVP tail servo initialization 2024-09-27 13:47:54 +09:00
Andrew Tridgell 0a6af9de1c AP_DroneCAN: prevent saturation of CPU with DroneCAN thread 2024-09-26 20:22:55 +10:00
Andrew Tridgell fbb91420bc HAL_ChibiOS: limit RX timeout to 100ms
this prevents a very long timeout in begin(), replacement with a mutex
will happen in a separate PR
2024-09-26 20:22:55 +10:00
caijie 71706f0600 AP_HAL_ChibiOS: add VUAV-V7pro 2024-09-26 08:24:21 +09:00
Chiara de Saint Giniez 62fe90bb64 AP_GPS: backport to copter 4.5 the correct satellite count for NrSv do-not-use value 2024-09-25 20:09:41 +09:00
Ryan Friedman 24036518a2 AP_DDS: Correct compilation of tests without external odom
Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2024-09-25 19:48:00 +09:00
Andrew Tridgell d2d1b11643 AP_DDS: fixed cell voltages
the std:copy was copying from uint16_t to float
2024-09-25 19:48:00 +09:00
Ryan Friedman 7668bda1d9 AP_DDS: Use common quaternion initialization function
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-09-25 19:48:00 +09:00
Rhys Mainwaring 742db947cd AP_DDS: ensure zero rotation quaternions are normalised
- ROS expects quaternions to be normalised and the default message constructor does not enforce this.
- Fix normalisation for pose stamped.

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-09-25 19:48:00 +09:00
Rhys Mainwaring bd1a28c64c AP_DDS: add param DDS_DOMAIN_ID
- Require reboot.
- Set DDS_DOMAIN_ID range: 0 to 232..

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-09-25 19:48:00 +09:00
cuav-chen2 2ac7cf2d46 hwdef: backport CUAV-7-Nano hwdef defines 2024-09-12 09:18:01 +09:00
Randy Mackay 544498311d AP_DroneCAN: fixup to fix of handling of empty entry
This resolves a small difference between vehicles for the 4.5.6-beta1 release
2024-08-22 08:36:32 +09:00
EternAlmox e51c5358e0 AP_HAL_ChibiOS: added MFT-SEMA100 2024-08-21 17:10:45 +10:00
Iampete1 3e8502b75b AP_HAL_ChibiOS: GPIO: read: support virtual read of IOMCU pins 2024-08-21 17:10:45 +10:00
Iampete1 ad1bf45e60 AP_HAL_ChibiOS: GPIO: Check IOMCU after local pins for speed 2024-08-21 17:10:45 +10:00
Iampete1 e10de09271 AP_HAL_ChibiOS: RCOut banner: check for GPIO on IOMCU 2024-08-21 17:10:45 +10:00
Iampete1 a7bec2e431 AP_IOMCU: add GPIO mask getter and GPIO virtual read 2024-08-21 17:10:45 +10:00
Peter Barker a156fb391d hwdef: correct ZeroOne LED defines for backport 2024-08-21 17:10:45 +10:00
“Jane_ZeroOne” 27c7bcf8cf AP_HAL_ChibiOS: add ZeroOneX6 2024-08-21 17:10:45 +10:00
Andy Piper 1a9d786f62 AP_HAL_ChibiOS: iFlight 2RAWH743 2024-08-21 17:10:45 +10:00
Andy Piper 914669e4f6 AP_Logger: correctly read file header for block logger 2024-08-21 17:10:45 +10:00
Andy Piper 702c76e885 AP_MSP: use highest ESC temp rather than motor temp 2024-08-21 17:10:45 +10:00
Andy Piper 005c182e61 AP_ESC_Telem: use highest ESC temp rather than motor temp 2024-08-21 17:10:45 +10:00
Andy Piper c0ac36a36d AP_OSD: use highest ESC temp rather than motor temp 2024-08-21 17:10:45 +10:00
Andy Piper b8759c8d1b AP_HAL_ChibiOS: fix TMotor H743 with BMI270 2024-08-21 17:10:45 +10:00
Thomas Watson 9f7bcc1a4d AP_DroneCAN: DNA_Server: fix handling of empty entry
Replaces the check for a CRC of 0 with a check that the hwid is 0.
Substantially reduces 1/256 chance that a particular node ID couldn't be
stored.
2024-08-21 17:10:45 +10:00
Andy Piper 3db680c7ad AP_HAL_ChibiOS: add servo outputs as motors to FoxeerF405v2 2024-08-21 17:10:45 +10:00
cuav-chen2 49a555bcbf HAL_ChibiOS: Added support for CUAV-7-Nano flight controller 2024-08-21 17:10:45 +10:00
cuav-chen2 be8af427dd AP_Baro: Add in BMP581 Driver 2024-08-21 17:10:45 +10:00
James O'Shannessy 764dd273ae AP_InertialSensor: Check the gyro/accel id has not been previously registered
If the Gyro/Accel ID is already in the registered list, do not try to add it again.

This stops an issue seen on a CubeOrangePlus BG3 where, during the very first boot after a parameter wipe, software incorrectly registers a fourth IMU.
The Fourth IMU is registered because the AUX IMU is the same DevID as the third ICM45686.
2024-08-21 17:10:45 +10:00
James O'Shannessy d1b6eea4ee AP_InertialSensor: Fix persistent storing of IMU Z Scale
Fixes INSn_ACCSCAL_Z not being stored in persistent storage when bootloader is flashed.
2024-08-21 17:10:45 +10:00
Randy Mackay e468302184 AP_SmartRTL: add point made public 2024-08-21 17:10:45 +10:00
Oleksiy Protas 93528168c5 AP_Camera: proper string formatting
Incoming strings are 32 bytes and may not be null-terminated if the full width is used
2024-08-21 17:10:45 +10:00
Andrew Tridgell 5818907390 AP_Baro: avoid i2c errors with ICP101XX
this sensor doesn't like reading at higher than expected rate
2024-08-21 17:10:45 +10:00
Iampete1 731405c465 AC_PID: correct error caculation to use latest target 2024-08-21 17:10:45 +10:00
Vincent Poon 0e9c5a0440 Update Pixhawk6C hwdef.dat
Fix https://github.com/ArduPilot/ardupilot/issues/25840

The overcurrent detection of the HIPOWER current limiting chip is connected to PC11 on the Pixhawk 6C.
2024-08-21 17:10:45 +10:00
Peter Barker b06db0c207 SITL: correct valgrind failure in SIM_GPS_SBP 2024-08-21 17:10:45 +10:00
Leonardo Garcia b080cb2e8b AP_HAL_ChibiOS: Support for 3DR Control Zero H7 OEM rev G
Co-authored-by: Alexis Guijarro <totonzx@gmail.com>
Co-authored-by: Andy Piper <github@andypiper.com>
2024-08-21 17:10:45 +10:00
Ryan Friedman 48958c0c38 SITL: fix GPS headings
* Rename NMEA heading to ground_course_deg
* Rename heading() utility to ground course (it was wrong)
* Add _rad prefix to be pedantic about units
* Add missing degrees conversion in NMEA because NMEA is not SI

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-08-21 17:10:45 +10:00
Ryan Friedman a8222265f1 AP_GPS: fix GPS headings
* If you don't wrap the heading, you can get a flyaway

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-08-21 17:10:45 +10:00
Andy Piper c110b180fd SITL: squash static_assert warnings 2024-08-21 17:10:45 +10:00
Andy Piper cb4495fa79 AP_Logger: remove unused variables 2024-08-21 17:10:45 +10:00
Andy Piper f82c158322 AP_Param: remove unused variable 2024-08-21 17:10:45 +10:00