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 Agar and Kabir 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
Daniel Agar
49d87f1907
adis16470: fix accel and gyro scaling
2022-08-16 08:40:43 -04:00
Daniel Agar
7f2fea1cca
mpu9250: try all I2C addresses if not manually specified
2022-08-09 13:06:40 -04:00
Daniel Agar
0bce1ef573
drivers/imu: new TDK IIM-42652 IMU support
2022-08-08 13:51:39 -04:00
Hamish Willee
e6eed43648
Spelling errors ( #19935 )
2022-07-27 14:33:16 +10:00
Beat Küng
f22dc80ecc
system: add missing includes (added indirectly via visibility.h for normal builds)
2022-07-20 01:14:04 -04:00
Daniel Agar
c71cc5b815
drivers/imu/bosch: new BMI085 driver
...
- very similar to the BMI088 with minor differences in accel range
2022-07-14 18:20:13 -04:00
Daniel Agar
d25a784a3a
icm42688p: only check configured registers periodically (as intended)
2022-05-23 14:58:23 -04:00
Daniel Agar
ff16131874
icm42670p run at full speed
2022-05-17 08:14:22 -07:00
Daniel Agar
83daf648ef
drivers/imu/invensense/icm42670p: cleanup and small fixes
2022-05-17 08:14:22 -07:00
Daniel Agar
8df3932d6a
icm20948: disable debug output (_debug_enabled=true)
2022-04-24 15:45:51 -04:00
mcsauder
fef47513f5
Add gyro and accel range register values to the icm42688p driver.
2022-04-22 21:03:01 -04:00
Daniel Agar
0c31f63896
sensors: add baro calibration and cleanup
...
- sensor_baro.msg use SI (pressure in Pascals)
- update all barometer drivers to publish directly and remove PX4Barometer helper
- introduce baro cal (offset) mainly as a mechanism to adjust
relative priority
- commander: add simple baro cal that sets baro offsets to align with
GPS altitude (if available)
- create new sensors_status.msg to generalize sensor reporting
2022-03-26 16:08:41 -04:00
Daniel Agar
b66dd5ffa6
adis16470: fix gyro scaling
2022-03-09 23:00:54 -05:00
ShiauweiZhao
8549fadb6c
add icm42670p driver kconfig
2022-02-25 12:21:06 -05:00
Viktor Vladic
f4d02a2937
MatekH743 board_id, usb vid/pid changes, and MPU6000 delay before transfer - not after ( #18733 )
...
* Make board_id compatible with ardupilot
* Initialize outputs for CAM1/CAM2 and Vsw pad
* Correct board type 1013 in bootloader to match AP
* Change usb vendor string to "Matek"
* Change cdcacm pid to 1013
* Comment out FLASH_BASED_PARAMS because of #15331
2022-02-07 19:55:49 -05:00
Daniel Agar
e731fcdbc0
sensors (accel/gyro/mag) determine if external with device id
2022-01-10 10:31:07 -05:00
Daniel Agar
a5f58d321e
boards: emlid_navio_default fix missing drivers/modules
2021-12-23 15:57:11 -05:00
Matthias Grob
68e2940f58
math: support max of three values additional to min and use it everywhere
2021-12-07 21:06:51 +01:00
Daniel Agar
9ab633c18f
drivers/imu/invensense: check register bank during probe if necessary
...
- the WHO_AM_I is only accessible in register bank 0, which might not
be currently selected if the sensor didn't have a clean reset
2021-12-06 10:22:54 -05:00
Viktor Vladic
02709fcfab
Fixes for MPU6000 and MatekH743-slim board
...
- MPU6000: Added 10us delay for R/W of slow registers
- Board: Fixed DRDY pin from PB1 to PB2
2021-11-11 08:40:41 -05:00
Daniel Agar
67437396f1
mpu6000: add USER_CTRL I2C_MST_EN bit to checked registers
2021-11-04 21:22:14 -04:00
Daniel Agar
8fbb241c2e
mpu6000: add gyro/accel self test bits to checked registers
2021-11-04 21:22:14 -04:00
Daniel Agar
12c7056ae5
drivers/imu: icm20602/icm20649/icm20948 remove timestamp_sample adjustments
2021-10-14 16:37:11 -04:00
Daniel Agar
4559230de6
drivers/imu/invensense: adjust icm20602/icm20649/icm20948 rescheduling logic
...
- this handles the case where the driver might be more than one full
transfer cycle behind
2021-10-14 09:17:11 -04:00
Peter van der Perk
0571932e7c
[Kconfig] Backport rebase config changes
2021-10-07 10:09:01 -04:00
Peter van der Perk
f7803fb686
[Kconfig] Bloaty 2nd pass
2021-10-07 10:09:01 -04:00
Peter van der Perk
815617e670
Added common options for sensor drivers
...
uavcan_board_identity check for existance
Added kconfig for compiler definitions
2021-10-07 10:09:01 -04:00
Peter van der Perk
b7f03cec5e
[Kconfig] Add FMU-V5 and PX4-IOv2 px4board config
2021-10-07 10:09:01 -04:00
Peter van der Perk
4e4aabc03f
Update Kconfig after rebasing 03-05-21
2021-10-07 10:09:01 -04:00
Peter van der Perk
d5e3e9a7bc
[Kconfig] Decompose Kconfig, now each module has its own Kconfig
...
Which is better for versioning and decomposability
2021-10-07 10:09:01 -04:00
Peter van der Perk
4044fbd4a0
Initial Kconfig implementation in CMake
...
Used fmuk66-v3 as test case
2021-10-07 10:09:01 -04:00
Daniel Agar
b5d401b20c
drivers/imu: ensure timestamp_sample adjustment isn't done as float (continued)
2021-10-06 10:19:01 -04:00
Daniel Agar
dc1b423721
drivers/imu: ensure timestamp_sample adjustment isn't done as float
...
- larger HRT timestamps can't be represented exactly when cast to float
2021-10-06 09:26:26 -04:00
Daniel Agar
e6552370ab
imu/invensense: adjust scheduling dynamically if not using data ready interrupt
2021-09-12 17:34:35 -04:00
ShiauweiZhao and zhaoxiaowei
686bcff8a7
new TDK ICM42670p IMU driver support ( #18141 )
...
Co-authored-by: zhaoxiaowei <zhaoxiaowei@efy-tech.com >
2021-09-08 10:24:22 -04:00
Daniel Agar
5c7882b787
icm42688p: properly disable anti-aliasing and notch filter
2021-09-08 10:20:57 -04:00
Daniel Agar
a397004bf8
adis16448: add additional delay after transfer in case of back to back transcations
...
- add verified register read method
2021-08-08 06:25:16 -07:00
Daniel Agar
b1eb762753
drivers/imu: set sample timestamp from interrupt (if available)
...
- minor scheduling improvements
- if expected number of samples larger than expected adjust timestamp sample and save sample for next iteration
- when scheduling via data ready interrupt (with no FIFO watermark) count continuously without clearing
2021-07-21 02:19:11 -04:00
Daniel Agar
883624d915
lib/geo: move from ecl
2021-07-15 10:38:24 -04:00
Beat Küng
e644036325
drivers: use updated I2C SPI driver interface
2021-07-08 12:59:35 -04:00
Jaeyoung-Lim
e45b862f1d
Specify orientaiton of ADIS16448 IMU from rc.sensors
...
Specify orientaiton of ADIS16448 IMU for from the rc.sensors
WIP: Currently only handling one orientation
2021-06-30 09:34:12 -04:00
Daniel Agar
7ddcb7fe3c
adis16470: disable debug
2021-06-30 01:01:07 -04:00
Daniel Agar
3fcd323f6a
drivers/imu/invensense: store offset registers on configure, trigger reset on any change
...
- this can catch subtle failures that occur after self hours of continuous operation on some units
2021-06-29 10:33:03 -04:00
Roman Dvořák
ab0e3b6001
icm20948_i2c_passthrough: allow to configure i2c address
2021-06-25 07:50:31 +02:00
David Sidrane
84dd8839a2
i2c_spi_buses:Track NuttX change to getopts avoid name collision
...
NuttX #defined optarg and getopt to move to TLS. This fixes the
name collision.
2021-06-16 17:07:47 +02:00
Daniel Agar
e18b1c0355
mpu9250: tolerate missing/mismatching FIFO samples if I2C slave mag active
...
- when the mpu9250 mag is active it disrupts IMU sampling
- this change modifies the simple mpu9250 FIFO integrity checks (comparing duplicate accel samples) to tolerate these samples that don't match if the mag is active
- fixes #17615
2021-05-24 11:22:13 -04:00
Daniel Agar
820a442fe3
drivers/imu/analog_devices/adis16448: minor fixes and compatibility with older model
...
- increase SPI stall time slightly
- tolerate mag self test failure (could be due to local magnetic field)
- register configuration compatible with older ADIS16448AMLZ
- don't publish duplicate accel/gyro
- only allocate CRC perf counter if using CRC
2021-05-18 12:44:37 -04:00
Beat Küng
1a89f165fd
fix bmi088: set correct accel scale
...
This affected the clipping limit, which was set too low
2021-04-27 10:27:57 -04:00