LSM6DS3 FIFO status clarification
I currently have the LSM6DS3 setup for FTH of 0xFFF, no decimation, 1.66kHz, continuous mode with FTH interrupt on interrupt 1. It seems like it is working ok - I see the FTH interrupt fire after about 400ms, which is right on time. When I read starting (SPI 4 wire) at FIFO_STATUS1, I see 0x00, 0xE0, 0x02, 0x00, then FIFO_OUT data (see scope screens). Now the FIFO is obviously full, both by the interrupt and by FIFO_STATUS2 = 0xE0, but the FIFO_STATUS1 = 0x00 means there is no data to read? Why would this be the case?
I also don't understand what the FIFO_PATTERN is supposed to be telling me. I see only that FIFO_PATTERN1 = 1 and everything else 0. I expected to see six values in here, although even if I did, I don't understand how to interpret that register even after reading the datasheet and application note. I don't get how binary values can point to multiple possibilities (XL_X, XL_Y, G_Z, etc.) Or is it just telling me what the next two bytes of data are? If so, I don't see a map from FIFO_PATTERN to 6-axes+external?
In the scope screens, green is the INT1 line, yellow is CLK, magenta is MOSI, cyan is MISO, and CS is omitted but working as expected. The first screen is to show the working INT1, the next has each byte as one horizontal division and the third has each nibble as a division.



