Commit Graph
417 Commits
Author SHA1 Message Date
Jacob Dahl 41bf301a2e refactor(drivers/imu/murata/sch16t): convert params.c to module.yaml
Convert 1 parameter file(s) from legacy C format to YAML
module configuration.
2026-03-19 23:21:23 -08:00
Jacob Dahl 53259c2852 refactor(drivers/imu/analog_devices/adis16507): convert params.c to module.yaml
Convert 1 parameter file(s) from legacy C format to YAML
module configuration.
2026-03-19 23:21:23 -08:00
Jacob Dahl 30ba463ef2 refactor(drivers/imu/analog_devices/adis16448): convert params.c to module.yaml
Convert 1 parameter file(s) from legacy C format to YAML
module configuration.
2026-03-19 23:21:23 -08:00
CUAV ChenandJacob Dahl 9228dca9bd drivers: imu: Add in ADIS16607 IMU Device (#26301)
* drivers: Add  in ADIS16607 IMU Device

* formatting and style, adjust debug output

* Change variable types of accel_x/y/z and gyro_x/y/z.

* Remove periodic register check

---------

Co-authored-by: Jacob Dahl <dahl.jakejacob@gmail.com>
2026-03-04 22:15:39 -09:00
Patrik Dominik PordiandAlex Klimaj ce57153ce5 ARK SCH16T driver updated for new Murata modules (#24029)
* Added the ranges for the new ARK Murata IMUs and added the logic to the driver to handle it

* Ran make format

* sch16t fix COMP_ID

* Revert "sch16t fix COMP_ID"

This reverts commit 38bf02bc8616490a37a57257938086b8e8d5fa0f.

* sch16t add production k10 id

* Added B13 as REV_1

---------

Co-authored-by: Alex Klimaj <alex@arkelectron.com>
2025-07-22 23:16:13 -08:00
Jacob Dahl 7ac85d8f99 adis16507: enhance driver to handle and recover from all failure modes (#24691)
* adis16507: enhance driver to handle and recover from all failure modes
- Clean up driver
- Add optional hardware reset
- Fix scale and range for 125 deg/s variant
- Handle communication errors when read returns zeroes
- Improved perf counters

* change prints to PX4_DEBUG, define BURST_READ_CMD, do both soft and hard reset, use ScheduleNow instead of 1ms delay, change read/write stall period to SPI_STALL value
2025-05-13 09:42:19 -06:00
Julian Oes 786c2a7f39 drivers/imu/invensense/mpu6000: include cstdlib for size_t 2025-02-19 12:09:54 -05:00
Alexander Lerach 1b3f50ef42 Added interrupt pin selection to BMI088 (#23926)
* Added interrupt pin selection to BMI088

* Fixed typo
2024-11-12 13:26:59 +01:00
BazookaJoe1900 4d83badba1 fix files tags on the header comments (#23564) 2024-09-19 09:25:18 +03:00
Jukka Laitinen 0459481cb4 icm40609d: Change FIFO count to samples instead of bytes
As the sensor can directly report the amount of samples in the fifo, use it to simplify the logic.

Also combine the fifo empty/fifo overflow checks for interrupt and polling modes.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2024-08-13 21:32:28 -04:00
Jukka Laitinen cc4d5bd2a6 icm40609d: Add INTF register definition and disable I2C interface
Disable I2C to make sure that the sensor doesn't switch to that by accident

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2024-08-13 21:32:28 -04:00
Jukka Laitinen fd062d0085 icm40609d: Clear interrupt status at FIFO reset
If DRDY signal is used, the interrupt status needs to be cleared at FIFO reset
in order to make DRDY go back inactive. Otherwise there won't be a falling edge
interrupt at the next sample.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2024-08-13 21:32:28 -04:00
Matthias Grob f2bca92221 Fix duplicate newlines at the end of files 2024-07-19 14:33:36 +02:00
Jacob Dahl 22a38c0c6d drivers/imu: sch16t improvements (#23221)
* individual perf counters for frame errors
* don't treat saturation as an error
* added parameters for gyro/accel LPF and decimation ratio
2024-06-03 22:15:00 -04:00
Jacob Dahlandalexklimaj e72ecdbefb drivers/imu: new Murata SCH16T IMU driver (#22914)
---------

Co-authored-by: alexklimaj <alex@arkelectron.com>
2024-05-20 14:38:19 -04:00
Alex Klimaj 36ea872e72 drivers: adis16507 reschedule reset after failed self test 2024-05-02 17:52:26 -04:00
Peter van der Perk fe8a5eae99 drivers: bmi088_i2c: Enforce I2C driver can only be used when SPI version isn't selected
Solves multiple references compilation errors
2024-04-01 22:05:20 -04:00
Eric Katzfey e20215087f Moving from Qurt specific icm4266p driver to mainline version 2024-03-07 21:14:49 -05:00
Peter van der Perk 19d1941758 px4_fmuv6xrt: Switch to icm42686p on SPI1
icm42588p driver don't use a icm42688p when icm42686p is requested
2023-12-21 10:11:20 -05:00
Matthias Grob 1c25d65a1e Add missing newline at the end of files 2023-12-01 13:11:00 -05:00
Julian Oes a501262a6b icm45686: fix dt (and usage command)
With the wrong dt, the flight behaviour was really poor and noisy, so
this fix is absolutely required.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-11-21 07:44:00 +13:00
alexklimaj 51e1a80556 driver: cleanup imu folder 2023-11-03 10:50:27 -04:00
alexklimaj 6a849163db drivers iim42652 and iim42653 disable AFSR 2023-10-27 16:29:01 -04:00
alexklimaj db765e6cbd drivers: icm42688p fix AFSR register 2023-10-27 16:29:01 -04:00
Jukka Laitinen e8a0a0772e Disable I2C interface in ICM42688P sensor when it is initialized
This prevents accidental misconfiguration via I2C if there are
multiple SPI devices on the same bus. The device may hear it's i2c address
and write some register, while there is data transfer ongoing with another
device.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2023-10-17 11:07:21 -04:00
Daniel Agar 745709717e drivers/imu/analog_devices/adis16507: use bad CRC perf count 2023-10-03 18:06:33 -04:00
Alex Klimaj 0914e7feaa new TDK IIM42653 IMU driver and ARKV6X Rev 2 2023-08-16 16:20:14 -04:00
Christian Rauch cab78593b4 BMI0xx: remove unused board_dma_alloc.h 2023-08-07 20:42:58 -04:00
Christian Rauch 638b18dd07 ADIS16497: replace NuttX specific up_udelay with HAL version px4_udelay 2023-08-07 20:42:58 -04:00
alexklimaj 000a3c10e2 Add ADIS16507 params 2023-05-06 17:11:42 -04:00
alexklimaj b12f5c4e31 adis16507 group delay should be subtracted from timestamp_sample 2023-05-06 17:11:42 -04:00
David Sidrane 409c1bbf7a PX4 icm42688p:Add Support for the ICM42686
icm42688p:Fix colission on custom1 from rebase
2023-05-02 10:50:24 -04:00
muramura b23eee40f0 bmi088: Do not use invalid values 2023-05-01 09:02:04 -04:00
Julian Oes 63dc6b5bc9 ICM45686: fix clipping due to rotation
It turns out that when you rotate by 45 degrees, as required on the
CubeOrange+, then you can easily get into clipping because the vector
components are constrained after the rotation. In order to avoid that,
we have to avoid getting close to the int16 range and switch from 20 bit
resolution to 16bit resolution earlier.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-13 22:53:56 -04:00
Julian Oes f4b48e685f drivers: add ICM45686
Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-13 22:53:56 -04:00
Julian Oes 9ec6a4b1d7 icm42688p: fix comment about gyro and accel bits
This really confused me.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-02-20 21:47:11 -05:00
Alex Klimaj 3ed1c688bf drivers: icm42688p and iim42652 enable notch and AAF 2023-02-13 21:08:37 -05:00
Daniel AgarandMathieu Bresciani a18e07e525 drivers/imu/bosch/bmi088: add more time between configure and FIFO_READ
- new FIFO_RESET state used to give the sensor more time after successful configuration before sampling begins

Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
2023-02-13 21:01:50 -05:00
ShiauweiZhao 931f602995 drivers/imu/invensense: new IAM-20680HP IMU driver (#21025) 2023-01-31 09:33:26 -05:00
Jiangxuan Chen c31867f104 support for KakuteH7v2, KakuteH7mini, and BMI270 IMU driver (#20545)
Signed-off-by: Julian Oes <julian@oes.ch>
2023-01-22 19:41:39 -05:00
alexklimaj 7c2da8d1ef Enable ARKV6X SPIX SYNC, enable icm426889 and iim42652 CLKIN 2023-01-18 21:52:11 -05:00
Daniel Agar 6a64e74ef3 icm42688p: fix register bank selection
* icm42688p: clear INT_CONFIG1 INT_ASYNC_RESET for proper INT1/INT2 pin operation
2023-01-18 11:08:03 -05:00
Daniel Agar 45912066d2 fix copyright header year range 2023-01-14 09:16:16 -05:00
Daniel Agar 7f7dfea998 drivers/imu/analog_devices: experimental support for new ADIS16507 IMU (untested) 2023-01-07 10:56:30 -05:00
Julian Oes 21f49ff5be drivers: fix two includes for CLion
This fixes two errors where CLion complains:

error: 'size_t' does not name a type
2022-10-31 07:56:59 +01:00
Hamish Willee 022aa13aa1 mpu9250_i2c - also needs docs update 2022-10-05 20:26:25 -04:00
Hamish Willee 6d612b1ba4 MPU9250 driver doc incorrect 2022-10-05 20:26:25 -04:00
Daniel Agar b7fab39165 icm20948_i2c_passthrough: PX4_ERR is reset/configure fails and check temperature for validity 2022-09-23 19:16:10 -04:00
Igor Mišić 296b1704c5 invensense/icm42688p: add additional state FIFO_RESET
This state is added to give extra time between  FIFO flush command. Some icm42688p IMUs need more time between config -> FIFO reset -> FIFO read. More about the issue  #20181
2022-09-09 16:19:10 -04:00
Daniel AgarandKabir Mohammed 1c72f86761 Update src/drivers/imu/analog_devices/adis16470/ADIS16470.cpp
Co-authored-by: Kabir Mohammed  <kabir@corvus-robotics.com>
2022-08-16 08:40:43 -04:00