Open iMartyn opened 1 year ago
Hello! Is that a panel you've sourced from us, or from elsewhere?
This has come up before in #233 and #249 and the same problems apply here- a mixture of a desperate shortage of time, energy and hardware to test with.
The pixels are arranged internally like so:
With an interleaved pattern reflecting the fact the panel is split into two logical sections- top and bottom- which are driven by shift register chains that handle WIDTH * 2 pixels for the top/bottom segments of the display.
Pretty much the best you can do right now if you're using MicroPython is fork this repo, delete the remapping code, let GitHub Actions spit you out a build and give it a go. Rinse & repeat.
@helgibbons it is an AliExpress panel I had from before the good ship started stocking them.
Thanks @Gadgetoid that feels like it will have an overly high cycle time for me too but at least I can start with a zero mapping and see if I can write to all the pixels without it.
That being said, I still don't think this will make a difference because I don't think it's the mapping that's the problem but the refresh rate. Look carefully and you'll see I'm setting 64 pixels of red and getting 64*4 pixels of red.
I have a 64x32 panel (interestingly on the back it says P4-256*128-2121-A5) and it repeats rows and doesn't allow for full control of the panel with the interstate 75 W board.
The following code :
produces this output :
As you can see, the panel is reacting correctly to the colours, but instead of a 64*32 LCD I have a weirdly interleaved 64*8 board!
As I understand it, this could be the difference between a refresh rate of different boards, so it would be really nice to let us set that and then we can figure out a mapping that works.
[edit because I selected the wrong file for github!]