I just put hours into testing out the decoding feature. Went back to basics to eliminate, if my previous code had any issue and just wrote an simple one, what counts to 999 and prints it on the LCD in every 500ms. In addition to that, it writes to a fictive address 0x1E two times. First 5 bytes, then 1 byte. So in every half second, there should be a three writes, one with an integer to the 0x27 address, and two to the non working 0x1E.
The code works, the display refreshes, and I can even see that there is communication towards 0x1E also on the scope.
But, even if I only trigger on the 0x27 address, it gives me the 0x1E every time, and the communication to the LCD is gibberish on the scope too.
It should be multi-byte transmissions, with just numbers in it, but it is always showing the same one byte: 9, =, ], Y and a few other characters, but it isn't consistent and can't get it work to show the real data with different horizontal scales, sampling points, trigger voltage thresholds, etc.
The 0x1E data is empty, even if it should contain 5+1 bytes.
Not to mention the triggering issue, what is a huge one, if there is a lot of chatter to other addresses as well, like my previous code. It's just not usable to show data in a predictable way.
I tried using different Arduino boards, different wiring, pull–up resistors with multiple values (1k, ~5k, 10k), tried different voltages as an input, or just USB, it's all the same.