Thank you, yes that is correct. I have only gyro data and bytes 0-5 have the first x,y,z of the gyro data. I have another question though. The FIFO is set in overwrite mode, and everytime I check the length it is 230. What is 230 ? Is it the number of frames ? IS this the number of frames then 230x6=1380 bytes. The FIFO is supposed to be 2 KB. Is the FIFO lenght correct and 230 is the number of frames (on frame is one x,y,z tuple - 6 bytes) ? This is the fifo len method #define BMI2_GET_BIT_POS0(reg_data, bitname) (reg_data & (bitname)) u8 bosch_imu_bmi270::bmi2_get_fifo_length(uint16_t *fifo_length, int busfd) { u8 rslt; u8 index = 0; u8 data[2] = { 0 }; // MSB-1 LSB-0 /* Read FIFO length */ rslt = this->read_register(busfd,0x24,data,1); if (rslt==1){ data[index] = BMI2_GET_BIT_POS0(data[1], UINT8_C(0x3F)); //0x3f mask (*fifo_length) = ((data[index] << 8) | data[index - 1]); printf("fifo len is %d\n",*fifo_length); } return rslt; }
... View more