Message ID | cover.1749569957.git.Jonathan.Santos@analog.com |
---|---|
Headers | show |
Series | iio: adc: ad7768-1: Add features, improvements, and fixes | expand |
On Wed, Jun 11, 2025 at 08:52:03AM -0300, Jonathan Santos wrote: > Ad7768-1 has a different -3db frequency multiplier depending on > the filter type configured. The cutoff frequency also varies according > to the current ODR. > > Add a readonly low pass -3dB frequency cutoff attribute to clarify to > the user which bandwidth is being allowed depending on the filter > configurations. > +/* -3dB cutoff frequency multipliers (relative to ODR) for each filter type. */ > +static const int ad7768_filter_3db_odr_multiplier[] = { > + [AD7768_FILTER_SINC5] = 204, /* 0.204 */ > + [AD7768_FILTER_SINC3] = 262, /* 0.2617 */ > + [AD7768_FILTER_SINC3_REJ60] = 262, /* 0.2617 */ > + [AD7768_FILTER_WIDEBAND] = 433, /* 0.433 */ Just to be sure, is it 0.433 or 0.4333(3) actually? Sometimes datasheets have rounding that even may lead to problems (see TSC issues for some of the Intel CPUs in the past). That's behind my question. > +}; ... > + case IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY: > + temp = st->samp_freq * ad7768_filter_3db_odr_multiplier[st->filter_type]; > + *val = DIV_ROUND_CLOSEST(temp, 1000); MILLI? KILO/ MICRO/MILLI? ...?