P3 (resolution 104 * 52) panel display position incorrect
weny1212 opened this issue · 13 comments
I used a P3 panel with a size of 320 * 160 and a resolution of 104 * 52. I tested it using Example 1 SimpleTestShapes and found that the horizontal position of both graphics and text was incorrect. The left side was offset by about 8 pixels to the right. That's why, thank you! The parameter configuration is as follows:
#define PANEL_RES_X 104 //64
#define PANEL_RES_Y 52 //32
#define PANEL_CHAIN 1
The chip is ICND2046AP
Oh, it is a very weird (or interesting) panel :) I have worked with a similar one.
Each icdn2046 driver has a 16 outputs. Each panel row has a 7 x 16bit drivers, which gives you 112 outputs.
Since the panel is only 104 pixels wide, the 8 pins in the middle of the driver chain
are not connected to anything, which leads to the loss of some pixels in the picture.
To prevent this, you have to insert zeros into each row when loading data.
Oh, it is a very weird (or interesting) panel :) I have worked with a similar one. Each icdn2046 driver has a 16 outputs. Each panel row has a 7 x 16bit drivers, which gives you 112 outputs. Since the panel is only 104 pixels wide, the 8 pins in the middle of the driver chain are not connected to anything, which leads to the loss of some pixels in the picture. To prevent this, you have to insert zeros into each row when loading data.
Thank you very much. As I am not very familiar with the “ESP32-HUB75 Matrix Panel DMA” library, can you tell me where to fix this issue?
As I am not very familiar with the “ESP32-HUB75 Matrix Panel DMA” library,
Unfortunately, me too. So we should wait the author, @mrfaptastic, answer the question
Hope the author can provide assistance, @mrfaptastic,thanks
Doesn't seem like a library issue to me. Given the display works well and is outputting pixels, wouldn't you just make a wrapper in your sketch to accommodate for this weird "non visible" pixels?
Set the display resolution which includes the non existent pixels per whatever @board707 was saying, then adjust for this on your sketch, if that makes sense.
Aka. set your panel resolution in the sketch to 114, not 104, and then figure out which pixels are missing and adjust for this in your pixel mapping routine.
Doesn't seem like a library issue to me.
Sure, it's definitely not the library's fault.
Doesn't seem like a library issue to me. Given the display works well and is outputting pixels, wouldn't you just make a wrapper in your sketch to accommodate for this weird "non visible" pixels?
Set the display resolution which includes the non existent pixels per whatever @board707 was saying, then adjust for this on your sketch, if that makes sense.
Aka. set your panel resolution in the sketch to 114, not 104, and then figure out which pixels are missing and adjust for this in your pixel mapping routine.
Yes, there is no problem with the library itself. How to match the resolution of these anomalies? I don't know where to modify the adaptation in the library now. Can you give me some guidance? thanks
Can you try running with this configuration?
#define PANEL_RES_X 52
#define PANEL_RES_Y 52
#define PANEL_CHAIN 1