sample/board: sensortile_box: add lis2md support
Add code to test lis2mdl magnetometer sensor. Signed-off-by: Armando Visconti <armando.visconti@st.com>
This commit is contained in:
parent
21d1b26618
commit
4592be1664
2 changed files with 20 additions and 0 deletions
|
@ -21,6 +21,8 @@ CONFIG_STTS751=y
|
|||
CONFIG_STTS751_TRIGGER_NONE=y
|
||||
CONFIG_IIS3DHHC=y
|
||||
CONFIG_IIS3DHHC_TRIGGER_OWN_THREAD=y
|
||||
CONFIG_LIS2MDL=y
|
||||
CONFIG_LIS2MDL_TRIGGER_NONE=y
|
||||
|
||||
# config USB and USB console
|
||||
CONFIG_USB=y
|
||||
|
|
|
@ -275,6 +275,7 @@ void main(void)
|
|||
struct device *lsm6dso = device_get_binding(DT_INST_0_ST_LSM6DSO_LABEL);
|
||||
struct device *stts751 = device_get_binding(DT_INST_0_ST_STTS751_LABEL);
|
||||
struct device *iis3dhhc = device_get_binding(DT_INST_0_ST_IIS3DHHC_LABEL);
|
||||
struct device *lis2mdl = device_get_binding(DT_INST_0_ST_LIS2MDL_LABEL);
|
||||
|
||||
if (!hts221) {
|
||||
printk("Could not get pointer to %s sensor\n",
|
||||
|
@ -307,6 +308,11 @@ void main(void)
|
|||
return;
|
||||
}
|
||||
|
||||
if (lis2mdl == NULL) {
|
||||
printf("Could not get LIS2MDL device\n");
|
||||
return;
|
||||
}
|
||||
|
||||
lis2dw12_config(lis2dw12);
|
||||
lps22hh_config(lps22hh);
|
||||
lsm6dso_config(lsm6dso);
|
||||
|
@ -320,6 +326,7 @@ void main(void)
|
|||
struct sensor_value iis3dhhc_accel[3];
|
||||
struct sensor_value lsm6dso_accel[3], lsm6dso_gyro[3];
|
||||
struct sensor_value stts751_temp;
|
||||
struct sensor_value magn[3];
|
||||
|
||||
/* handle HTS221 sensor */
|
||||
if (sensor_sample_fetch(hts221) < 0) {
|
||||
|
@ -363,6 +370,11 @@ void main(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
if (sensor_sample_fetch(lis2mdl) < 0) {
|
||||
printf("LIS2MDL Sensor sample update error\n");
|
||||
return;
|
||||
}
|
||||
|
||||
sensor_channel_get(hts221, SENSOR_CHAN_HUMIDITY, &hts221_hum);
|
||||
sensor_channel_get(hts221, SENSOR_CHAN_AMBIENT_TEMP, &hts221_temp);
|
||||
sensor_channel_get(lis2dw12, SENSOR_CHAN_ACCEL_XYZ, lis2dw12_accel);
|
||||
|
@ -372,6 +384,7 @@ void main(void)
|
|||
sensor_channel_get(lsm6dso, SENSOR_CHAN_GYRO_XYZ, lsm6dso_gyro);
|
||||
sensor_channel_get(stts751, SENSOR_CHAN_AMBIENT_TEMP, &stts751_temp);
|
||||
sensor_channel_get(iis3dhhc, SENSOR_CHAN_ACCEL_XYZ, iis3dhhc_accel);
|
||||
sensor_channel_get(lis2mdl, SENSOR_CHAN_MAGN_XYZ, magn);
|
||||
|
||||
/* Display sensor data */
|
||||
|
||||
|
@ -420,6 +433,11 @@ void main(void)
|
|||
printf("STTS751: Temperature: %.1f C\n",
|
||||
sensor_value_to_double(&stts751_temp));
|
||||
|
||||
printf("LIS2MDL: Magn (Gauss): x: %.3f, y: %.3f, z: %.3f\n",
|
||||
sensor_value_to_double(&magn[0]),
|
||||
sensor_value_to_double(&magn[1]),
|
||||
sensor_value_to_double(&magn[2]));
|
||||
|
||||
#if defined(CONFIG_LPS22HH_TRIGGER)
|
||||
printk("%d:: lps22hh trig %d\n", cnt, lps22hh_trig_cnt);
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue