samples/shields: x-nucleo-iks4a1: Add lsm6dsv16x temp display

Extended the x-nucleo-iks4a1 shield standard sample adding lsm6dsv16x
sensor die temperature display.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
This commit is contained in:
Armando Visconti 2024-07-23 14:07:49 +02:00 committed by Anas Nashif
parent 948277e770
commit 878b5a9d2e
2 changed files with 13 additions and 0 deletions

View file

@ -8,4 +8,5 @@ CONFIG_LPS2XDF_TRIGGER_OWN_THREAD=y
CONFIG_LSM6DSO16IS_TRIGGER_OWN_THREAD=y
CONFIG_LSM6DSO16IS_ENABLE_TEMP=y
CONFIG_LSM6DSV16X_TRIGGER_OWN_THREAD=y
CONFIG_LSM6DSV16X_ENABLE_TEMP=y
CONFIG_CBPRINTF_FP_SUPPORT=y

View file

@ -220,6 +220,9 @@ int main(void)
struct sensor_value lsm6dso16is_xl[3], lsm6dso16is_gy[3];
#ifdef CONFIG_LSM6DSO16IS_ENABLE_TEMP
struct sensor_value lsm6dso16is_temp;
#endif
#ifdef CONFIG_LSM6DSV16X_ENABLE_TEMP
struct sensor_value lsm6dsv16x_temp;
#endif
struct sensor_value lsm6dsv16x_xl[3], lsm6dsv16x_gy[3];
const struct device *const lis2mdl = DEVICE_DT_GET_ONE(st_lis2mdl);
@ -285,6 +288,9 @@ int main(void)
sensor_channel_get(lsm6dso16is, SENSOR_CHAN_GYRO_XYZ, lsm6dso16is_gy);
#ifdef CONFIG_LSM6DSO16IS_ENABLE_TEMP
sensor_channel_get(lsm6dso16is, SENSOR_CHAN_DIE_TEMP, &lsm6dso16is_temp);
#endif
#ifdef CONFIG_LSM6DSV16X_ENABLE_TEMP
sensor_channel_get(lsm6dsv16x, SENSOR_CHAN_DIE_TEMP, &lsm6dsv16x_temp);
#endif
sensor_channel_get(lsm6dsv16x, SENSOR_CHAN_ACCEL_XYZ, lsm6dsv16x_xl);
sensor_channel_get(lsm6dsv16x, SENSOR_CHAN_GYRO_XYZ, lsm6dsv16x_gy);
@ -334,6 +340,12 @@ int main(void)
sensor_value_to_double(&lsm6dsv16x_gy[1]),
sensor_value_to_double(&lsm6dsv16x_gy[2]));
#ifdef CONFIG_LSM6DSV16X_ENABLE_TEMP
/* temperature */
printf("LSM6DSV16X: Temperature: %.1f C\n",
sensor_value_to_double(&lsm6dsv16x_temp));
#endif
printf("LPS22DF: Temperature: %.1f C\n", sensor_value_to_double(&lps22df_temp));
printf("LPS22DF: Pressure:%.3f kpa\n", sensor_value_to_double(&lps22df_press));