Hacker News new | ask | show | jobs
by jareklupinski 1784 days ago
great work!

> reading brightness, contrast or volume from the monitor fails about 30% of the time

I2C over long lengths of wire isn't the sturdiest physical layer... I would expect the low level I2C handlers to retry a few times on no ACK received, but a retry_count of 5 might resolve most of the issues around a bit flipping on its way through the wire :)

1 comments

Yes, retrying always fixes the problem. And for the purpose of getting the latest monitor values from time to time to keep the UI in sync, this suffices.

I'm more surprised that I2C works at all over the long, thin Thunderbolt cable of my LG. Huge bandwidth going through it for video and the USB hub, lots of current passing through for charging the MacBook at the same time, I'm amazed it works so well.

Is it actually I2C over the Thunderbolt cable? I had assumed it was I2C just between the CPU and video hardware on the motherboard.
It is really I2C over whatever cable you have between your monitor and your computer.

I don’t know how they multiplex it through the Thunderbolt little wires but it does work.