|
Zephyr API Documentation 4.5.99
A Scalable Open Source RTOS
|
TDK InvenSense ICM566xx 6-axis IMU. More...
Files | |
| file | icm566xx.h |
| Extended public API for ICM566XX MEMS sensor. | |
| file | icm566xx.h |
| Devicetree binding constants for the TDK InvenSense ICM566xx IMU. | |
Macros | |
| #define | ICM566XX_LOW_NOISE_MODE (0) |
| ICM566XX Low Noise Power Mode. | |
| #define | ICM566XX_LOW_POWER_MODE (1) |
| ICM566XX Low Power Mode. | |
Enumerations | |
| enum | sensor_attribute_icm566xx { SENSOR_ATTR_BW_FILTER_LPF = SENSOR_ATTR_PRIV_START , SENSOR_ATTR_AVERAGING } |
| Extended sensor attributes for ICM566XX MEMS sensor. More... | |
Accelerometer power modes | |
Values for the accel-pwr-mode devicetree property. | |
| #define | ICM566XX_DT_ACCEL_OFF 0 |
| Powered down. | |
| #define | ICM566XX_DT_ACCEL_LP 2 |
| Low-power mode. | |
| #define | ICM566XX_DT_ACCEL_LN 3 |
| Low-noise mode. | |
Gyroscope power modes | |
Values for the gyro-pwr-mode devicetree property. | |
| #define | ICM566XX_DT_GYRO_OFF 0 |
| Powered down. | |
| #define | ICM566XX_DT_GYRO_STANDBY 1 |
| Standby. | |
| #define | ICM566XX_DT_GYRO_LP 2 |
| Low-power mode. | |
| #define | ICM566XX_DT_GYRO_LN 3 |
| Low-noise mode. | |
Accelerometer scale options | |
Values for the accel-fs devicetree property. | |
| #define | ICM566XX_DT_ACCEL_FS_32 0 |
| 32g full scale | |
| #define | ICM566XX_DT_ACCEL_FS_16 1 |
| 16g full scale | |
| #define | ICM566XX_DT_ACCEL_FS_8 2 |
| 8g full scale | |
| #define | ICM566XX_DT_ACCEL_FS_4 3 |
| 4g full scale | |
| #define | ICM566XX_DT_ACCEL_FS_2 4 |
| 2g full scale | |
Gyroscope scale options | |
Values for the gyro-fs devicetree property. | |
| #define | ICM566XX_DT_GYRO_FS_4000 0 |
| 4000 dps full scale | |
| #define | ICM566XX_DT_GYRO_FS_2000 1 |
| 2000 dps full scale | |
| #define | ICM566XX_DT_GYRO_FS_1000 2 |
| 1000 dps full scale | |
| #define | ICM566XX_DT_GYRO_FS_500 3 |
| 500 dps full scale | |
| #define | ICM566XX_DT_GYRO_FS_250 4 |
| 250 dps full scale | |
| #define | ICM566XX_DT_GYRO_FS_125 5 |
| 125 dps full scale | |
| #define | ICM566XX_DT_GYRO_FS_62_5 6 |
| 62.5 dps full scale | |
| #define | ICM566XX_DT_GYRO_FS_31_25 7 |
| 31.25 dps full scale | |
| #define | ICM566XX_DT_GYRO_FS_15_625 8 |
| 15.625 dps full scale | |
Accelerometer data rate options | |
Values for the accel-odr devicetree property. | |
| #define | ICM566XX_DT_ACCEL_ODR_6400 3 |
| 6400 Hz (LN mode only) | |
| #define | ICM566XX_DT_ACCEL_ODR_3200 4 |
| 3200 Hz (LN mode only) | |
| #define | ICM566XX_DT_ACCEL_ODR_1600 5 |
| 1600 Hz (LN mode only) | |
| #define | ICM566XX_DT_ACCEL_ODR_800 6 |
| 800 Hz (LN mode only) | |
| #define | ICM566XX_DT_ACCEL_ODR_400 7 |
| 400 Hz (LN or LP mode) | |
| #define | ICM566XX_DT_ACCEL_ODR_200 8 |
| 200 Hz (LN or LP mode) | |
| #define | ICM566XX_DT_ACCEL_ODR_100 9 |
| 100 Hz (LN or LP mode) | |
| #define | ICM566XX_DT_ACCEL_ODR_50 10 |
| 50 Hz (LN or LP mode) | |
| #define | ICM566XX_DT_ACCEL_ODR_25 11 |
| 25 Hz (LN or LP mode) | |
| #define | ICM566XX_DT_ACCEL_ODR_12_5 12 |
| 12.5 Hz (LN or LP mode) | |
| #define | ICM566XX_DT_ACCEL_ODR_6_25 13 |
| 6.25 Hz (LP mode only) | |
| #define | ICM566XX_DT_ACCEL_ODR_3_125 14 |
| 3.125 Hz (LP mode only) | |
| #define | ICM566XX_DT_ACCEL_ODR_1_5625 15 |
| 1.5625 Hz (LP mode only) | |
Gyroscope data rate options | |
Values for the gyro-odr devicetree property. | |
| #define | ICM566XX_DT_GYRO_ODR_6400 3 |
| 6400 Hz (LN mode only) | |
| #define | ICM566XX_DT_GYRO_ODR_3200 4 |
| 3200 Hz (LN mode only) | |
| #define | ICM566XX_DT_GYRO_ODR_1600 5 |
| 1600 Hz (LN mode only) | |
| #define | ICM566XX_DT_GYRO_ODR_800 6 |
| 800 Hz (LN mode only) | |
| #define | ICM566XX_DT_GYRO_ODR_400 7 |
| 400 Hz (LN or LP mode) | |
| #define | ICM566XX_DT_GYRO_ODR_200 8 |
| 200 Hz (LN or LP mode) | |
| #define | ICM566XX_DT_GYRO_ODR_100 9 |
| 100 Hz (LN or LP mode) | |
| #define | ICM566XX_DT_GYRO_ODR_50 10 |
| 50 Hz (LN or LP mode) | |
| #define | ICM566XX_DT_GYRO_ODR_25 11 |
| 25 Hz (LN or LP mode) | |
| #define | ICM566XX_DT_GYRO_ODR_12_5 12 |
| 12.5 Hz (LN or LP mode) | |
| #define | ICM566XX_DT_GYRO_ODR_6_25 13 |
| 6.25 Hz (LP mode only) | |
| #define | ICM566XX_DT_GYRO_ODR_3_125 14 |
| 3.125 Hz (LP mode only) | |
| #define | ICM566XX_DT_GYRO_ODR_1_5625 15 |
| 1.5625 Hz (LP mode only) | |
Gyroscope Low-pass Filtering options | |
Values for the gyro-lpf-bw devicetree property. | |
| #define | ICM566XX_DT_GYRO_LPF_BW_OFF 0 |
| Filter disabled. | |
| #define | ICM566XX_DT_GYRO_LPF_BW_1_4 1 |
| 1/4 ODR | |
| #define | ICM566XX_DT_GYRO_LPF_BW_1_8 2 |
| 1/8 ODR | |
| #define | ICM566XX_DT_GYRO_LPF_BW_1_16 3 |
| 1/16 ODR | |
| #define | ICM566XX_DT_GYRO_LPF_BW_1_32 4 |
| 1/32 ODR | |
| #define | ICM566XX_DT_GYRO_LPF_BW_1_64 5 |
| 1/64 ODR | |
| #define | ICM566XX_DT_GYRO_LPF_BW_1_128 6 |
| 1/128 ODR | |
Accelerometer Low-pass Filtering options | |
Values for the accel-lpf-bw devicetree property. | |
| #define | ICM566XX_DT_ACCEL_LPF_BW_OFF 0 |
| Filter disabled. | |
| #define | ICM566XX_DT_ACCEL_LPF_BW_1_4 1 |
| 1/4 ODR | |
| #define | ICM566XX_DT_ACCEL_LPF_BW_1_8 2 |
| 1/8 ODR | |
| #define | ICM566XX_DT_ACCEL_LPF_BW_1_16 3 |
| 1/16 ODR | |
| #define | ICM566XX_DT_ACCEL_LPF_BW_1_32 4 |
| 1/32 ODR | |
| #define | ICM566XX_DT_ACCEL_LPF_BW_1_64 5 |
| 1/64 ODR | |
| #define | ICM566XX_DT_ACCEL_LPF_BW_1_128 6 |
| 1/128 ODR | |
TDK InvenSense ICM566xx 6-axis IMU.
| #define ICM566XX_DT_ACCEL_FS_16 1 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
16g full scale
| #define ICM566XX_DT_ACCEL_FS_2 4 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
2g full scale
| #define ICM566XX_DT_ACCEL_FS_32 0 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
32g full scale
| #define ICM566XX_DT_ACCEL_FS_4 3 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
4g full scale
| #define ICM566XX_DT_ACCEL_FS_8 2 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
8g full scale
| #define ICM566XX_DT_ACCEL_LN 3 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
Low-noise mode.
| #define ICM566XX_DT_ACCEL_LP 2 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
Low-power mode.
| #define ICM566XX_DT_ACCEL_LPF_BW_1_128 6 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
1/128 ODR
| #define ICM566XX_DT_ACCEL_LPF_BW_1_16 3 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
1/16 ODR
| #define ICM566XX_DT_ACCEL_LPF_BW_1_32 4 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
1/32 ODR
| #define ICM566XX_DT_ACCEL_LPF_BW_1_4 1 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
1/4 ODR
| #define ICM566XX_DT_ACCEL_LPF_BW_1_64 5 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
1/64 ODR
| #define ICM566XX_DT_ACCEL_LPF_BW_1_8 2 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
1/8 ODR
| #define ICM566XX_DT_ACCEL_LPF_BW_OFF 0 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
Filter disabled.
| #define ICM566XX_DT_ACCEL_ODR_100 9 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
100 Hz (LN or LP mode)
| #define ICM566XX_DT_ACCEL_ODR_12_5 12 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
12.5 Hz (LN or LP mode)
| #define ICM566XX_DT_ACCEL_ODR_1600 5 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
1600 Hz (LN mode only)
| #define ICM566XX_DT_ACCEL_ODR_1_5625 15 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
1.5625 Hz (LP mode only)
| #define ICM566XX_DT_ACCEL_ODR_200 8 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
200 Hz (LN or LP mode)
| #define ICM566XX_DT_ACCEL_ODR_25 11 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
25 Hz (LN or LP mode)
| #define ICM566XX_DT_ACCEL_ODR_3200 4 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
3200 Hz (LN mode only)
| #define ICM566XX_DT_ACCEL_ODR_3_125 14 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
3.125 Hz (LP mode only)
| #define ICM566XX_DT_ACCEL_ODR_400 7 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
400 Hz (LN or LP mode)
| #define ICM566XX_DT_ACCEL_ODR_50 10 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
50 Hz (LN or LP mode)
| #define ICM566XX_DT_ACCEL_ODR_6400 3 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
6400 Hz (LN mode only)
| #define ICM566XX_DT_ACCEL_ODR_6_25 13 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
6.25 Hz (LP mode only)
| #define ICM566XX_DT_ACCEL_ODR_800 6 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
800 Hz (LN mode only)
| #define ICM566XX_DT_ACCEL_OFF 0 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
Powered down.
| #define ICM566XX_DT_GYRO_FS_1000 2 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
1000 dps full scale
| #define ICM566XX_DT_GYRO_FS_125 5 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
125 dps full scale
| #define ICM566XX_DT_GYRO_FS_15_625 8 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
15.625 dps full scale
| #define ICM566XX_DT_GYRO_FS_2000 1 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
2000 dps full scale
| #define ICM566XX_DT_GYRO_FS_250 4 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
250 dps full scale
| #define ICM566XX_DT_GYRO_FS_31_25 7 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
31.25 dps full scale
| #define ICM566XX_DT_GYRO_FS_4000 0 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
4000 dps full scale
| #define ICM566XX_DT_GYRO_FS_500 3 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
500 dps full scale
| #define ICM566XX_DT_GYRO_FS_62_5 6 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
62.5 dps full scale
| #define ICM566XX_DT_GYRO_LN 3 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
Low-noise mode.
| #define ICM566XX_DT_GYRO_LP 2 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
Low-power mode.
| #define ICM566XX_DT_GYRO_LPF_BW_1_128 6 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
1/128 ODR
| #define ICM566XX_DT_GYRO_LPF_BW_1_16 3 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
1/16 ODR
| #define ICM566XX_DT_GYRO_LPF_BW_1_32 4 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
1/32 ODR
| #define ICM566XX_DT_GYRO_LPF_BW_1_4 1 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
1/4 ODR
| #define ICM566XX_DT_GYRO_LPF_BW_1_64 5 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
1/64 ODR
| #define ICM566XX_DT_GYRO_LPF_BW_1_8 2 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
1/8 ODR
| #define ICM566XX_DT_GYRO_LPF_BW_OFF 0 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
Filter disabled.
| #define ICM566XX_DT_GYRO_ODR_100 9 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
100 Hz (LN or LP mode)
| #define ICM566XX_DT_GYRO_ODR_12_5 12 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
12.5 Hz (LN or LP mode)
| #define ICM566XX_DT_GYRO_ODR_1600 5 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
1600 Hz (LN mode only)
| #define ICM566XX_DT_GYRO_ODR_1_5625 15 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
1.5625 Hz (LP mode only)
| #define ICM566XX_DT_GYRO_ODR_200 8 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
200 Hz (LN or LP mode)
| #define ICM566XX_DT_GYRO_ODR_25 11 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
25 Hz (LN or LP mode)
| #define ICM566XX_DT_GYRO_ODR_3200 4 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
3200 Hz (LN mode only)
| #define ICM566XX_DT_GYRO_ODR_3_125 14 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
3.125 Hz (LP mode only)
| #define ICM566XX_DT_GYRO_ODR_400 7 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
400 Hz (LN or LP mode)
| #define ICM566XX_DT_GYRO_ODR_50 10 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
50 Hz (LN or LP mode)
| #define ICM566XX_DT_GYRO_ODR_6400 3 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
6400 Hz (LN mode only)
| #define ICM566XX_DT_GYRO_ODR_6_25 13 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
6.25 Hz (LP mode only)
| #define ICM566XX_DT_GYRO_ODR_800 6 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
800 Hz (LN mode only)
| #define ICM566XX_DT_GYRO_OFF 0 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
Powered down.
| #define ICM566XX_DT_GYRO_STANDBY 1 |
#include <zephyr/dt-bindings/sensor/icm566xx.h>
Standby.
| #define ICM566XX_LOW_NOISE_MODE (0) |
#include <zephyr/drivers/sensor/icm566xx.h>
ICM566XX Low Noise Power Mode.
| #define ICM566XX_LOW_POWER_MODE (1) |
#include <zephyr/drivers/sensor/icm566xx.h>
ICM566XX Low Power Mode.
#include <zephyr/drivers/sensor/icm566xx.h>
Extended sensor attributes for ICM566XX MEMS sensor.
This exposes attributes for the ICM566XX which can be used for setting the signal path filtering parameters.
The signal path starts with ADCs for the gyroscope and accelerometer. Low-Noise Mode and Low-Power Mode options are available for the accelerometer. Only Low-Noise Mode is available for gyroscope. In Low-Noise Mode, the ADC output is sent through an Anti-Alias Filter (AAF). The AAF is a filter with fixed coefficients (not user configurable), also the AAF cannot be bypassed. The AAF is followed by a 1st Order Low Pass Filter (LPF) with user selectable filter bandwidth options. In Low-Power Mode, the accelerometer ADC output is sent through an Average filter, with user configurable average filter setting. The output of 1st Order LPF in Low-Noise Mode, or Average filter in Low-Power Mode is subject to ODR selection, with user selectable ODR.
| Enumerator | |
|---|---|
| SENSOR_ATTR_BW_FILTER_LPF | BW filtering. Low-pass filter configuration |
| SENSOR_ATTR_AVERAGING | Averaging configuration. |