Re: [PATCH v5 5/5] iio: pressure: bmp280: Add more tunable config parameters for BMP380

From: Andy Shevchenko
Date: Mon Aug 08 2022 - 05:14:37 EST


On Sun, Aug 7, 2022 at 2:44 PM Angel Iglesias <ang.iglesiasg@xxxxxxxxx> wrote:
>
> Allows sampling frequency and IIR filter coefficients configuration
> using sysfs ABI.
>
> The IIR filter coefficient is configurable using the sysfs attribute
> "filter_low_pass_3db_frequency".

...

> +static const int bmp380_odr_table[][2] = {

s32_fract ?

> + [BMP380_ODR_200HZ] = {200, 0},
> + [BMP380_ODR_100HZ] = {100, 0},
> + [BMP380_ODR_50HZ] = {50, 0},
> + [BMP380_ODR_25HZ] = {25, 0},
> + [BMP380_ODR_12_5HZ] = {12, 500000},
> + [BMP380_ODR_6_25HZ] = {6, 250000},
> + [BMP380_ODR_3_125HZ] = {3, 125000},
> + [BMP380_ODR_1_5625HZ] = {1, 562500},
> + [BMP380_ODR_0_78HZ] = {0, 781250},
> + [BMP380_ODR_0_39HZ] = {0, 390625},
> + [BMP380_ODR_0_2HZ] = {0, 195313},
> + [BMP380_ODR_0_1HZ] = {0, 97656},
> + [BMP380_ODR_0_05HZ] = {0, 48828},
> + [BMP380_ODR_0_02HZ] = {0, 24414},
> + [BMP380_ODR_0_01HZ] = {0, 12207},
> + [BMP380_ODR_0_006HZ] = {0, 6104},
> + [BMP380_ODR_0_003HZ] = {0, 3052},
> + [BMP380_ODR_0_0015HZ] = {0, 1526},
> +};

...

> + ret = regmap_write_bits(data->regmap, BMP380_REG_POWER_CONTROL,
> + BMP380_MODE_MASK,

> + FIELD_PREP(BMP380_MODE_MASK,
> + BMP380_MODE_SLEEP));

One line?

...

> + ret = regmap_write_bits(data->regmap, BMP380_REG_POWER_CONTROL,
> + BMP380_MODE_MASK,

> + FIELD_PREP(BMP380_MODE_MASK,
> + BMP380_MODE_NORMAL));

Ditto.

...

> +static const int bmp380_iir_filter_coeffs_avail[] = { 0, 1, 3, 7, 15, 31, 63, 127 };

This seems like a power of two - 1, can it be replaced by a formula in the code?

--
With Best Regards,
Andy Shevchenko