Commit Graph
1302 Commits
Author SHA1 Message Date
Peter Barker 3708936c62 global: correct shebang lines to refernce python3
also remove the odd encoding line which is not required in Py3
2025-07-22 10:45:57 +10:00
cuav-chen2 a8563dfa8c AP_InertialSensor: support CLKIN configure on IIM42652 2025-07-15 09:45:10 +10:00
Andrew Tridgell 53b2702342 AP_InertialSensor: fixed INS_generic under SITL
this will stop a regular segv on the autotest server:

[Wed Dec 29 14:29:08 2021] INS_generic[13156]: segfault at 211 ip 000055e6544bbda8 sp 00007ffee7339970 error 4 in INS_generic[55e65449e000+7f000]
2025-07-12 16:06:53 +10:00
Peter Barker ab108d347a AP_InertialSensor: remove remaining vrbrain FMU architectures and PX4_BOARD_TYPEs 2025-06-25 18:17:19 +10:00
Peter Barker e2c23936f3 AP_InertialSensor: remove support for SP01 board
there's no automatic setting for this board, so it would have been selected by parameter only.

This was a development board pre-PCNC01 - it wasn't widely distributed.

If we want this back we can create a full-on board for it...
2025-06-24 10:38:58 +10:00
Christian Clauss 16410dd441 AP_InertialSensor: Add # flake8: noqa linter directive 2025-06-20 20:30:15 +10:00
Peter Barker 80b5eed1b6 AP_InertialSensor: remove PCNC1 board type
only used for one board, so inline everything required
2025-06-17 10:59:00 +10:00
Peter Barker 33aced8a4b AP_InertialSensor: move VRBrain-v54 sensors to hwdef 2025-06-11 17:22:55 +10:00
Peter Barker 30dc0867c5 AP_InertialSensor: remove dead sensor detect code
these boards specify their internal devices so don't cross these paths
2025-06-10 16:28:17 +10:00
Andrew Tridgell 9b4045b05d AP_InertialSensor: support 3 harmonic notch filters
some vehicles need 3, for example:

 - one for an EFI RPM (or generator)
 - one for ESCs
 - one for a frame resonance

I've also left open the possibility of 4, enabled in hwdef.dat
2025-06-06 09:43:50 +10:00
Peter Barker ec64c61dfe AP_InertialSensor: rename AHRS get_roll etc accessors to include _rad 2025-06-05 17:28:41 +10:00
Peter Barker eccc551bbe AP_InertialSensor: replace ToRad with radians and ToDeg with degrees 2025-05-29 11:24:56 +10:00
Peter Barker 322f7a5952 AP_InertialSensor: document INS temperature calibration TCLR log message 2025-05-23 11:44:50 +10:00
Peter Barker a35a5ccc6e AP_InertialSensor: document the InertialSensor IREG (checked-register-did-change) message 2025-05-19 19:21:47 +10:00
Peter Barker 44d59504fb AP_InertialSensor: document ISBH and ISBD log messages 2025-05-18 19:02:30 +10:00
Peter Barker c3095d7601 AP_InertialSensor: remove unused rotation member 2025-05-13 13:12:46 +10:00
Peter Barker d58c274780 AP_InertialSensor: rename HAL_EXTERNAL_AHRS_ENABLED to AP_EXTERNAL_AHRS_ENABLED
in preparation for making this an optional feature; a lot of people will want to go and put this in their hwdef files as soon as we do this!
2025-05-13 09:06:44 +09:00
muramura fc3ade5437 AP_InertialSensor: Remove unnecessary processing 2025-04-21 10:59:23 +10:00
Your Name aeb77564f0 Modify the measurement range of the sensor IIM42653 2025-04-21 10:35:08 +10:00
Peter Barker 3d7788d181 AP_InertialSensor: remove un-needed GCS_MAVLINK_Parameters::var_info instantiations
structure which required this has been removed
2025-04-07 10:58:41 +10:00
Tatsuya Yamaguchi a1b2014142 AP_InertialSensor: Fix temperature conversion for SCHA63T 2025-04-06 09:55:00 +10:00
Andy Piper b9c3140522 AP_InertialSensor: use SPI full duplex API for DMA optimisation 2025-04-02 19:25:21 +11:00
bugobliterator e0c3234b1b AP_InertialSensor: don't do gyro rate prearm check for external ahrs (DEVTYPE_SERIAL)
colcon build/test / build-test (push) Waiting to run
Cygwin Build / build (push) Waiting to run
ESP32 Build / build (esp32buzz, 10) (push) Waiting to run
ESP32 Build / build (esp32s3empty, 10) (push) Waiting to run
Macos Build / build (CubeOrange) (push) Waiting to run
Macos Build / build (sitl) (push) Waiting to run
QURT Build / build (push) Waiting to run
test ccache / build (10, chibios) (push) Waiting to run
test chibios / build (CubeOrange-ODID, 10, chibios) (push) Waiting to run
test chibios / build (CubeOrange-PPP, 10, chibios) (push) Waiting to run
test chibios / build (CubeOrange-bootloader, 10, chibios) (push) Waiting to run
test chibios / build (CubeRed-EKF2, 10, chibios) (push) Waiting to run
test chibios / build (CubeRedPrimary-bootloader, 10, chibios) (push) Waiting to run
test chibios / build (MatekF405-Wing, 10, chibios) (push) Waiting to run
test chibios / build (Pixhawk6X-PPPGW, 10, chibios) (push) Waiting to run
test chibios / build (SOHW, 10, chibios) (push) Waiting to run
test chibios / build (build-options-defaults-test, 10, chibios) (push) Waiting to run
test chibios / build (configure-all, 10, chibios) (push) Waiting to run
test chibios / build (fmuv2-plane, 10, chibios) (push) Waiting to run
test chibios / build (fmuv3, 10, chibios) (push) Waiting to run
test chibios / build (fmuv3-bootloader, 10, chibios) (push) Waiting to run
test chibios / build (iofirmware, 10, chibios) (push) Waiting to run
test chibios / build (new-check, 10, chibios) (push) Waiting to run
test chibios / build (periph-build, 10, chibios) (push) Waiting to run
test chibios / build (revo-bootloader, 10, chibios) (push) Waiting to run
test chibios / build (revo-mini, 10, chibios) (push) Waiting to run
test chibios / build (signing, 10, chibios) (push) Waiting to run
test chibios / build (stm32f7, 10, chibios) (push) Waiting to run
test chibios / build (stm32h7, 10, chibios) (push) Waiting to run
test chibios / build (stm32h7-debug, 10, chibios) (push) Waiting to run
test dds / build (sitl) (push) Waiting to run
test dds / build (stm32h7) (push) Waiting to run
test Linux SBC / build (bbbmini, armhf) (push) Waiting to run
test Linux SBC / build (bebop, armhf) (push) Waiting to run
test Linux SBC / build (bhat, armhf) (push) Waiting to run
test Linux SBC / build (canzero, armhf) (push) Waiting to run
test Linux SBC / build (erlebrain2, armhf) (push) Waiting to run
test Linux SBC / build (linux, base) (push) Waiting to run
test Linux SBC / build (navigator, armhf-musl) (push) Waiting to run
test Linux SBC / build (navigator64, aarch64) (push) Waiting to run
test Linux SBC / build (navio, armhf) (push) Waiting to run
test Linux SBC / build (navio2, armhf) (push) Waiting to run
test Linux SBC / build (pxf, armhf) (push) Waiting to run
test Linux SBC / build (pxfmini, armhf) (push) Waiting to run
test replay / build (replay, base) (push) Waiting to run
test replay / build (replay, clang) (push) Waiting to run
test scripts / build (astyle-cleanliness) (push) Waiting to run
test scripts / build (check_autotest_options) (push) Waiting to run
test scripts / build (logger_metadata) (push) Waiting to run
test scripts / build (param_parse) (push) Waiting to run
test scripts / build (python-cleanliness) (push) Waiting to run
test scripts / build (validate_board_list) (push) Waiting to run
test blimp / build (base) (push) Waiting to run
test blimp / build (clang) (push) Waiting to run
test blimp / autotest (sitltest-blimp) (push) Blocked by required conditions
test copter / build (base) (push) Waiting to run
test copter / build (clang) (push) Waiting to run
test copter / autotest (sitltest-copter-tests1a) (push) Blocked by required conditions
test copter / autotest (sitltest-copter-tests1b) (push) Blocked by required conditions
test copter / autotest (sitltest-copter-tests1c) (push) Blocked by required conditions
test copter / autotest (sitltest-copter-tests1d) (push) Blocked by required conditions
test copter / autotest (sitltest-copter-tests1e) (push) Blocked by required conditions
test copter / autotest (sitltest-copter-tests2a) (push) Blocked by required conditions
test copter / autotest (sitltest-copter-tests2b) (push) Blocked by required conditions
test copter / build-gcc-heli (push) Waiting to run
test copter / autotest-heli (sitltest-heli) (push) Blocked by required conditions
test ap_periph / build-gcc-ap_periph (push) Waiting to run
test ap_periph / autotest-can (sitltest-can) (push) Blocked by required conditions
test plane / build (base) (push) Waiting to run
test plane / build (clang) (push) Waiting to run
test plane / autotest (sitltest-plane-tests1a) (push) Blocked by required conditions
test plane / autotest (sitltest-plane-tests1b) (push) Blocked by required conditions
test plane / autotest (sitltest-quadplane) (push) Blocked by required conditions
test rover / build (base) (push) Waiting to run
test rover / build (clang) (push) Waiting to run
test rover / autotest (sitltest-balancebot) (push) Blocked by required conditions
test rover / autotest (sitltest-rover) (push) Blocked by required conditions
test rover / autotest (sitltest-sailboat) (push) Blocked by required conditions
test sub / build (base) (push) Waiting to run
test sub / build (clang) (push) Waiting to run
test sub / autotest (sitltest-sub) (push) Blocked by required conditions
test tracker / build (base) (push) Waiting to run
test tracker / build (clang) (push) Waiting to run
test tracker / autotest (sitltest-tracker) (push) Blocked by required conditions
test unit tests and sitl building / build (examples, base) (push) Waiting to run
test unit tests and sitl building / build (examples, clang) (push) Waiting to run
test unit tests and sitl building / build (sitl, base) (push) Waiting to run
test unit tests and sitl building / build (sitl, clang) (push) Waiting to run
test unit tests and sitl building / build (unit-tests, base) (push) Waiting to run
test unit tests and sitl building / build (unit-tests, clang) (push) Waiting to run
2025-04-02 18:05:32 +11:00
bugobliterator ee7fb8825a AP_InertialSensor: prearm check to validate backend read rates against scheduler loop rate 2025-04-02 18:05:32 +11:00
Andrew Tridgell e177ca0924 AP_InertialSensor: support SIM_IMU_ORIENT 2025-04-02 15:08:06 +11:00
Peter Barker 83b2a255c5 AP_InertialSensor: remove unused define SENSOR_RATE_DEBUG
test chibios / build (CubeOrange-ODID, 10, chibios) (push) Waiting to run
test chibios / build (CubeOrange-PPP, 10, chibios) (push) Waiting to run
test chibios / build (CubeOrange-bootloader, 10, chibios) (push) Waiting to run
test chibios / build (CubeRed-EKF2, 10, chibios) (push) Waiting to run
test chibios / build (CubeRedPrimary-bootloader, 10, chibios) (push) Waiting to run
test chibios / build (MatekF405-Wing, 10, chibios) (push) Waiting to run
test chibios / build (Pixhawk6X-PPPGW, 10, chibios) (push) Waiting to run
test chibios / build (SOHW, 10, chibios) (push) Waiting to run
test chibios / build (build-options-defaults-test, 10, chibios) (push) Waiting to run
test chibios / build (configure-all, 10, chibios) (push) Waiting to run
test chibios / build (fmuv2-plane, 10, chibios) (push) Waiting to run
test chibios / build (fmuv3, 10, chibios) (push) Waiting to run
test chibios / build (fmuv3-bootloader, 10, chibios) (push) Waiting to run
test chibios / build (iofirmware, 10, chibios) (push) Waiting to run
test chibios / build (new-check, 10, chibios) (push) Waiting to run
test chibios / build (periph-build, 10, chibios) (push) Waiting to run
test chibios / build (revo-bootloader, 10, chibios) (push) Waiting to run
test chibios / build (revo-mini, 10, chibios) (push) Waiting to run
test chibios / build (signing, 10, chibios) (push) Waiting to run
test chibios / build (stm32f7, 10, chibios) (push) Waiting to run
test chibios / build (stm32h7, 10, chibios) (push) Waiting to run
test chibios / build (stm32h7-debug, 10, chibios) (push) Waiting to run
test scripts / build (astyle-cleanliness) (push) Waiting to run
test scripts / build (check_autotest_options) (push) Waiting to run
test scripts / build (logger_metadata) (push) Waiting to run
test scripts / build (param_parse) (push) Waiting to run
test scripts / build (python-cleanliness) (push) Waiting to run
test scripts / build (validate_board_list) (push) Waiting to run
test blimp / build (base) (push) Waiting to run
test blimp / build (clang) (push) Waiting to run
test blimp / autotest (sitltest-blimp) (push) Blocked by required conditions
test copter / build (base) (push) Waiting to run
test copter / build (clang) (push) Waiting to run
test copter / autotest (sitltest-copter-tests1a) (push) Blocked by required conditions
test copter / autotest (sitltest-copter-tests1b) (push) Blocked by required conditions
test copter / autotest (sitltest-copter-tests1c) (push) Blocked by required conditions
test copter / autotest (sitltest-copter-tests1d) (push) Blocked by required conditions
test copter / autotest (sitltest-copter-tests1e) (push) Blocked by required conditions
test copter / autotest (sitltest-copter-tests2a) (push) Blocked by required conditions
test copter / autotest (sitltest-copter-tests2b) (push) Blocked by required conditions
test copter / build-gcc-heli (push) Waiting to run
test copter / autotest-heli (sitltest-heli) (push) Blocked by required conditions
test ap_periph / build-gcc-ap_periph (push) Waiting to run
test ap_periph / autotest-can (sitltest-can) (push) Blocked by required conditions
test plane / build (base) (push) Waiting to run
test plane / build (clang) (push) Waiting to run
test plane / autotest (sitltest-plane-tests1a) (push) Blocked by required conditions
test plane / autotest (sitltest-plane-tests1b) (push) Blocked by required conditions
test plane / autotest (sitltest-quadplane) (push) Blocked by required conditions
test rover / build (base) (push) Waiting to run
test rover / build (clang) (push) Waiting to run
test rover / autotest (sitltest-balancebot) (push) Blocked by required conditions
test rover / autotest (sitltest-rover) (push) Blocked by required conditions
test rover / autotest (sitltest-sailboat) (push) Blocked by required conditions
test sub / build (base) (push) Waiting to run
test sub / build (clang) (push) Waiting to run
test sub / autotest (sitltest-sub) (push) Blocked by required conditions
test tracker / build (base) (push) Waiting to run
test tracker / build (clang) (push) Waiting to run
test tracker / autotest (sitltest-tracker) (push) Blocked by required conditions
test unit tests and sitl building / build (examples, base) (push) Waiting to run
test unit tests and sitl building / build (examples, clang) (push) Waiting to run
test unit tests and sitl building / build (sitl, base) (push) Waiting to run
test unit tests and sitl building / build (sitl, clang) (push) Waiting to run
test unit tests and sitl building / build (unit-tests, base) (push) Waiting to run
test unit tests and sitl building / build (unit-tests, clang) (push) Waiting to run
colcon build/test / build-test (push) Has been cancelled
Cygwin Build / build (push) Has been cancelled
ESP32 Build / build (esp32buzz, 10) (push) Has been cancelled
ESP32 Build / build (esp32s3empty, 10) (push) Has been cancelled
Macos Build / build (CubeOrange) (push) Has been cancelled
Macos Build / build (sitl) (push) Has been cancelled
QURT Build / build (push) Has been cancelled
test ccache / build (10, chibios) (push) Has been cancelled
test dds / build (sitl) (push) Has been cancelled
test dds / build (stm32h7) (push) Has been cancelled
test Linux SBC / build (bbbmini, armhf) (push) Has been cancelled
test Linux SBC / build (bebop, armhf) (push) Has been cancelled
test Linux SBC / build (bhat, armhf) (push) Has been cancelled
test Linux SBC / build (canzero, armhf) (push) Has been cancelled
test Linux SBC / build (erlebrain2, armhf) (push) Has been cancelled
test Linux SBC / build (linux, base) (push) Has been cancelled
test Linux SBC / build (navigator, armhf-musl) (push) Has been cancelled
test Linux SBC / build (navigator64, aarch64) (push) Has been cancelled
test Linux SBC / build (navio, armhf) (push) Has been cancelled
test Linux SBC / build (navio2, armhf) (push) Has been cancelled
test Linux SBC / build (pxf, armhf) (push) Has been cancelled
test Linux SBC / build (pxfmini, armhf) (push) Has been cancelled
test replay / build (replay, base) (push) Has been cancelled
test replay / build (replay, clang) (push) Has been cancelled
test coverage / build (coverage, base, coverage) (push) Has been cancelled
test coverage / build (sitltest-can, periph) (push) Has been cancelled
test coverage / finish (push) Has been cancelled
2025-03-15 10:44:13 -05:00
Julio Cesar Matias 3b358d7854 AP_InertialSensor: Remove the variable _accel_max_abs_offsets its is not more used 2025-03-15 07:31:12 +11:00
Julio Cesar Matias ba755f6909 AP_InertialSensor: Remove two unused defines 2025-03-10 15:21:34 +11:00
Peter Barker f2442f6b3e AP_InertialSensor: correct compilation of the Aero board
hwdef: make BMM150 internal

Need to choose force-external or not, assuming this one is on-board
2025-02-26 23:42:07 +11:00
Peter Barker 6338d10b5f global: create and use HAL_PROGRAM_SIZE_LIMIT_KB
We will reserve BOARD_FLASH_SIZE for the internal flash on stm32 flash processors, use HAL_PROGRAM_SIZE_LIMIT_KB in the general code base.

Notable change here is that boards with external flash will start to get features only available with more than 2MB of program storage
2025-02-26 10:06:39 +11:00
Peter Barker bc848d2bed AP_InertialSensor: mark many functions as __INITFUNC__
... implying they can go into external flash
2025-02-19 18:01:48 +11:00
Peter Barker cbdaf2be46 AP_InertialSensor: move AP_InertialSensor configuration into linux hwdef 2025-02-19 15:42:52 +11:00
Peter Barker dddb4583a6 AP_InertialSensor: start tidying Linux GPIO 2025-02-19 15:42:52 +11:00
Andy Piper 29655d149c AP_InertialSensor: remove changes to primary accel since it is always the same as the gyro 2025-01-29 18:47:51 +11:00
Andy Piper a5d04eb291 AP_InertialSensor: only update the primary once. scale FIFO reads to 2x loop rate.
only increase FIFO buffer when compiled with fast rate
2025-01-29 18:47:51 +11:00
Andy Piper da447fd378 AP_InertialSensor: remove rate config include 2025-01-29 18:47:51 +11:00
Andy Piper 51a61b99ea AP_InertialSensor: remove dynamic fifo mask 2025-01-29 18:47:51 +11:00
Andy Piper 32632a06a8 AP_InertialSensor: have a single callback for primary switching 2025-01-29 18:47:51 +11:00
Andy Piper 45242de521 AP_InertialSensor: periodically notify of primary gyro and accels 2025-01-29 18:47:51 +11:00
Andy Piper 981826dca3 AP_InertialSensor: only use dynamic FIFO when using fast rate loop 2025-01-29 18:47:51 +11:00
Andy Piper cc52868dda AP_InertialSensor: adjust read rate of Invensense v3 depending on primary
configure dynamic fifo rates based on primary gyro instance
add set_primary_gyro() and set_primary_accel()
adjust FIFO buffer sizes
2025-01-29 18:47:51 +11:00
Andy Piper bed0c2228c AP_InertialSensor: keep a record of the priamry gyro and use it
add callbacks for when gyrp/accel primary changes
2025-01-29 18:47:51 +11:00
MattKear 4f39a842b2 AP_InertialSensor: Add config error for helis trying to use throttle notch 2025-01-21 11:22:36 +11:00
Siddharth Purohit 92241daef1 AP_InertialSensor: do not read FIFO faster than requested rate for ICM45686 2024-12-18 19:05:20 +11:00
Peter Barker 5becd59265 AP_InertialSensor: remove superfluous linefeed from panic strings
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Andrew Tridgell 4d31a7320a 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-09 07:40:48 +11:00
Andy Piper 88f6125a94 AP_InertialSensor: belt and braces checks 2024-12-04 07:45:05 +11:00
Andy Piper 4b0fa15278 AP_InertialSensor: address review comments 2024-12-04 07:45:05 +11:00
Andy Piper 398a70ec4b AP_InertialSensor: avoid multiple allocations of rate loop buffer
add nullptr checks and comments to FastRateBuffer
2024-12-04 07:45:05 +11:00
Andy PiperandAndrew Tridgell 6db09c9fdd AP_InertialSensor: keep a queue of gyro samples for use by the rate thread
decimate the gyro window locally
configure rate loop buffer based on AP_INERTIALSENSOR_FAST_SAMPLE_WINDOW_ENABLED
allow backends to be updated from rate thread
output debug error if rate loop buffer overruns
add support for updating filter parameters independently of propagating samples
add rate loop config abstraction that allows code to be elided on non-copter builds
must be using harmonic notch to use rate thread
mediate fast rate loop buffer using mutex and binary semaphore
ensure gyro samples are used when the rate loop buffer isn't

Co-Authored-By: Andrew Tridgell <andrew@tridgell.net>
2024-12-04 07:45:05 +11:00