Hello,
I read in the datasheet that BNO055 accelerometer is using 14 bit for data output. I also found in this forum that I need to refer to BMA280 datasheet to understand the sampling rate and the relationship with bandwith. I will use BNO055 in ACCGYRO mode so it is non fusion mode and connect it to raspberrypi as host.
I have several questions regarding that:
0. Does BMA280 used in BNO055?
1. From BNO055 datasheet, the register for the accelerometer output is 2 bytes, so it is 16 bit. From the C language driver in github, it is also apparent that the reading of the register use 2 bytes (left shifting MSB with 8 bit and add the LSB). When I read BMA280, the LSB register consist of new_data flag which is the first bit and the second bit of LSB is not used. So, from what I understand, the LSB register that needed to be read is from bit 2-7. The MSB part is no problem. So, to read this, the method should be the LSB shifted to to right for 2 bit to remove the unused and new flag bit and then MSB shifted to the left for 6 bit. Then add MSB and LSB. This reading method would produce different data output. Which one is correct?
2. From BMA280, when I use 2G range, the sensitivity for 1LSB is 0.244 mg or in m/s2 it is 0.00244 m/s2. In the BNO055 datasheet, 1LSB is 0.01 m/s2. In the driver, the reading is also divided by 100. Which one is correct and which one should I use? I believe if I use non-fusion mode and set it to 2G, I would be able to get sensitivity 1LSB = 0.00244 m/s2. I would want this because I need to measure slight acceleration.
3. For the bandwith, it is written that if I use 125Hz, the sampling rate is twice that which is 4ms. I use UART/serial protocol to connect to raspberry pi. Does it mean that in my C/C++ code, I would be able to read data every 4ms? For example I use loop that read data with 4ms sleep? Any suggestion on how to obtain this data in a consistent sampling rate? What happen if I read it without sleep (infinite loop)? Will it block until I get the new data or I will get old data?
Thank you very much.