I had a few hours to spend on this today and am glad to report a minor improvement.
Previsouly, the Physical Address (~HDMI port) was hardcoded in the firmware, which lead to some issues, like the TV switching to the wrong HDMI source.
The firmware now uses the I2C port on the HDMI link to get the Physical Address directly from the EDID info.
I tested it on three screens:
- Computer screen, only one input.
- Small Grundig TV, two HDMI inputs. Both give the same Physical address, but it's a TV bug. I might try to reprogram the EDID info to fix this, eventually.
- Large LG TV, three or four HDMI inputs. Best result since all the HDMI ports have a different address.
A few other improvements in both the firmware and the hardware files have also been submitted, improving the behaviour or ease of use. Last hardware revision adds a switch to reboot in DFU mode. It's way faster than ICSP and does not require any soldering, which is nice.
Note that the Github repo has been reset to also include the hardware/KiCAD files.