2019-03-18 01:02 AM
Hi!
We configured it fifo contineous mode to further reduce the current consumption of the lsm6dsl mounted on our own board with nRF52832(nordic semiconductor), but
rather the current consumption has increased. Total current consumption has increased from approximately 200uA to 1000uA.
The same is true for other boards we built with BGM111(silicon labs).
By the way, the test on your STEVAL-MKI178V1 board is OK. It's same source code except pin map.
We think that there is a problem at the silicon level functions.
Our configuration source code is as follows.
static void Init_Gyro_Accel(void)
{
BSP_ACCELERO_Init(LSM6DSL_X_0, &LSM6DSL_X_0_handle);//High-performance ACC operating mode disable
BSP_ACCELERO_Sensor_Enable(LSM6DSL_X_0_handle); //setting default-ODR setting
BSP_ACCELERO_Set_FS(LSM6DSL_X_0_handle, FS_MID); //4g
BSP_ACCELERO_Set_ODR(LSM6DSL_X_0_handle, ODR_HIGH); //104Hz
/* Set accelero FIFO decimation */
BSP_ACCELERO_FIFO_Set_Decimation_Ext(LSM6DSL_X_0_handle, LSM6DSL_ACC_GYRO_DEC_FIFO_XL_NO_DECIMATION);
/* Set FIFO ODR to highest value */
BSP_ACCELERO_FIFO_Set_ODR_Value_Ext(LSM6DSL_X_0_handle, LSM6DSL_FIFO_MAX_ODR);
/* Set FIFO_FULL on INT1 */
BSP_ACCELERO_FIFO_Set_INT1_FIFO_Full_Ext(LSM6DSL_X_0_handle, LSM6DSL_ACC_GYRO_INT1_FULL_FLAG_ENABLED);
/* Set FIFO watermark */
BSP_ACCELERO_FIFO_Set_Watermark_Level_Ext( LSM6DSL_X_0_handle, FIFO_WATERMARK );
/* Set FIFO depth to be limited to watermark threshold level */
BSP_ACCELERO_FIFO_Set_Stop_On_Fth_Ext( LSM6DSL_X_0_handle, LSM6DSL_ACC_GYRO_STOP_ON_FTH_ENABLED );
/* Set FIFO mode to Continuous */
BSP_ACCELERO_FIFO_Set_Mode_Ext(LSM6DSL_X_0_handle, LSM6DSL_ACC_GYRO_FIFO_MODE_DYN_STREAM_2);
}