Lines Matching +full:2 +full:fs

50 static const uint16_t lsm6dso_accel_fs_map[] = {2, 16, 4, 8};
65 static int lsm6dso_accel_fs_val_to_gain(int fs, bool double_range) in lsm6dso_accel_fs_val_to_gain() argument
67 /* Range of ±2G has a LSB of GAIN_UNIT_XL, thus divide by 2 */ in lsm6dso_accel_fs_val_to_gain()
69 lsm6dso_accel_fs_map[fs] * GAIN_UNIT_XL : in lsm6dso_accel_fs_val_to_gain()
70 lsm6dso_accel_fs_map[fs] * GAIN_UNIT_XL / 2; in lsm6dso_accel_fs_val_to_gain()
74 static const uint16_t lsm6dso_gyro_fs_sens[] = {2, 1, 4, 0, 8, 0, 16};
104 static int lsm6dso_accel_set_fs_raw(const struct device *dev, uint8_t fs) in lsm6dso_accel_set_fs_raw() argument
110 if (lsm6dso_xl_full_scale_set(ctx, fs) < 0) { in lsm6dso_accel_set_fs_raw()
114 data->accel_fs = fs; in lsm6dso_accel_set_fs_raw()
134 static int lsm6dso_gyro_set_fs_raw(const struct device *dev, uint8_t fs) in lsm6dso_gyro_set_fs_raw() argument
139 if (lsm6dso_gy_full_scale_set(ctx, fs) < 0) { in lsm6dso_gyro_set_fs_raw()
177 int fs; in lsm6dso_accel_range_set() local
182 fs = lsm6dso_accel_range_to_fs_val(range, range_double); in lsm6dso_accel_range_set()
183 if (fs < 0) { in lsm6dso_accel_range_set()
184 return fs; in lsm6dso_accel_range_set()
187 if (lsm6dso_accel_set_fs_raw(dev, fs) < 0) { in lsm6dso_accel_range_set()
192 data->acc_gain = lsm6dso_accel_fs_val_to_gain(fs, range_double); in lsm6dso_accel_range_set()
233 int fs; in lsm6dso_gyro_range_set() local
236 fs = lsm6dso_gyro_range_to_fs_val(range); in lsm6dso_gyro_range_set()
237 if (fs < 0) { in lsm6dso_gyro_range_set()
238 return fs; in lsm6dso_gyro_range_set()
241 if (lsm6dso_gyro_set_fs_raw(dev, fs) < 0) { in lsm6dso_gyro_range_set()
246 data->gyro_gain = (lsm6dso_gyro_fs_sens[fs] * GAIN_UNIT_G); in lsm6dso_gyro_range_set()
401 /* Convert to m/s^2 */ in lsm6dso_accel_convert()
421 lsm6dso_accel_convert(val, data->acc[2], sensitivity); in lsm6dso_accel_get_channel()
468 lsm6dso_gyro_convert(val, data->gyro[2], sensitivity); in lsm6dso_gyro_get_channel()
527 sample[1] = (int16_t)(data->ext_data[idx][2] | in lsm6dso_magn_get_channel()
529 sample[2] = (int16_t)(data->ext_data[idx][4] | in lsm6dso_magn_get_channel()
540 lsm6dso_magn_convert(val, sample[2], data->magn_gain); in lsm6dso_magn_get_channel()
545 lsm6dso_magn_convert(val + 2, sample[2], data->magn_gain); in lsm6dso_magn_get_channel()
594 (data->ext_data[idx][2] << 16)); in lsm6dso_press_convert()
710 uint8_t odr, fs; in lsm6dso_init_chip() local
770 case 2: in lsm6dso_init_chip()
775 fs = cfg->accel_range & ACCEL_RANGE_MASK; in lsm6dso_init_chip()
776 LOG_DBG("accel range is %d", fs); in lsm6dso_init_chip()
777 if (lsm6dso_accel_set_fs_raw(dev, fs) < 0) { in lsm6dso_init_chip()
778 LOG_ERR("failed to set accelerometer range %d", fs); in lsm6dso_init_chip()
781 lsm6dso->acc_gain = lsm6dso_accel_fs_val_to_gain(fs, cfg->accel_range & ACCEL_RANGE_DOUBLE); in lsm6dso_init_chip()
803 fs = cfg->gyro_range; in lsm6dso_init_chip()
804 LOG_DBG("gyro range is %d", fs); in lsm6dso_init_chip()
805 if (lsm6dso_gyro_set_fs_raw(dev, fs) < 0) { in lsm6dso_init_chip()
806 LOG_ERR("failed to set gyroscope range %d", fs); in lsm6dso_init_chip()
809 lsm6dso->gyro_gain = (lsm6dso_gyro_fs_sens[fs] * GAIN_UNIT_G); in lsm6dso_init_chip()