My own implementation. I actually started writing a more full featured DDC library with things like capability scanning on the roadmap. I should have some time next month to potentially get back to it.
A lot of what was available seemed to be Arduino based with Arduino specific calls in the libraries. I'm using standard ESP32 libs/build system and am trying to keep this one generic.
I hope I’m not stepping over the line, but if it’s not already open source, would you be willing to send me a source code tarball? I’d love to prototype a DIY solution with it for the people having trouble with DDC on DisplayLink connected monitors.
My email is on my HN user page in the About section.
I wouldn't mind if there was a bit more there. There is only the beginnings of the library (headers w/ DDC register map, function prototypes, etc), and I was still in the process of figuring out the architecture of the thing when I ran out of time to work on it. That being said I would be more than happy to get back to you if I am indeed able to get some more of the groundwork done on it next month as my schedule frees up.
I maybe could have been clearer on this, but the DDC dongle I made isn't using this library, just hardcoded i2c calls for input switching. I started working on the library to eventually integrate with that dongle, but I'm still using the 'hacky' firmware on the dongles hooked to my monitors.
Or did you end up coding your own raw I2C implementation?