I'm trying to implement data polling via DDC interface. The easiest way for me to find out whether new data ready to read is reading 'available bytes' registers 0xFD and 0xFE. In Receiver description document stated :
The currently available number of bytes in the message stream can be read at addresses 0xFD and 0xFE.
By reading this registers I received 0xFF and 0xFF values, so available length is told to be 65kB that sounds suspicious.
Returning to document one can find:
If there is no data awaiting transmission from the receiver, then this register will deliver the value 0xff, which cannot be the first byte of a valid message
Reading register with address 0xff I received first byte 0xff. So no data ready to readout.
So my question is why both registers 0xFD and 0xFE not equal 0 in case when no data ready. The second one is whether I can treat 0xffff value of available length as "no data"?
Reading 2 bytes from register 0xFD