64x64 panel no longer working after library update #597
Replies: 1 comment 1 reply
-
What was the fix? Address line pin mapping wrong? |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I have a sketch and 64x64 panel that used to worked flawlessly. I wanted to update it with a few new features, but it had been a long time since I last worked on it, and I had to update both my Arduino IDE and the MatrixPanel library, to get the sketch to compile.
Now that it does compile, I´m clearly missing something in a configuration: When fx I fill the panel with a fullscreen color, it will make 8 rows of the color, but with 8 rows of black in between. Meaning blocks of 64x4 pixels alternating between color and black, 16 rows in total. Same pattern occurs for any graphics I try to display.
I did realize that the library changed quite a bit since I last used it, so I tried to adapt the pin configuration and other aspects accordingly, but I must be missing something! Here´s what I have in terms of pin configs, and setup part:
// Configure for your panel(s) as appropriate!
#define R1_PIN 4
#define G1_PIN 6
#define B1_PIN 8
#define R2_PIN 10
#define G2_PIN 11
#define B2_PIN 12
#define A_PIN 13
#define B_PIN 34
#define C_PIN 33
#define D_PIN 35
#define E_PIN 36 // required for 1/32 scan panels, like 64x64. Any available pin would do, i.e. IO32
#define LAT_PIN 1
#define OE_PIN 2
#define CLK_PIN 3
#define PANEL_RES_X 64 // Number of pixels wide of each INDIVIDUAL panel module.
#define PANEL_RES_Y 64 // Number of pixels tall of each INDIVIDUAL panel module.
#define PANEL_CHAIN 1 // Total number of panels chained one to another
#define PIN_E 36
MatrixPanel_I2S_DMA *dma_display = nullptr;
and in setup(), I have:
HUB75_I2S_CFG::i2s_pins _pins={R1_PIN, G1_PIN, B1_PIN, R2_PIN, G2_PIN, B2_PIN, A_PIN, B_PIN, C_PIN, D_PIN, E_PIN, LAT_PIN, OE_PIN, CLK_PIN};
HUB75_I2S_CFG mxconfig(
64, // Module width
64, // Module height
1, // chain length
_pins // pin mapping
);
mxconfig.gpio.e = PIN_E; // we MUST assign pin e to some free pin on a board to drive 64 pix height panels with 1/32 scan
dma_display = new MatrixPanel_I2S_DMA(mxconfig);
dma_display->setBrightness8(128); // range is 0-255, 0 - 0%, 255 - 100%
dma_display->setLatBlanking(3);
Any ideas what I´m missing / doing wrong? I haven´t rewired the panel, and it worked fine before I uploaded the adapted sketch with the latest library (3.0.10)
Beta Was this translation helpful? Give feedback.
All reactions