Message ID | 20220326194146.15549-2-jagathjog1996@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | iio: accel: bma400: Add support for buffer and step | expand |
On Sun, 27 Mar 2022 01:11:42 +0530 Jagath Jog J <jagathjog1996@gmail.com> wrote: > Changing the scale macro values to match the bma400 sensitivity > for 1 LSB of all the available ranges. > > Signed-off-by: Jagath Jog J <jagathjog1996@gmail.com> Hi Jagath, > --- > drivers/iio/accel/bma400.h | 22 ++++++++++++++++++++-- > 1 file changed, 20 insertions(+), 2 deletions(-) > > diff --git a/drivers/iio/accel/bma400.h b/drivers/iio/accel/bma400.h > index c4c8d74155c2..190366debdb3 100644 > --- a/drivers/iio/accel/bma400.h > +++ b/drivers/iio/accel/bma400.h > @@ -83,8 +83,26 @@ > #define BMA400_ACC_ODR_MIN_WHOLE_HZ 25 > #define BMA400_ACC_ODR_MIN_HZ 12 > > -#define BMA400_SCALE_MIN 38357 > -#define BMA400_SCALE_MAX 306864 > +/* BMA400_SCALE_MIN macro value represents m/s^2 for 1 LSB before Multiline comment syntax in IIO is /* * BMA400.... > + * converting to micro values for +-2g range. > + * > + * For +-2g - 1 LSB = 0.976562 milli g = 0.009576 m/s^2 > + * For +-4g - 1 LSB = 1.953125 milli g = 0.019153 m/s^2 > + * For +-16g - 1 LSB = 7.8125 milli g = 0.076614 m/s^2 > + * > + * The raw value which is used to select the different ranges is determined > + * by the first bit set position from the scale value, so BMA400_SCALE_MIN > + * should be odd. > + * > + * Scale values for +-2g, +-4g, +-8g and +-16g is populated into bma400_scales > + * array by left shifting BMA400_SCALE_MIN. > + * eg: > + * To select +-2g = 9577 << 0 = raw value to write is 0. > + * To select +-8g = 9577 << 2 = raw value to write is 2. > + * To select +-16g = 9677 << 3 = raw value to write is 3. 9667? > + */ > +#define BMA400_SCALE_MIN 9577 > +#define BMA400_SCALE_MAX 76617 > > #define BMA400_NUM_REGULATORS 2 > #define BMA400_VDD_REGULATOR 0
diff --git a/drivers/iio/accel/bma400.h b/drivers/iio/accel/bma400.h index c4c8d74155c2..190366debdb3 100644 --- a/drivers/iio/accel/bma400.h +++ b/drivers/iio/accel/bma400.h @@ -83,8 +83,26 @@ #define BMA400_ACC_ODR_MIN_WHOLE_HZ 25 #define BMA400_ACC_ODR_MIN_HZ 12 -#define BMA400_SCALE_MIN 38357 -#define BMA400_SCALE_MAX 306864 +/* BMA400_SCALE_MIN macro value represents m/s^2 for 1 LSB before + * converting to micro values for +-2g range. + * + * For +-2g - 1 LSB = 0.976562 milli g = 0.009576 m/s^2 + * For +-4g - 1 LSB = 1.953125 milli g = 0.019153 m/s^2 + * For +-16g - 1 LSB = 7.8125 milli g = 0.076614 m/s^2 + * + * The raw value which is used to select the different ranges is determined + * by the first bit set position from the scale value, so BMA400_SCALE_MIN + * should be odd. + * + * Scale values for +-2g, +-4g, +-8g and +-16g is populated into bma400_scales + * array by left shifting BMA400_SCALE_MIN. + * eg: + * To select +-2g = 9577 << 0 = raw value to write is 0. + * To select +-8g = 9577 << 2 = raw value to write is 2. + * To select +-16g = 9677 << 3 = raw value to write is 3. + */ +#define BMA400_SCALE_MIN 9577 +#define BMA400_SCALE_MAX 76617 #define BMA400_NUM_REGULATORS 2 #define BMA400_VDD_REGULATOR 0
Changing the scale macro values to match the bma400 sensitivity for 1 LSB of all the available ranges. Signed-off-by: Jagath Jog J <jagathjog1996@gmail.com> --- drivers/iio/accel/bma400.h | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-)