LSM6DS3: Very weird SPI behavior
I'm seeing some very odd behavior on the LSM6DS3. It works "most" of the time, but seems to randomly change its own settings from time to time. Before we get into that, though, I'd like to ask about the timing of INT1 when driven by the DRDY signal.
In section 4.3, page 37, the appnote says:

That's pretty explicit: DRDY should be deasserted when register 0x29 is read. At the bottom of this figure you can see that it illustrates the trailing edge of DRDY at the *end* of the X axis data transfer, which makes sense because X's data is in registers 0x28 and 0x29.
Now look at what the LSM6DS3 actually does on a scope:

The bottom trace is SCL (not MOSI), so you can see the individual clock pulses. The red arrow shows how INT1, which is being driven by DRDY (INT1_CTRL/0x0D = 0x01), deasserts not at the end of the X axis data, but between the two bytes of X axis data. This directly contradicts the appnote figure above. Is this behavior controlled by a flag somewhere?
The answer to this question may answer another problem I'm having with the LSM6DS3. If it does not, I'll post that question next. But I'll try to keep the forum decluttered a bit until we find out if this answer covers both questions.
Thanks in advance for any assistance!
