sensor: use SENSOR_CHAN_*_XYZ instead of SENSOR_CHAN_*_ANY
SENSOR_CHAN_*_ANY will be deprecated, so use the new SENSOR_CHAN_*_XYZ enum values. Change-Id: I91cf25864613a934feab65588969d10c52fd4fe6 Signed-off-by: Bogdan Davidoaia <bogdan.davidoaia@linaro.org>
This commit is contained in:
parent
fdf9238382
commit
a45dd12f0c
19 changed files with 84 additions and 79 deletions
|
@ -59,10 +59,12 @@ static int ak8975_channel_get(struct device *dev,
|
||||||
{
|
{
|
||||||
struct ak8975_data *drv_data = dev->driver_data;
|
struct ak8975_data *drv_data = dev->driver_data;
|
||||||
|
|
||||||
__ASSERT_NO_MSG(chan == SENSOR_CHAN_MAGN_ANY || chan == SENSOR_CHAN_MAGN_X ||
|
__ASSERT_NO_MSG(chan == SENSOR_CHAN_MAGN_XYZ ||
|
||||||
chan == SENSOR_CHAN_MAGN_Y || chan == SENSOR_CHAN_MAGN_Z);
|
chan == SENSOR_CHAN_MAGN_X ||
|
||||||
|
chan == SENSOR_CHAN_MAGN_Y ||
|
||||||
|
chan == SENSOR_CHAN_MAGN_Z);
|
||||||
|
|
||||||
if (chan == SENSOR_CHAN_MAGN_ANY) {
|
if (chan == SENSOR_CHAN_MAGN_XYZ) {
|
||||||
ak8975_convert(val, drv_data->x_sample, drv_data->x_adj);
|
ak8975_convert(val, drv_data->x_sample, drv_data->x_adj);
|
||||||
ak8975_convert(val + 1, drv_data->y_sample, drv_data->y_adj);
|
ak8975_convert(val + 1, drv_data->y_sample, drv_data->y_adj);
|
||||||
ak8975_convert(val + 2, drv_data->z_sample, drv_data->z_adj);
|
ak8975_convert(val + 2, drv_data->z_sample, drv_data->z_adj);
|
||||||
|
|
|
@ -83,7 +83,7 @@ static int bma280_channel_get(struct device *dev,
|
||||||
bma280_channel_accel_convert(val, drv_data->y_sample);
|
bma280_channel_accel_convert(val, drv_data->y_sample);
|
||||||
} else if (chan == SENSOR_CHAN_ACCEL_Z) {
|
} else if (chan == SENSOR_CHAN_ACCEL_Z) {
|
||||||
bma280_channel_accel_convert(val, drv_data->z_sample);
|
bma280_channel_accel_convert(val, drv_data->z_sample);
|
||||||
} else if (chan == SENSOR_CHAN_ACCEL_ANY) {
|
} else if (chan == SENSOR_CHAN_ACCEL_XYZ) {
|
||||||
bma280_channel_accel_convert(val, drv_data->x_sample);
|
bma280_channel_accel_convert(val, drv_data->x_sample);
|
||||||
bma280_channel_accel_convert(val + 1, drv_data->y_sample);
|
bma280_channel_accel_convert(val + 1, drv_data->y_sample);
|
||||||
bma280_channel_accel_convert(val + 2, drv_data->z_sample);
|
bma280_channel_accel_convert(val + 2, drv_data->z_sample);
|
||||||
|
|
|
@ -20,7 +20,7 @@ int bma280_attr_set(struct device *dev,
|
||||||
struct bma280_data *drv_data = dev->driver_data;
|
struct bma280_data *drv_data = dev->driver_data;
|
||||||
uint64_t slope_th;
|
uint64_t slope_th;
|
||||||
|
|
||||||
if (chan != SENSOR_CHAN_ACCEL_ANY) {
|
if (chan != SENSOR_CHAN_ACCEL_XYZ) {
|
||||||
return -ENOTSUP;
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -292,7 +292,8 @@ static int bmc150_magn_sample_fetch(struct device *dev,
|
||||||
int16_t raw_x, raw_y, raw_z;
|
int16_t raw_x, raw_y, raw_z;
|
||||||
uint16_t rhall;
|
uint16_t rhall;
|
||||||
|
|
||||||
__ASSERT_NO_MSG(chan == SENSOR_CHAN_ALL || chan == SENSOR_CHAN_MAGN_ANY);
|
__ASSERT_NO_MSG(chan == SENSOR_CHAN_ALL ||
|
||||||
|
chan == SENSOR_CHAN_MAGN_XYZ);
|
||||||
|
|
||||||
if (i2c_burst_read(data->i2c_master, config->i2c_slave_addr,
|
if (i2c_burst_read(data->i2c_master, config->i2c_slave_addr,
|
||||||
BMC150_MAGN_REG_X_L, (uint8_t *)values,
|
BMC150_MAGN_REG_X_L, (uint8_t *)values,
|
||||||
|
@ -342,7 +343,7 @@ static int bmc150_magn_channel_get(struct device *dev,
|
||||||
case SENSOR_CHAN_MAGN_Z:
|
case SENSOR_CHAN_MAGN_Z:
|
||||||
bmc150_magn_convert(val, data->sample_z);
|
bmc150_magn_convert(val, data->sample_z);
|
||||||
break;
|
break;
|
||||||
case SENSOR_CHAN_MAGN_ANY:
|
case SENSOR_CHAN_MAGN_XYZ:
|
||||||
bmc150_magn_convert(val, data->sample_x);
|
bmc150_magn_convert(val, data->sample_x);
|
||||||
bmc150_magn_convert(val + 1, data->sample_y);
|
bmc150_magn_convert(val + 1, data->sample_y);
|
||||||
bmc150_magn_convert(val + 2, data->sample_z);
|
bmc150_magn_convert(val + 2, data->sample_z);
|
||||||
|
|
|
@ -133,7 +133,7 @@ static int bmg160_attr_set(struct device *dev, enum sensor_channel chan,
|
||||||
int idx;
|
int idx;
|
||||||
uint16_t range_dps;
|
uint16_t range_dps;
|
||||||
|
|
||||||
if (chan != SENSOR_CHAN_GYRO_ANY) {
|
if (chan != SENSOR_CHAN_GYRO_XYZ) {
|
||||||
return -ENOTSUP;
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -241,7 +241,7 @@ static int bmg160_channel_get(struct device *dev, enum sensor_channel chan,
|
||||||
bmg160_to_fixed_point(bmg160, chan, raw_val, val);
|
bmg160_to_fixed_point(bmg160, chan, raw_val, val);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
case SENSOR_CHAN_GYRO_ANY:
|
case SENSOR_CHAN_GYRO_XYZ:
|
||||||
/* return all channel values, in one read */
|
/* return all channel values, in one read */
|
||||||
for (i = 0; i < 3; i++, val++) {
|
for (i = 0; i < 3; i++, val++) {
|
||||||
raw_val = bmg160->raw_gyro_xyz[i];
|
raw_val = bmg160->raw_gyro_xyz[i];
|
||||||
|
|
|
@ -121,7 +121,7 @@ static int bmg160_handle_anymotion_int(struct device *dev)
|
||||||
struct bmg160_device_data *bmg160 = dev->driver_data;
|
struct bmg160_device_data *bmg160 = dev->driver_data;
|
||||||
struct sensor_trigger any_trig = {
|
struct sensor_trigger any_trig = {
|
||||||
.type = SENSOR_TRIG_DELTA,
|
.type = SENSOR_TRIG_DELTA,
|
||||||
.chan = SENSOR_CHAN_GYRO_ANY,
|
.chan = SENSOR_CHAN_GYRO_XYZ,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (bmg160->anymotion_handler) {
|
if (bmg160->anymotion_handler) {
|
||||||
|
@ -136,7 +136,7 @@ static int bmg160_handle_dataready_int(struct device *dev)
|
||||||
struct bmg160_device_data *bmg160 = dev->driver_data;
|
struct bmg160_device_data *bmg160 = dev->driver_data;
|
||||||
struct sensor_trigger drdy_trig = {
|
struct sensor_trigger drdy_trig = {
|
||||||
.type = SENSOR_TRIG_DATA_READY,
|
.type = SENSOR_TRIG_DATA_READY,
|
||||||
.chan = SENSOR_CHAN_GYRO_ANY,
|
.chan = SENSOR_CHAN_GYRO_XYZ,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (bmg160->drdy_handler) {
|
if (bmg160->drdy_handler) {
|
||||||
|
|
|
@ -354,7 +354,7 @@ static int bmi160_acc_ofs_set(struct device *dev, enum sensor_channel chan,
|
||||||
int8_t reg_val;
|
int8_t reg_val;
|
||||||
|
|
||||||
/* we need the offsets for all axis */
|
/* we need the offsets for all axis */
|
||||||
if (chan != SENSOR_CHAN_ACCEL_ANY) {
|
if (chan != SENSOR_CHAN_ACCEL_XYZ) {
|
||||||
return -ENOTSUP;
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -394,7 +394,7 @@ static int bmi160_acc_calibrate(struct device *dev, enum sensor_channel chan,
|
||||||
/*
|
/*
|
||||||
* Hardware calibration is done knowing the expected values on all axis.
|
* Hardware calibration is done knowing the expected values on all axis.
|
||||||
*/
|
*/
|
||||||
if (chan != SENSOR_CHAN_ACCEL_ANY) {
|
if (chan != SENSOR_CHAN_ACCEL_XYZ) {
|
||||||
return -ENOTSUP;
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -521,7 +521,7 @@ static int bmi160_gyr_ofs_set(struct device *dev, enum sensor_channel chan,
|
||||||
int16_t val;
|
int16_t val;
|
||||||
|
|
||||||
/* we need the offsets for all axis */
|
/* we need the offsets for all axis */
|
||||||
if (chan != SENSOR_CHAN_GYRO_ANY) {
|
if (chan != SENSOR_CHAN_GYRO_XYZ) {
|
||||||
return -ENOTSUP;
|
return -ENOTSUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -617,14 +617,14 @@ static int bmi160_attr_set(struct device *dev, enum sensor_channel chan,
|
||||||
case SENSOR_CHAN_GYRO_X:
|
case SENSOR_CHAN_GYRO_X:
|
||||||
case SENSOR_CHAN_GYRO_Y:
|
case SENSOR_CHAN_GYRO_Y:
|
||||||
case SENSOR_CHAN_GYRO_Z:
|
case SENSOR_CHAN_GYRO_Z:
|
||||||
case SENSOR_CHAN_GYRO_ANY:
|
case SENSOR_CHAN_GYRO_XYZ:
|
||||||
return bmi160_gyr_config(dev, chan, attr, val);
|
return bmi160_gyr_config(dev, chan, attr, val);
|
||||||
#endif
|
#endif
|
||||||
#if !defined(CONFIG_BMI160_ACCEL_PMU_SUSPEND)
|
#if !defined(CONFIG_BMI160_ACCEL_PMU_SUSPEND)
|
||||||
case SENSOR_CHAN_ACCEL_X:
|
case SENSOR_CHAN_ACCEL_X:
|
||||||
case SENSOR_CHAN_ACCEL_Y:
|
case SENSOR_CHAN_ACCEL_Y:
|
||||||
case SENSOR_CHAN_ACCEL_Z:
|
case SENSOR_CHAN_ACCEL_Z:
|
||||||
case SENSOR_CHAN_ACCEL_ANY:
|
case SENSOR_CHAN_ACCEL_XYZ:
|
||||||
return bmi160_acc_config(dev, chan, attr, val);
|
return bmi160_acc_config(dev, chan, attr, val);
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
|
@ -769,7 +769,7 @@ static int bmi160_channel_get(struct device *dev,
|
||||||
case SENSOR_CHAN_GYRO_X:
|
case SENSOR_CHAN_GYRO_X:
|
||||||
case SENSOR_CHAN_GYRO_Y:
|
case SENSOR_CHAN_GYRO_Y:
|
||||||
case SENSOR_CHAN_GYRO_Z:
|
case SENSOR_CHAN_GYRO_Z:
|
||||||
case SENSOR_CHAN_GYRO_ANY:
|
case SENSOR_CHAN_GYRO_XYZ:
|
||||||
bmi160_gyr_channel_get(dev, chan, val);
|
bmi160_gyr_channel_get(dev, chan, val);
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
|
@ -777,7 +777,7 @@ static int bmi160_channel_get(struct device *dev,
|
||||||
case SENSOR_CHAN_ACCEL_X:
|
case SENSOR_CHAN_ACCEL_X:
|
||||||
case SENSOR_CHAN_ACCEL_Y:
|
case SENSOR_CHAN_ACCEL_Y:
|
||||||
case SENSOR_CHAN_ACCEL_Z:
|
case SENSOR_CHAN_ACCEL_Z:
|
||||||
case SENSOR_CHAN_ACCEL_ANY:
|
case SENSOR_CHAN_ACCEL_XYZ:
|
||||||
bmi160_acc_channel_get(dev, chan, val);
|
bmi160_acc_channel_get(dev, chan, val);
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -16,7 +16,7 @@ static void bmi160_handle_anymotion(struct device *dev)
|
||||||
struct bmi160_device_data *bmi160 = dev->driver_data;
|
struct bmi160_device_data *bmi160 = dev->driver_data;
|
||||||
struct sensor_trigger anym_trigger = {
|
struct sensor_trigger anym_trigger = {
|
||||||
.type = SENSOR_TRIG_DELTA,
|
.type = SENSOR_TRIG_DELTA,
|
||||||
.chan = SENSOR_CHAN_ACCEL_ANY,
|
.chan = SENSOR_CHAN_ACCEL_XYZ,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (bmi160->handler_anymotion) {
|
if (bmi160->handler_anymotion) {
|
||||||
|
@ -33,14 +33,14 @@ static void bmi160_handle_drdy(struct device *dev, uint8_t status)
|
||||||
|
|
||||||
#if !defined(CONFIG_BMI160_ACCEL_PMU_SUSPEND)
|
#if !defined(CONFIG_BMI160_ACCEL_PMU_SUSPEND)
|
||||||
if (bmi160->handler_drdy_acc && (status & BMI160_STATUS_ACC_DRDY)) {
|
if (bmi160->handler_drdy_acc && (status & BMI160_STATUS_ACC_DRDY)) {
|
||||||
drdy_trigger.chan = SENSOR_CHAN_ACCEL_ANY;
|
drdy_trigger.chan = SENSOR_CHAN_ACCEL_XYZ;
|
||||||
bmi160->handler_drdy_acc(dev, &drdy_trigger);
|
bmi160->handler_drdy_acc(dev, &drdy_trigger);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(CONFIG_BMI160_GYRO_PMU_SUSPEND)
|
#if !defined(CONFIG_BMI160_GYRO_PMU_SUSPEND)
|
||||||
if (bmi160->handler_drdy_gyr && (status & BMI160_STATUS_GYR_DRDY)) {
|
if (bmi160->handler_drdy_gyr && (status & BMI160_STATUS_GYR_DRDY)) {
|
||||||
drdy_trigger.chan = SENSOR_CHAN_GYRO_ANY;
|
drdy_trigger.chan = SENSOR_CHAN_GYRO_XYZ;
|
||||||
bmi160->handler_drdy_gyr(dev, &drdy_trigger);
|
bmi160->handler_drdy_gyr(dev, &drdy_trigger);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -129,7 +129,7 @@ static int bmi160_trigger_drdy_set(struct device *dev,
|
||||||
uint8_t drdy_en = 0;
|
uint8_t drdy_en = 0;
|
||||||
|
|
||||||
#if !defined(CONFIG_BMI160_ACCEL_PMU_SUSPEND)
|
#if !defined(CONFIG_BMI160_ACCEL_PMU_SUSPEND)
|
||||||
if (chan == SENSOR_CHAN_ACCEL_ANY) {
|
if (chan == SENSOR_CHAN_ACCEL_XYZ) {
|
||||||
bmi160->handler_drdy_acc = handler;
|
bmi160->handler_drdy_acc = handler;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -139,7 +139,7 @@ static int bmi160_trigger_drdy_set(struct device *dev,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(CONFIG_BMI160_GYRO_PMU_SUSPEND)
|
#if !defined(CONFIG_BMI160_GYRO_PMU_SUSPEND)
|
||||||
if (chan == SENSOR_CHAN_GYRO_ANY) {
|
if (chan == SENSOR_CHAN_GYRO_XYZ) {
|
||||||
bmi160->handler_drdy_gyr = handler;
|
bmi160->handler_drdy_gyr = handler;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -254,12 +254,12 @@ int bmi160_trigger_set(struct device *dev,
|
||||||
sensor_trigger_handler_t handler)
|
sensor_trigger_handler_t handler)
|
||||||
{
|
{
|
||||||
#if !defined(CONFIG_BMI160_ACCEL_PMU_SUSPEND)
|
#if !defined(CONFIG_BMI160_ACCEL_PMU_SUSPEND)
|
||||||
if (trig->chan == SENSOR_CHAN_ACCEL_ANY) {
|
if (trig->chan == SENSOR_CHAN_ACCEL_XYZ) {
|
||||||
return bmi160_trigger_set_acc(dev, trig, handler);
|
return bmi160_trigger_set_acc(dev, trig, handler);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#if !defined(CONFIG_BMI160_GYRO_PMU_SUSPEND)
|
#if !defined(CONFIG_BMI160_GYRO_PMU_SUSPEND)
|
||||||
if (trig->chan == SENSOR_CHAN_GYRO_ANY) {
|
if (trig->chan == SENSOR_CHAN_GYRO_XYZ) {
|
||||||
return bmi160_trigger_set_gyr(dev, trig, handler);
|
return bmi160_trigger_set_gyr(dev, trig, handler);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -136,7 +136,7 @@ static int fxos8700_channel_get(struct device *dev, enum sensor_channel chan,
|
||||||
start_channel = FXOS8700_CHANNEL_ACCEL_Z;
|
start_channel = FXOS8700_CHANNEL_ACCEL_Z;
|
||||||
num_channels = 1;
|
num_channels = 1;
|
||||||
break;
|
break;
|
||||||
case SENSOR_CHAN_ACCEL_ANY:
|
case SENSOR_CHAN_ACCEL_XYZ:
|
||||||
start_channel = FXOS8700_CHANNEL_ACCEL_X;
|
start_channel = FXOS8700_CHANNEL_ACCEL_X;
|
||||||
num_channels = 3;
|
num_channels = 3;
|
||||||
break;
|
break;
|
||||||
|
@ -173,7 +173,7 @@ static int fxos8700_channel_get(struct device *dev, enum sensor_channel chan,
|
||||||
start_channel = FXOS8700_CHANNEL_MAGN_Z;
|
start_channel = FXOS8700_CHANNEL_MAGN_Z;
|
||||||
num_channels = 1;
|
num_channels = 1;
|
||||||
break;
|
break;
|
||||||
case SENSOR_CHAN_MAGN_ANY:
|
case SENSOR_CHAN_MAGN_XYZ:
|
||||||
start_channel = FXOS8700_CHANNEL_MAGN_X;
|
start_channel = FXOS8700_CHANNEL_MAGN_X;
|
||||||
num_channels = 3;
|
num_channels = 3;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -36,7 +36,7 @@ static int hmc5883l_channel_get(struct device *dev,
|
||||||
} else if (chan == SENSOR_CHAN_MAGN_Z) {
|
} else if (chan == SENSOR_CHAN_MAGN_Z) {
|
||||||
hmc5883l_convert(val, drv_data->z_sample,
|
hmc5883l_convert(val, drv_data->z_sample,
|
||||||
hmc5883l_gain[drv_data->gain_idx]);
|
hmc5883l_gain[drv_data->gain_idx]);
|
||||||
} else { /* chan == SENSOR_CHAN_MAGN_ANY */
|
} else { /* chan == SENSOR_CHAN_MAGN_XYZ */
|
||||||
hmc5883l_convert(val, drv_data->x_sample,
|
hmc5883l_convert(val, drv_data->x_sample,
|
||||||
hmc5883l_gain[drv_data->gain_idx]);
|
hmc5883l_gain[drv_data->gain_idx]);
|
||||||
hmc5883l_convert(val + 1, drv_data->y_sample,
|
hmc5883l_convert(val + 1, drv_data->y_sample,
|
||||||
|
|
|
@ -37,7 +37,7 @@ static int lis3dh_channel_get(struct device *dev,
|
||||||
lis3dh_convert(val, drv_data->y_sample);
|
lis3dh_convert(val, drv_data->y_sample);
|
||||||
} else if (chan == SENSOR_CHAN_ACCEL_Z) {
|
} else if (chan == SENSOR_CHAN_ACCEL_Z) {
|
||||||
lis3dh_convert(val, drv_data->z_sample);
|
lis3dh_convert(val, drv_data->z_sample);
|
||||||
} else if (chan == SENSOR_CHAN_ACCEL_ANY) {
|
} else if (chan == SENSOR_CHAN_ACCEL_XYZ) {
|
||||||
lis3dh_convert(val, drv_data->x_sample);
|
lis3dh_convert(val, drv_data->x_sample);
|
||||||
lis3dh_convert(val + 1, drv_data->y_sample);
|
lis3dh_convert(val + 1, drv_data->y_sample);
|
||||||
lis3dh_convert(val + 2, drv_data->z_sample);
|
lis3dh_convert(val + 2, drv_data->z_sample);
|
||||||
|
@ -53,7 +53,8 @@ int lis3dh_sample_fetch(struct device *dev, enum sensor_channel chan)
|
||||||
struct lis3dh_data *drv_data = dev->driver_data;
|
struct lis3dh_data *drv_data = dev->driver_data;
|
||||||
uint8_t buf[6];
|
uint8_t buf[6];
|
||||||
|
|
||||||
__ASSERT_NO_MSG(chan == SENSOR_CHAN_ALL || chan == SENSOR_CHAN_ACCEL_ANY);
|
__ASSERT_NO_MSG(chan == SENSOR_CHAN_ALL ||
|
||||||
|
chan == SENSOR_CHAN_ACCEL_XYZ);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* since all accel data register addresses are consecutive,
|
* since all accel data register addresses are consecutive,
|
||||||
|
|
|
@ -27,7 +27,7 @@ static int lis3mdl_channel_get(struct device *dev,
|
||||||
{
|
{
|
||||||
struct lis3mdl_data *drv_data = dev->driver_data;
|
struct lis3mdl_data *drv_data = dev->driver_data;
|
||||||
|
|
||||||
if (chan == SENSOR_CHAN_MAGN_ANY) {
|
if (chan == SENSOR_CHAN_MAGN_XYZ) {
|
||||||
/* magn_val = sample / mang_gain */
|
/* magn_val = sample / mang_gain */
|
||||||
lis3mdl_convert(val, drv_data->x_sample,
|
lis3mdl_convert(val, drv_data->x_sample,
|
||||||
lis3mdl_magn_gain[LIS3MDL_FS_IDX]);
|
lis3mdl_magn_gain[LIS3MDL_FS_IDX]);
|
||||||
|
|
|
@ -206,14 +206,14 @@ static int lsm6ds0_sample_fetch_temp(struct device *dev)
|
||||||
|
|
||||||
static int lsm6ds0_sample_fetch(struct device *dev, enum sensor_channel chan)
|
static int lsm6ds0_sample_fetch(struct device *dev, enum sensor_channel chan)
|
||||||
{
|
{
|
||||||
__ASSERT_NO_MSG(chan == SENSOR_CHAN_ALL || chan == SENSOR_CHAN_GYRO_ANY ||
|
__ASSERT_NO_MSG(chan == SENSOR_CHAN_ALL ||
|
||||||
chan == SENSOR_CHAN_GYRO_ANY);
|
chan == SENSOR_CHAN_GYRO_XYZ);
|
||||||
|
|
||||||
switch (chan) {
|
switch (chan) {
|
||||||
case SENSOR_CHAN_ACCEL_ANY:
|
case SENSOR_CHAN_ACCEL_XYZ:
|
||||||
lsm6ds0_sample_fetch_accel(dev);
|
lsm6ds0_sample_fetch_accel(dev);
|
||||||
break;
|
break;
|
||||||
case SENSOR_CHAN_GYRO_ANY:
|
case SENSOR_CHAN_GYRO_XYZ:
|
||||||
lsm6ds0_sample_fetch_gyro(dev);
|
lsm6ds0_sample_fetch_gyro(dev);
|
||||||
break;
|
break;
|
||||||
#if defined(CONFIG_LSM6DS0_ENABLE_TEMP)
|
#if defined(CONFIG_LSM6DS0_ENABLE_TEMP)
|
||||||
|
@ -266,7 +266,7 @@ static inline int lsm6ds0_accel_get_channel(enum sensor_channel chan,
|
||||||
lsm6ds0_accel_convert(val, data->accel_sample_z, scale);
|
lsm6ds0_accel_convert(val, data->accel_sample_z, scale);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
case SENSOR_CHAN_ACCEL_ANY:
|
case SENSOR_CHAN_ACCEL_XYZ:
|
||||||
#if defined(CONFIG_LSM6DS0_ACCEL_ENABLE_X_AXIS)
|
#if defined(CONFIG_LSM6DS0_ACCEL_ENABLE_X_AXIS)
|
||||||
lsm6ds0_accel_convert(val, data->accel_sample_x, scale);
|
lsm6ds0_accel_convert(val, data->accel_sample_x, scale);
|
||||||
#endif
|
#endif
|
||||||
|
@ -323,7 +323,7 @@ static inline int lsm6ds0_gyro_get_channel(enum sensor_channel chan,
|
||||||
lsm6ds0_gyro_convert(val, data->gyro_sample_z, numerator);
|
lsm6ds0_gyro_convert(val, data->gyro_sample_z, numerator);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
case SENSOR_CHAN_GYRO_ANY:
|
case SENSOR_CHAN_GYRO_XYZ:
|
||||||
#if defined(CONFIG_LSM6DS0_GYRO_ENABLE_X_AXIS)
|
#if defined(CONFIG_LSM6DS0_GYRO_ENABLE_X_AXIS)
|
||||||
lsm6ds0_gyro_convert(val, data->gyro_sample_x, numerator);
|
lsm6ds0_gyro_convert(val, data->gyro_sample_x, numerator);
|
||||||
#endif
|
#endif
|
||||||
|
@ -369,13 +369,13 @@ static int lsm6ds0_channel_get(struct device *dev,
|
||||||
case SENSOR_CHAN_ACCEL_X:
|
case SENSOR_CHAN_ACCEL_X:
|
||||||
case SENSOR_CHAN_ACCEL_Y:
|
case SENSOR_CHAN_ACCEL_Y:
|
||||||
case SENSOR_CHAN_ACCEL_Z:
|
case SENSOR_CHAN_ACCEL_Z:
|
||||||
case SENSOR_CHAN_ACCEL_ANY:
|
case SENSOR_CHAN_ACCEL_XYZ:
|
||||||
lsm6ds0_accel_channel_get(chan, val, data);
|
lsm6ds0_accel_channel_get(chan, val, data);
|
||||||
break;
|
break;
|
||||||
case SENSOR_CHAN_GYRO_X:
|
case SENSOR_CHAN_GYRO_X:
|
||||||
case SENSOR_CHAN_GYRO_Y:
|
case SENSOR_CHAN_GYRO_Y:
|
||||||
case SENSOR_CHAN_GYRO_Z:
|
case SENSOR_CHAN_GYRO_Z:
|
||||||
case SENSOR_CHAN_GYRO_ANY:
|
case SENSOR_CHAN_GYRO_XYZ:
|
||||||
lsm6ds0_gyro_channel_get(chan, val, data);
|
lsm6ds0_gyro_channel_get(chan, val, data);
|
||||||
break;
|
break;
|
||||||
#if defined(CONFIG_LSM6DS0_ENABLE_TEMP)
|
#if defined(CONFIG_LSM6DS0_ENABLE_TEMP)
|
||||||
|
|
|
@ -120,7 +120,8 @@ static int lsm9ds0_gyro_sample_fetch(struct device *dev,
|
||||||
const struct lsm9ds0_gyro_config *config = dev->config->config_info;
|
const struct lsm9ds0_gyro_config *config = dev->config->config_info;
|
||||||
uint8_t x_l, x_h, y_l, y_h, z_l, z_h;
|
uint8_t x_l, x_h, y_l, y_h, z_l, z_h;
|
||||||
|
|
||||||
__ASSERT_NO_MSG(chan == SENSOR_CHAN_ALL || chan == SENSOR_CHAN_GYRO_ANY);
|
__ASSERT_NO_MSG(chan == SENSOR_CHAN_ALL ||
|
||||||
|
chan == SENSOR_CHAN_GYRO_XYZ);
|
||||||
|
|
||||||
if (i2c_reg_read_byte(data->i2c_master, config->i2c_slave_addr,
|
if (i2c_reg_read_byte(data->i2c_master, config->i2c_slave_addr,
|
||||||
LSM9DS0_GYRO_REG_OUT_X_L_G, &x_l) < 0 ||
|
LSM9DS0_GYRO_REG_OUT_X_L_G, &x_l) < 0 ||
|
||||||
|
@ -174,7 +175,7 @@ static inline int lsm9ds0_gyro_get_channel(enum sensor_channel chan,
|
||||||
case SENSOR_CHAN_GYRO_Z:
|
case SENSOR_CHAN_GYRO_Z:
|
||||||
lsm9ds0_gyro_convert(val, data->sample_z, numerator);
|
lsm9ds0_gyro_convert(val, data->sample_z, numerator);
|
||||||
break;
|
break;
|
||||||
case SENSOR_CHAN_GYRO_ANY:
|
case SENSOR_CHAN_GYRO_XYZ:
|
||||||
lsm9ds0_gyro_convert(val, data->sample_x, numerator);
|
lsm9ds0_gyro_convert(val, data->sample_x, numerator);
|
||||||
lsm9ds0_gyro_convert(val + 1, data->sample_y, numerator);
|
lsm9ds0_gyro_convert(val + 1, data->sample_y, numerator);
|
||||||
lsm9ds0_gyro_convert(val + 2, data->sample_z, numerator);
|
lsm9ds0_gyro_convert(val + 2, data->sample_z, numerator);
|
||||||
|
|
|
@ -363,11 +363,11 @@ static int lsm9ds0_mfd_sample_fetch(struct device *dev,
|
||||||
{
|
{
|
||||||
switch (chan) {
|
switch (chan) {
|
||||||
#if !defined(LSM9DS0_MFD_ACCEL_DISABLED)
|
#if !defined(LSM9DS0_MFD_ACCEL_DISABLED)
|
||||||
case SENSOR_CHAN_ACCEL_ANY:
|
case SENSOR_CHAN_ACCEL_XYZ:
|
||||||
return lsm9ds0_mfd_sample_fetch_accel(dev);
|
return lsm9ds0_mfd_sample_fetch_accel(dev);
|
||||||
#endif
|
#endif
|
||||||
#if !defined(LSM9DS0_MFD_MAGN_DISABLED)
|
#if !defined(LSM9DS0_MFD_MAGN_DISABLED)
|
||||||
case SENSOR_CHAN_MAGN_ANY:
|
case SENSOR_CHAN_MAGN_XYZ:
|
||||||
return lsm9ds0_mfd_sample_fetch_magn(dev);
|
return lsm9ds0_mfd_sample_fetch_magn(dev);
|
||||||
#endif
|
#endif
|
||||||
#if !defined(LSM9DS0_MFD_TEMP_DISABLED)
|
#if !defined(LSM9DS0_MFD_TEMP_DISABLED)
|
||||||
|
@ -410,7 +410,7 @@ static inline int lsm9ds0_mfd_get_accel_channel(enum sensor_channel chan,
|
||||||
case SENSOR_CHAN_GYRO_Z:
|
case SENSOR_CHAN_GYRO_Z:
|
||||||
lsm9ds0_mfd_convert_accel(val, data->sample_accel_z, scale);
|
lsm9ds0_mfd_convert_accel(val, data->sample_accel_z, scale);
|
||||||
break;
|
break;
|
||||||
case SENSOR_CHAN_GYRO_ANY:
|
case SENSOR_CHAN_GYRO_XYZ:
|
||||||
lsm9ds0_mfd_convert_accel(val, data->sample_accel_x, scale);
|
lsm9ds0_mfd_convert_accel(val, data->sample_accel_x, scale);
|
||||||
lsm9ds0_mfd_convert_accel(val + 1, data->sample_accel_y, scale);
|
lsm9ds0_mfd_convert_accel(val + 1, data->sample_accel_y, scale);
|
||||||
lsm9ds0_mfd_convert_accel(val + 2, data->sample_accel_z, scale);
|
lsm9ds0_mfd_convert_accel(val + 2, data->sample_accel_z, scale);
|
||||||
|
@ -496,7 +496,7 @@ static inline int lsm9ds0_mfd_get_magn_channel(enum sensor_channel chan,
|
||||||
case SENSOR_CHAN_GYRO_Z:
|
case SENSOR_CHAN_GYRO_Z:
|
||||||
lsm9ds0_mfd_convert_magn(val, data->sample_magn_z, scale);
|
lsm9ds0_mfd_convert_magn(val, data->sample_magn_z, scale);
|
||||||
break;
|
break;
|
||||||
case SENSOR_CHAN_GYRO_ANY:
|
case SENSOR_CHAN_GYRO_XYZ:
|
||||||
lsm9ds0_mfd_convert_magn(val, data->sample_magn_x, scale);
|
lsm9ds0_mfd_convert_magn(val, data->sample_magn_x, scale);
|
||||||
lsm9ds0_mfd_convert_magn(val + 1, data->sample_magn_y, scale);
|
lsm9ds0_mfd_convert_magn(val + 1, data->sample_magn_y, scale);
|
||||||
lsm9ds0_mfd_convert_magn(val + 2, data->sample_magn_z, scale);
|
lsm9ds0_mfd_convert_magn(val + 2, data->sample_magn_z, scale);
|
||||||
|
@ -558,14 +558,14 @@ static int lsm9ds0_mfd_channel_get(struct device *dev,
|
||||||
case SENSOR_CHAN_ACCEL_X:
|
case SENSOR_CHAN_ACCEL_X:
|
||||||
case SENSOR_CHAN_ACCEL_Y:
|
case SENSOR_CHAN_ACCEL_Y:
|
||||||
case SENSOR_CHAN_ACCEL_Z:
|
case SENSOR_CHAN_ACCEL_Z:
|
||||||
case SENSOR_CHAN_ACCEL_ANY:
|
case SENSOR_CHAN_ACCEL_XYZ:
|
||||||
return lsm9ds0_mfd_get_accel(dev, chan, val);
|
return lsm9ds0_mfd_get_accel(dev, chan, val);
|
||||||
#endif
|
#endif
|
||||||
#if !defined(LSM9DS0_MFD_MAGN_DISABLED)
|
#if !defined(LSM9DS0_MFD_MAGN_DISABLED)
|
||||||
case SENSOR_CHAN_MAGN_X:
|
case SENSOR_CHAN_MAGN_X:
|
||||||
case SENSOR_CHAN_MAGN_Y:
|
case SENSOR_CHAN_MAGN_Y:
|
||||||
case SENSOR_CHAN_MAGN_Z:
|
case SENSOR_CHAN_MAGN_Z:
|
||||||
case SENSOR_CHAN_MAGN_ANY:
|
case SENSOR_CHAN_MAGN_XYZ:
|
||||||
return lsm9ds0_mfd_get_magn(dev, chan, val);
|
return lsm9ds0_mfd_get_magn(dev, chan, val);
|
||||||
#endif
|
#endif
|
||||||
#if !defined(LSM9DS0_MFD_TEMP_DISABLED)
|
#if !defined(LSM9DS0_MFD_TEMP_DISABLED)
|
||||||
|
@ -635,14 +635,14 @@ static int lsm9ds0_mfd_attr_set(struct device *dev,
|
||||||
case SENSOR_CHAN_ACCEL_X:
|
case SENSOR_CHAN_ACCEL_X:
|
||||||
case SENSOR_CHAN_ACCEL_Y:
|
case SENSOR_CHAN_ACCEL_Y:
|
||||||
case SENSOR_CHAN_ACCEL_Z:
|
case SENSOR_CHAN_ACCEL_Z:
|
||||||
case SENSOR_CHAN_ACCEL_ANY:
|
case SENSOR_CHAN_ACCEL_XYZ:
|
||||||
return lsm9ds0_mfd_attr_set_accel(dev, attr, val);
|
return lsm9ds0_mfd_attr_set_accel(dev, attr, val);
|
||||||
#endif
|
#endif
|
||||||
#if defined(LSM9DS0_MFD_ATTR_SET_MAGN)
|
#if defined(LSM9DS0_MFD_ATTR_SET_MAGN)
|
||||||
case SENSOR_CHAN_MAGN_X:
|
case SENSOR_CHAN_MAGN_X:
|
||||||
case SENSOR_CHAN_MAGN_Y:
|
case SENSOR_CHAN_MAGN_Y:
|
||||||
case SENSOR_CHAN_MAGN_Z:
|
case SENSOR_CHAN_MAGN_Z:
|
||||||
case SENSOR_CHAN_MAGN_ANY:
|
case SENSOR_CHAN_MAGN_XYZ:
|
||||||
return lsm9ds0_mfd_attr_set_magn(dev, attr, val);
|
return lsm9ds0_mfd_attr_set_magn(dev, attr, val);
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -57,7 +57,7 @@ static int mpu6050_channel_get(struct device *dev,
|
||||||
struct mpu6050_data *drv_data = dev->driver_data;
|
struct mpu6050_data *drv_data = dev->driver_data;
|
||||||
|
|
||||||
switch (chan) {
|
switch (chan) {
|
||||||
case SENSOR_CHAN_ACCEL_ANY:
|
case SENSOR_CHAN_ACCEL_XYZ:
|
||||||
mpu6050_convert_accel(val, drv_data->accel_x,
|
mpu6050_convert_accel(val, drv_data->accel_x,
|
||||||
drv_data->accel_sensitivity_shift);
|
drv_data->accel_sensitivity_shift);
|
||||||
mpu6050_convert_accel(val + 1, drv_data->accel_y,
|
mpu6050_convert_accel(val + 1, drv_data->accel_y,
|
||||||
|
@ -77,7 +77,7 @@ static int mpu6050_channel_get(struct device *dev,
|
||||||
mpu6050_convert_accel(val, drv_data->accel_z,
|
mpu6050_convert_accel(val, drv_data->accel_z,
|
||||||
drv_data->accel_sensitivity_shift);
|
drv_data->accel_sensitivity_shift);
|
||||||
break;
|
break;
|
||||||
case SENSOR_CHAN_GYRO_ANY:
|
case SENSOR_CHAN_GYRO_XYZ:
|
||||||
mpu6050_convert_gyro(val, drv_data->gyro_x,
|
mpu6050_convert_gyro(val, drv_data->gyro_x,
|
||||||
drv_data->gyro_sensitivity_x10);
|
drv_data->gyro_sensitivity_x10);
|
||||||
mpu6050_convert_gyro(val + 1, drv_data->gyro_y,
|
mpu6050_convert_gyro(val + 1, drv_data->gyro_y,
|
||||||
|
|
|
@ -21,7 +21,7 @@ static void print_gyro_data(struct device *bmg160)
|
||||||
{
|
{
|
||||||
struct sensor_value val[3];
|
struct sensor_value val[3];
|
||||||
|
|
||||||
if (sensor_channel_get(bmg160, SENSOR_CHAN_GYRO_ANY, val) < 0) {
|
if (sensor_channel_get(bmg160, SENSOR_CHAN_GYRO_XYZ, val) < 0) {
|
||||||
printf("Cannot read bmg160 gyro channels.\n");
|
printf("Cannot read bmg160 gyro channels.\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -87,7 +87,7 @@ static void test_trigger_mode(struct device *bmg160)
|
||||||
struct sensor_value attr;
|
struct sensor_value attr;
|
||||||
|
|
||||||
trig.type = SENSOR_TRIG_DELTA;
|
trig.type = SENSOR_TRIG_DELTA;
|
||||||
trig.chan = SENSOR_CHAN_GYRO_ANY;
|
trig.chan = SENSOR_CHAN_GYRO_XYZ;
|
||||||
|
|
||||||
printf("Gyro: Testing anymotion trigger.\n");
|
printf("Gyro: Testing anymotion trigger.\n");
|
||||||
|
|
||||||
|
@ -97,7 +97,7 @@ static void test_trigger_mode(struct device *bmg160)
|
||||||
|
|
||||||
sensor_degrees_to_rad(10, &attr); /* convert to rad/s */
|
sensor_degrees_to_rad(10, &attr); /* convert to rad/s */
|
||||||
|
|
||||||
if (sensor_attr_set(bmg160, SENSOR_CHAN_GYRO_ANY,
|
if (sensor_attr_set(bmg160, SENSOR_CHAN_GYRO_XYZ,
|
||||||
SENSOR_ATTR_SLOPE_TH, &attr) < 0) {
|
SENSOR_ATTR_SLOPE_TH, &attr) < 0) {
|
||||||
printf("Gyro: cannot set slope threshold.\n");
|
printf("Gyro: cannot set slope threshold.\n");
|
||||||
return;
|
return;
|
||||||
|
@ -107,7 +107,7 @@ static void test_trigger_mode(struct device *bmg160)
|
||||||
attr.val1 = 4;
|
attr.val1 = 4;
|
||||||
attr.val2 = 0;
|
attr.val2 = 0;
|
||||||
|
|
||||||
if (sensor_attr_set(bmg160, SENSOR_CHAN_GYRO_ANY,
|
if (sensor_attr_set(bmg160, SENSOR_CHAN_GYRO_XYZ,
|
||||||
SENSOR_ATTR_SLOPE_DUR, &attr) < 0) {
|
SENSOR_ATTR_SLOPE_DUR, &attr) < 0) {
|
||||||
printf("Gyro: cannot set slope duration.\n");
|
printf("Gyro: cannot set slope duration.\n");
|
||||||
return;
|
return;
|
||||||
|
@ -136,14 +136,14 @@ static void test_trigger_mode(struct device *bmg160)
|
||||||
attr.val1 = 100;
|
attr.val1 = 100;
|
||||||
attr.val2 = 0;
|
attr.val2 = 0;
|
||||||
|
|
||||||
if (sensor_attr_set(bmg160, SENSOR_CHAN_GYRO_ANY,
|
if (sensor_attr_set(bmg160, SENSOR_CHAN_GYRO_XYZ,
|
||||||
SENSOR_ATTR_SAMPLING_FREQUENCY, &attr) < 0) {
|
SENSOR_ATTR_SAMPLING_FREQUENCY, &attr) < 0) {
|
||||||
printf("Gyro: cannot set sampling frequency.\n");
|
printf("Gyro: cannot set sampling frequency.\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
trig.type = SENSOR_TRIG_DATA_READY;
|
trig.type = SENSOR_TRIG_DATA_READY;
|
||||||
trig.chan = SENSOR_CHAN_GYRO_ANY;
|
trig.chan = SENSOR_CHAN_GYRO_XYZ;
|
||||||
|
|
||||||
if (sensor_trigger_set(bmg160, &trig, trigger_handler) < 0) {
|
if (sensor_trigger_set(bmg160, &trig, trigger_handler) < 0) {
|
||||||
printf("Gyro: cannot set trigger.\n");
|
printf("Gyro: cannot set trigger.\n");
|
||||||
|
@ -185,7 +185,7 @@ void main(void)
|
||||||
*/
|
*/
|
||||||
sensor_degrees_to_rad(250, &attr);
|
sensor_degrees_to_rad(250, &attr);
|
||||||
|
|
||||||
if (sensor_attr_set(bmg160, SENSOR_CHAN_GYRO_ANY,
|
if (sensor_attr_set(bmg160, SENSOR_CHAN_GYRO_XYZ,
|
||||||
SENSOR_ATTR_FULL_SCALE, &attr) < 0) {
|
SENSOR_ATTR_FULL_SCALE, &attr) < 0) {
|
||||||
printf("Cannot set gyro range.\n");
|
printf("Cannot set gyro range.\n");
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -54,7 +54,7 @@ static int manual_calibration(struct device *bmi160)
|
||||||
{
|
{
|
||||||
#if !defined(CONFIG_BMI160_ACCEL_PMU_SUSPEND)
|
#if !defined(CONFIG_BMI160_ACCEL_PMU_SUSPEND)
|
||||||
/* set accelerometer offsets */
|
/* set accelerometer offsets */
|
||||||
if (sensor_attr_set(bmi160, SENSOR_CHAN_ACCEL_ANY,
|
if (sensor_attr_set(bmi160, SENSOR_CHAN_ACCEL_XYZ,
|
||||||
SENSOR_ATTR_OFFSET, accel_offsets) < 0) {
|
SENSOR_ATTR_OFFSET, accel_offsets) < 0) {
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
|
@ -62,7 +62,7 @@ static int manual_calibration(struct device *bmi160)
|
||||||
|
|
||||||
#if !defined(CONFIG_BMI160_GYRO_PMU_SUSPEND)
|
#if !defined(CONFIG_BMI160_GYRO_PMU_SUSPEND)
|
||||||
/* set gyroscope offsets */
|
/* set gyroscope offsets */
|
||||||
if (sensor_attr_set(bmi160, SENSOR_CHAN_GYRO_ANY,
|
if (sensor_attr_set(bmi160, SENSOR_CHAN_GYRO_XYZ,
|
||||||
SENSOR_ATTR_OFFSET, gyro_offsets) < 0) {
|
SENSOR_ATTR_OFFSET, gyro_offsets) < 0) {
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
|
@ -87,7 +87,7 @@ static int auto_calibration(struct device *bmi160)
|
||||||
{
|
{
|
||||||
#if !defined(CONFIG_BMI160_ACCEL_PMU_SUSPEND)
|
#if !defined(CONFIG_BMI160_ACCEL_PMU_SUSPEND)
|
||||||
/* calibrate accelerometer */
|
/* calibrate accelerometer */
|
||||||
if (sensor_attr_set(bmi160, SENSOR_CHAN_ACCEL_ANY,
|
if (sensor_attr_set(bmi160, SENSOR_CHAN_ACCEL_XYZ,
|
||||||
SENSOR_ATTR_CALIB_TARGET, acc_calib) < 0) {
|
SENSOR_ATTR_CALIB_TARGET, acc_calib) < 0) {
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
|
@ -99,7 +99,7 @@ static int auto_calibration(struct device *bmi160)
|
||||||
* the target on all axis is set internally to 0. This is used just to
|
* the target on all axis is set internally to 0. This is used just to
|
||||||
* trigger a gyro calibration.
|
* trigger a gyro calibration.
|
||||||
*/
|
*/
|
||||||
if (sensor_attr_set(bmi160, SENSOR_CHAN_GYRO_ANY,
|
if (sensor_attr_set(bmi160, SENSOR_CHAN_GYRO_XYZ,
|
||||||
SENSOR_ATTR_CALIB_TARGET, NULL) < 0) {
|
SENSOR_ATTR_CALIB_TARGET, NULL) < 0) {
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
|
@ -153,7 +153,7 @@ static void print_gyro_data(struct device *bmi160)
|
||||||
struct sensor_value val[3];
|
struct sensor_value val[3];
|
||||||
char buf_x[18], buf_y[18], buf_z[18];
|
char buf_x[18], buf_y[18], buf_z[18];
|
||||||
|
|
||||||
if (sensor_channel_get(bmi160, SENSOR_CHAN_GYRO_ANY, val) < 0) {
|
if (sensor_channel_get(bmi160, SENSOR_CHAN_GYRO_XYZ, val) < 0) {
|
||||||
printk("Cannot read bmi160 gyro channels.\n");
|
printk("Cannot read bmi160 gyro channels.\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -173,7 +173,7 @@ static void print_accel_data(struct device *bmi160)
|
||||||
char buf_x[18], buf_y[18], buf_z[18];
|
char buf_x[18], buf_y[18], buf_z[18];
|
||||||
|
|
||||||
if (sensor_channel_get(bmi160,
|
if (sensor_channel_get(bmi160,
|
||||||
SENSOR_CHAN_ACCEL_ANY, val) < 0) {
|
SENSOR_CHAN_ACCEL_XYZ, val) < 0) {
|
||||||
printk("Cannot read bmi160 accel channels.\n");
|
printk("Cannot read bmi160 accel channels.\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -211,7 +211,7 @@ static void test_polling_mode(struct device *bmi160)
|
||||||
attr.val1 = 800;
|
attr.val1 = 800;
|
||||||
attr.val2 = 0;
|
attr.val2 = 0;
|
||||||
|
|
||||||
if (sensor_attr_set(bmi160, SENSOR_CHAN_ACCEL_ANY,
|
if (sensor_attr_set(bmi160, SENSOR_CHAN_ACCEL_XYZ,
|
||||||
SENSOR_ATTR_SAMPLING_FREQUENCY, &attr) < 0) {
|
SENSOR_ATTR_SAMPLING_FREQUENCY, &attr) < 0) {
|
||||||
printk("Cannot set sampling frequency for accelerometer.\n");
|
printk("Cannot set sampling frequency for accelerometer.\n");
|
||||||
return;
|
return;
|
||||||
|
@ -223,7 +223,7 @@ static void test_polling_mode(struct device *bmi160)
|
||||||
attr.val1 = 3200;
|
attr.val1 = 3200;
|
||||||
attr.val2 = 0;
|
attr.val2 = 0;
|
||||||
|
|
||||||
if (sensor_attr_set(bmi160, SENSOR_CHAN_GYRO_ANY,
|
if (sensor_attr_set(bmi160, SENSOR_CHAN_GYRO_XYZ,
|
||||||
SENSOR_ATTR_SAMPLING_FREQUENCY, &attr) < 0) {
|
SENSOR_ATTR_SAMPLING_FREQUENCY, &attr) < 0) {
|
||||||
printk("Cannot set sampling frequency for gyroscope.\n");
|
printk("Cannot set sampling frequency for gyroscope.\n");
|
||||||
return;
|
return;
|
||||||
|
@ -267,13 +267,13 @@ static void trigger_hdlr(struct device *bmi160,
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(CONFIG_BMI160_GYRO_PMU_SUSPEND)
|
#if !defined(CONFIG_BMI160_GYRO_PMU_SUSPEND)
|
||||||
if (trigger->chan == SENSOR_CHAN_GYRO_ANY) {
|
if (trigger->chan == SENSOR_CHAN_GYRO_XYZ) {
|
||||||
print_gyro_data(bmi160);
|
print_gyro_data(bmi160);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(CONFIG_BMI160_ACCEL_PMU_SUSPEND)
|
#if !defined(CONFIG_BMI160_ACCEL_PMU_SUSPEND)
|
||||||
if (trigger->chan == SENSOR_CHAN_ACCEL_ANY) {
|
if (trigger->chan == SENSOR_CHAN_ACCEL_XYZ) {
|
||||||
print_accel_data(bmi160);
|
print_accel_data(bmi160);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -295,7 +295,7 @@ static void test_anymotion_trigger(struct device *bmi160)
|
||||||
*/
|
*/
|
||||||
attr.val1 = 0;
|
attr.val1 = 0;
|
||||||
attr.val2 = 980665;
|
attr.val2 = 980665;
|
||||||
if (sensor_attr_set(bmi160, SENSOR_CHAN_ACCEL_ANY,
|
if (sensor_attr_set(bmi160, SENSOR_CHAN_ACCEL_XYZ,
|
||||||
SENSOR_ATTR_SLOPE_TH, &attr) < 0) {
|
SENSOR_ATTR_SLOPE_TH, &attr) < 0) {
|
||||||
printk("Cannot set anymotion slope threshold.\n");
|
printk("Cannot set anymotion slope threshold.\n");
|
||||||
return;
|
return;
|
||||||
|
@ -309,7 +309,7 @@ static void test_anymotion_trigger(struct device *bmi160)
|
||||||
*/
|
*/
|
||||||
attr.val1 = 2;
|
attr.val1 = 2;
|
||||||
attr.val2 = 0;
|
attr.val2 = 0;
|
||||||
if (sensor_attr_set(bmi160, SENSOR_CHAN_ACCEL_ANY,
|
if (sensor_attr_set(bmi160, SENSOR_CHAN_ACCEL_XYZ,
|
||||||
SENSOR_ATTR_SLOPE_DUR, &attr) < 0) {
|
SENSOR_ATTR_SLOPE_DUR, &attr) < 0) {
|
||||||
printk("Cannot set anymotion slope duration.\n");
|
printk("Cannot set anymotion slope duration.\n");
|
||||||
return;
|
return;
|
||||||
|
@ -317,7 +317,7 @@ static void test_anymotion_trigger(struct device *bmi160)
|
||||||
|
|
||||||
/* enable anymotion trigger */
|
/* enable anymotion trigger */
|
||||||
trig.type = SENSOR_TRIG_DELTA;
|
trig.type = SENSOR_TRIG_DELTA;
|
||||||
trig.chan = SENSOR_CHAN_ACCEL_ANY;
|
trig.chan = SENSOR_CHAN_ACCEL_XYZ;
|
||||||
|
|
||||||
if (sensor_trigger_set(bmi160, &trig, trigger_hdlr) < 0) {
|
if (sensor_trigger_set(bmi160, &trig, trigger_hdlr) < 0) {
|
||||||
printk("Cannot enable anymotion trigger.\n");
|
printk("Cannot enable anymotion trigger.\n");
|
||||||
|
@ -347,7 +347,7 @@ static void test_data_ready_trigger(struct device *bmi160)
|
||||||
|
|
||||||
/* enable data ready trigger */
|
/* enable data ready trigger */
|
||||||
trig.type = SENSOR_TRIG_DATA_READY;
|
trig.type = SENSOR_TRIG_DATA_READY;
|
||||||
trig.chan = SENSOR_CHAN_ACCEL_ANY;
|
trig.chan = SENSOR_CHAN_ACCEL_XYZ;
|
||||||
|
|
||||||
if (sensor_trigger_set(bmi160, &trig, trigger_hdlr) < 0) {
|
if (sensor_trigger_set(bmi160, &trig, trigger_hdlr) < 0) {
|
||||||
printk("Cannot enable data ready trigger.\n");
|
printk("Cannot enable data ready trigger.\n");
|
||||||
|
@ -379,7 +379,7 @@ static void test_trigger_mode(struct device *bmi160)
|
||||||
attr.val1 = 100;
|
attr.val1 = 100;
|
||||||
attr.val2 = 0;
|
attr.val2 = 0;
|
||||||
|
|
||||||
if (sensor_attr_set(bmi160, SENSOR_CHAN_ACCEL_ANY,
|
if (sensor_attr_set(bmi160, SENSOR_CHAN_ACCEL_XYZ,
|
||||||
SENSOR_ATTR_SAMPLING_FREQUENCY, &attr) < 0) {
|
SENSOR_ATTR_SAMPLING_FREQUENCY, &attr) < 0) {
|
||||||
printk("Cannot set sampling frequency for accelerometer.\n");
|
printk("Cannot set sampling frequency for accelerometer.\n");
|
||||||
return;
|
return;
|
||||||
|
@ -391,7 +391,7 @@ static void test_trigger_mode(struct device *bmi160)
|
||||||
attr.val1 = 100;
|
attr.val1 = 100;
|
||||||
attr.val2 = 0;
|
attr.val2 = 0;
|
||||||
|
|
||||||
if (sensor_attr_set(bmi160, SENSOR_CHAN_GYRO_ANY,
|
if (sensor_attr_set(bmi160, SENSOR_CHAN_GYRO_XYZ,
|
||||||
SENSOR_ATTR_SAMPLING_FREQUENCY, &attr) < 0) {
|
SENSOR_ATTR_SAMPLING_FREQUENCY, &attr) < 0) {
|
||||||
printk("Cannot set sampling frequency for gyroscope.\n");
|
printk("Cannot set sampling frequency for gyroscope.\n");
|
||||||
return;
|
return;
|
||||||
|
@ -428,7 +428,7 @@ void main(void)
|
||||||
*/
|
*/
|
||||||
sensor_g_to_ms2(16, &attr);
|
sensor_g_to_ms2(16, &attr);
|
||||||
|
|
||||||
if (sensor_attr_set(bmi160, SENSOR_CHAN_ACCEL_ANY,
|
if (sensor_attr_set(bmi160, SENSOR_CHAN_ACCEL_XYZ,
|
||||||
SENSOR_ATTR_FULL_SCALE, &attr) < 0) {
|
SENSOR_ATTR_FULL_SCALE, &attr) < 0) {
|
||||||
printk("Cannot set accelerometer range.\n");
|
printk("Cannot set accelerometer range.\n");
|
||||||
return;
|
return;
|
||||||
|
@ -442,7 +442,7 @@ void main(void)
|
||||||
*/
|
*/
|
||||||
sensor_degrees_to_rad(250, &attr);
|
sensor_degrees_to_rad(250, &attr);
|
||||||
|
|
||||||
if (sensor_attr_set(bmi160, SENSOR_CHAN_GYRO_ANY,
|
if (sensor_attr_set(bmi160, SENSOR_CHAN_GYRO_XYZ,
|
||||||
SENSOR_ATTR_FULL_SCALE, &attr) < 0) {
|
SENSOR_ATTR_FULL_SCALE, &attr) < 0) {
|
||||||
printk("Cannot set gyro range.\n");
|
printk("Cannot set gyro range.\n");
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -51,7 +51,7 @@ void main(void)
|
||||||
|
|
||||||
struct sensor_trigger trig = {
|
struct sensor_trigger trig = {
|
||||||
.type = SENSOR_TRIG_DATA_READY,
|
.type = SENSOR_TRIG_DATA_READY,
|
||||||
.chan = SENSOR_CHAN_ACCEL_ANY,
|
.chan = SENSOR_CHAN_ACCEL_XYZ,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (sensor_trigger_set(dev, &trig, trigger_handler)) {
|
if (sensor_trigger_set(dev, &trig, trigger_handler)) {
|
||||||
|
@ -62,8 +62,8 @@ void main(void)
|
||||||
while (1) {
|
while (1) {
|
||||||
k_sem_take(&sem, K_FOREVER);
|
k_sem_take(&sem, K_FOREVER);
|
||||||
|
|
||||||
sensor_channel_get(dev, SENSOR_CHAN_ACCEL_ANY, accel);
|
sensor_channel_get(dev, SENSOR_CHAN_ACCEL_XYZ, accel);
|
||||||
sensor_channel_get(dev, SENSOR_CHAN_MAGN_ANY, magn);
|
sensor_channel_get(dev, SENSOR_CHAN_MAGN_XYZ, magn);
|
||||||
|
|
||||||
/* Print accel x,y,z and mag x,y,z data */
|
/* Print accel x,y,z and mag x,y,z data */
|
||||||
printf("AX=%10.6f AY=%10.6f AZ=%10.6f "
|
printf("AX=%10.6f AY=%10.6f AZ=%10.6f "
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue