@Vincent As my team member posted here, we digged out that the issue is because we enable BMA425 lower power (LP) mode. If we disable LP mode, the issue will be gone. You can see in above figure, the FIFO length read out is incorrect as for 10 sensonds data, the lenght should be at least 10*6.25*7 = 437 but the one we got is 420. That is, the BMA425's clock is slower than our MCU.
... View more
Hi expert, recently i am working on our BLE application platform with BMA425 on broad for motion tracking. At the first i configed MCU I2C as standard mode (100kbps) to connect BMA425 and you know 425 is set as header and powersave mode with FIFO enabled (No irq and watermark used). MCU app will read FIFO data when each time my timer handler is serviced per 10 seconds (BMA425 ODR is 6.25Hz). So my logic is when timer handler is running, i disable powersave mode firstly plus a minor delay (1ms), after that i issue the brust read of FIFO data. When 10S FIFO data is ate up, i enable the powersave mode again. The code is working fine under I2C standard mode. So I change the I2C as fast mode (a.k.a. 400Kbps), the issue is coming then, you know, i still can read FIFO data but I find more time is consumed for completion of FIFO read comparing with standard mode. Typically 50ms in standard mode but 125ms in fast mode. That's weird ryt? Fast mode I2C will consume FIFO date faster than the standard. Could you give me some clues about this issue? Thanks.
... View more