Greetings,
I have been trying to read the sensors from the ISM330DLC using its FIFO. However, when reading the number of samples (FIFO_STATUS1/2), it remains 0 with just dataset 1 and 2 enabled. When enabling dataset 4 with either, or and temperature and timestamp, the FIFO fills as expected. Note that im able to poll the sensor values with expected results.
I have included all my register settings below, using the standard c-library: https://github.com/STMicroelectronics/STMems_Standard_C_drivers/tree/master/ism330dlc_STdC
/* Enable Block Data Update */
ism330dlc_block_data_update_set(&dev_ctx, PROPERTY_ENABLE);
/* Set full scale */
ism330dlc_xl_full_scale_set(&dev_ctx, ISM330DLC_2g);
ism330dlc_gy_full_scale_set(&dev_ctx, ISM330DLC_500dps);
/* Set wtm */
ism330dlc_fifo_watermark_set(&dev_ctx, 100);
/* accelerometer filtering chain */
ism330dlc_xl_lp1_bandwidth_set(&dev_ctx,ISM330DLC_XL_LP1_ODR_DIV_2);
ism330dlc_xl_filter_analog_set(&dev_ctx,
ISM330DLC_XL_ANA_BW_1k5Hz);
/* Gyroscope filtering chain */
ism330dlc_gy_band_pass_set(&dev_ctx, ISM330DLC_HP_260mHz_LP1_STRONG);
/* FIFO settings */
ism330dlc_fifo_data_rate_set(&dev_ctx, ISM330DLC_FIFO_6k66Hz);
ism330dlc_fifo_gy_batch_set(&dev_ctx, ISM330DLC_FIFO_GY_NO_DEC);
ism330dlc_fifo_xl_batch_set(&dev_ctx, ISM330DLC_FIFO_XL_NO_DEC);
ism330dlc_xl_data_rate_set(&dev_ctx, ISM330DLC_XL_ODR_6k66Hz);
ism330dlc_gy_data_rate_set(&dev_ctx, ISM330DLC_GY_ODR_6k66Hz);
ism330dlc_fifo_mode_set(&dev_ctx, ISM330DLC_STREAM_MODE);