[HUB75] ABC/ABCDE panels support
funkycode opened this issue · comments
Line 60 in fd21e6a
The implementation supports only ABCD panels, while there are some panels that have only ABC and moreover from my understanding there are also panels with ABCDE pins.
I have ABC only panel on it's way from AliExpress that I want to test, if needed to adjust this implementation and make a PR once it is working.
Should we have multiple implementations or should we add something like ENUM to define which type it is?
Here is thread for reference on differences and implementation o other project that I am going to use as help to adjust tinygo implementation for ABC only support (can't make ABCDE one as I lack the led matrix of that type)
Depending on how much difference there are between versions.
Personally, I would add a new constructor... like func NewABC(b drivers.SPI, latPin, oePin, aPin, bPin, cPin machine.Pin) Device {
and use some sort of variable to keep track which panel type is and how to handle the pins. That's assuming there is not much difference and we could use the hub75 package for both. If there's a major difference on how to handle the code, then I'll vote for hub75 (as is) and a new hub75abc driver
Well, at the end one I got utilizes all 4 channels. I have another matrix that is on the way, in case it will use only ABC I will try to implement it, in case not - unfortunately i would not be able to do so as I would need HW to test implementation :(