/* * Copyright (c) 2024 TDK Invensense * * SPDX-License-Identifier: Apache-2.0 */ #ifndef ZEPHYR_INCLUDE_DRIVERS_SENSOR_ICM42670_H_ #define ZEPHYR_INCLUDE_DRIVERS_SENSOR_ICM42670_H_ #include /** * @file * @brief Extended public API for ICM42670 6-axis MEMS sensor * * Some capabilities and operational requirements for this sensor * cannot be expressed within the sensor driver abstraction. */ /** ICM42670 power mode */ #define ICM42670_LOW_NOISE_MODE (0) #define ICM42670_LOW_POWER_MODE (1) /** * @brief Extended sensor attributes for ICM42670 6-axis MEMS sensor * * This exposes attributes for the ICM42670 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. */ enum sensor_attribute_icm42670 { /** BW filtering */ /** Low-pass filter configuration */ SENSOR_ATTR_BW_FILTER_LPF = SENSOR_ATTR_PRIV_START, /** Averaging configuration */ SENSOR_ATTR_AVERAGING, }; #endif /* ZEPHYR_INCLUDE_DRIVERS_SENSOR_ICM42670_H_ */