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 Agar and Mathieu 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 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