Hi
I am configuring the ICM-42688 to provide Accel/Gyro data without fifo as follows:
/* Enable and setup the SPI bus */
sl_icm20648_spi_init();
/* Issue reset */
sl_icm20648_reset();
/* Disable I2C interface, use SPI */
//sl_icm20648_write_register(UB0_REG_DEVICE_CONFIG, ICM42688_BIT_I2C_IF_DIS);
/* Read Who am I register, should get 0x71 */
sl_icm20648_read_register(UB0_REG_WHO_AM_I, 1, &data);
/* If not - return */
if (data != ICM42688_DEVICE_ID) {
return SL_STATUS_INITIALIZATION;
}
/* Select Register Bank 0 */
sl_icm20648_write_register(ICM42688_REG_BANK_SEL, 0x00);
/* Change Accel to +/2G */
sl_icm20648_write_register(UB0_REG_ACCEL_CONFIG0, 0x64);
sl_icm20648_read_register(UB0_REG_ACCEL_CONFIG0, 1, &data);
sl_sleeptimer_delay_millisecond(30);
/* Turn on Accel and Gyro in low noise mode */
sl_icm20648_write_register(UB0_REG_PWR_MGMT0, 0x0F);
sl_sleeptimer_delay_millisecond(30);
sl_icm20648_read_register(UB0_REG_FIFO_CONFIG, 1, &data); //Reading FiFo Register
sl_icm20648_write_register(UB0_REG_FIFO_CONFIG, 0x00); //Disabling FIFO
sl_icm20648_write_register(UB0_REG_FSYNC_CONFIG, 0x00); //Disabling FSYNC
sl_icm20648_write_register(UB0_REG_TMST_CONFIG, 0x00); //Disabling timestamp
sl_icm20648_write_register(UB0_REG_INT_CONFIG, 0x1B); //Setting up INT for Data Ready
sl_icm20648_write_register(UB0_REG_INT_CONFIG1, 0x60);
sl_icm20648_write_register(UB0_REG_INT_SOURCE0, 0x08);
When ready Raw Data, I am getting for Accel X,Y, Z when sitting flat:
X-> 0x065A
Y-> 0x09DC
Z-> 0x2406
For Z, 0x2406 converts to 9222 with 2G scale, it converts to 9222*2.0/32767 -> 0.56G
My expectations are to get around 1G so wondering what could be wrong on my calculation or the ICM-42688 setup.
Please advise
I see some of your functions called icm20648 and I am sure you checked your function definitions to make sure they are aligned with the ICM-42688 like the reset function. I would recommend you to check our Atmel eMD firmware on the website to see how we implemented data read.
DK-42688-P SmartMotion eMD 2.0.9: https://invensense.tdk.com/developers/software-downloads/#smartmotion