I am told the Rigol will only decode what is on the screen. I suspect that makes it of little use with long data comms and/or for triggering on a specific message.
That is true! The thing is, I just want to see a single frame. I am interested in the state of the clock with CS* goes low, the subsequent data transitions relative to the clock and the fact that all the data has shifted before CS* goes high. I don't need to decode "War and Peace", just a single short frame to verify timing. Everything else can be done with printf().
Yeah, but the Rigol decoding is so fucking bad that it's hard to use even on a single frame, especially if that frame is 16+ bits.
If you're doing only 8-bit CS-framed SPI transactions, it's okay, but anything more than that is just awful. What makes it even worse is that if a frame is partially offscreen, it doesn't just fail to decode that section, it
decodes it incorrectly. And if
that wasn't bad enough, it can fuck up the entire rest of the frame! It will even fuck up multi-byte UART messages if the first start bit is off screen. If you aren't zoomed in enough, some of the bit decoding becomes marginal and it will just sit there and flip bits randomly on repeated captures. It's so bad that it's borderline harmful, because there are so many conditions that can cause it to display misleading or outright wrong decoding.