mrcodetastic/ESP32-HUB75-MatrixPanel-DMA

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
0d74703a386f6f1df20f61f4ed0638a
6bb56fbfb2e45717bf37034023b42ba
474a73ff716ef4f7b678f893b97eccd
5457901265ce481d2ca93d90bdaae42

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