Replies: 14 comments 10 replies
-
Is your 64x64 panel 8 or 16 scans with complex pattern? |
Beta Was this translation helpful? Give feedback.
-
`/****************************************************************************** // 1) Include key virtual display library #define R1 25 #define PIN_E 18 /* Configure the serpentine chaining approach. Options are:
*/ // 3) Create the runtime objects to use // Placeholder for the matrix object. // Placeholder for the virtual display object. /******************************************************************************
delay(2000); // Create the physical DMA panel class and virtual (chained) display class. // Set the panel type if using a specific chipset (like FM6126A) // Check for the need for Virtual Display class // Create the DMA display object // Set brightness to about 75% // Allocate memory and start DMA display // Create the Virtual Display object // Clear the screen // Draw initial test pattern to verify panel connections Serial.println("Chain of 4x 64x64 panels for this example:"); // Set up the font and text properties // Center the text on the 64x64 display int xPos = (virtualDisp->width() - textWidth) / 2; // Calculate X position for centering virtualDisp->setCursor(xPos, yPos); // Draw a corrected red rectangle around the entire 64x64 display // Move the green boundary box down by 16 rows virtualDisp->drawRect(0, 0, boxWidth, boxHeight, virtualDisp->color565(0, 255, 0)); // Starting at row 16 to move it down by 16 rows // Draw a white diagonal line from the top left to the bottom right // Optional: Draw a diagonal line from the bottom left to the top right for a cross effect // Redraw test pattern to check panel connectivity } void loop() { |
Beta Was this translation helpful? Give feedback.
-
Greetings, this line, tells a lot: #define CH_E -1 // assign to any available pin if using two panels or 64x64 panels with 1/32 scan You are using a 64x64 panel, in 32S, You need the E-Pin assigned to a GPIO pin, NECESSARY, obliged.... This code below, is my config for 64x64 32S panel
etc |
Beta Was this translation helpful? Give feedback.
-
@davemaster It is not clear how @Gavo4 managed to make everything work when connecting panels in one line:
|
Beta Was this translation helpful? Give feedback.
-
`#define R1 25 #include <ESP32-HUB75-MatrixPanel-I2S-DMA.h> // Configure for your panel(s) as appropriate! #define PANE_WIDTH PANEL_WIDTH * PANELS_NUMBER // placeholder for the matrix object uint16_t time_counter = 0, cycles = 0, fps = 0; CRGB currentColor; CRGB ColorFromCurrentPalette(uint8_t index = 0, uint8_t brightness = 255, TBlendType blendType = LINEARBLEND) { void setup() { Serial.begin(115200); Serial.println(F("")); HUB75_I2S_CFG mxconfig; // OK, now we can create our matrix object // let's adjust default brightness to about 75% // Allocate memory and start DMA display // well, hope we are OK, let's draw some colors first :) Serial.println("Fill screen: GREEN"); Serial.println("Fill screen: BLUE"); Serial.println("Fill screen: Neutral White"); Serial.println("Fill screen: black"); // Set current FastLED palette void loop() {
} // end loop` |
Beta Was this translation helpful? Give feedback.
-
I also tried this code with the no luck, this display looks like it is looking for a 64 x 32 matrix `/****************************************************************************** // 1) Include key virtual display library #define R1 25 #define PIN_E 18 /* Configure the serpentine chaining approach. Options are:
*/ // 3) Create the runtime objects to use // Placeholder for the matrix object. // Placeholder for the virtual display object. /******************************************************************************
delay(2000); // Create the physical DMA panel class and virtual (chained) display class. // Set the panel type if using a specific chipset (like FM6126A) // Check for the need for Virtual Display class // Create the DMA display object // Set brightness to about 75% // Allocate memory and start DMA display // Create the Virtual Display object // Clear the screen // Draw initial test pattern to verify panel connections // Set up the font and text properties // Center the text on the 64x64 display int xPos = (virtualDisp->width() - textWidth) / 2; // Calculate X position for centering virtualDisp->setCursor(xPos, yPos); // Draw a corrected red rectangle around the entire 64x64 display // Move the green boundary box down by 16 rows virtualDisp->drawRect(0, 0, boxWidth, boxHeight, virtualDisp->color565(0, 255, 0)); // Starting at row 16 to move it down by 16 rows // Draw a white diagonal line from the top left to the bottom right // Optional: Draw a diagonal line from the bottom left to the top right for a cross effect // Redraw test pattern to check panel connectivity } void loop() { |
Beta Was this translation helpful? Give feedback.
-
yes, goal, see something on panel.. even a single led.... I will try this in a couple of hours in my own 64x64 P3 panel... |
Beta Was this translation helpful? Give feedback.
-
Well, I tested your example (test001.ino) with some modifications, and works perfectly, bellow both: video and code. Best regards... PD. I SUGGEST, check the connections, each cable, your power supply, 5V 5A or more... the video - TEST 001 ESP32 HUB75 DMA 64X64 32S And please, a like and subscription will be great... Thanks in advance |
Beta Was this translation helpful? Give feedback.
-
Thanks David, This works for a single panel but the minute I try and add 2 x 64 x 64 in a matrix of 4 this does not work, I have tried everything possible to get the 2 x 64 top and bottom to work, I can get 4 x 64 to work in a row but not ontop of each other. All panel do light up on the 2 x 2 but the screen are not in Sync i can either get the 2 at the top to work together and the 2 at the bottom but no all 4 to work in sync |
Beta Was this translation helpful? Give feedback.
-
Search in examples, and is there, only there, you can find "the master" A sample.... there, only there |
Beta Was this translation helpful? Give feedback.
-
@davemaster
See the Readme - the maximum guaranteed screen size is 128x64, while you try to use 128x128. |
Beta Was this translation helpful? Give feedback.
-
Hi All, I solved it, here is the code, `#include <ESP32-VirtualMatrixPanel-I2S-DMA.h> #define PANEL_RES_X 64 #define NUM_ROWS 2 #define R1 25 #define VIRTUAL_MATRIX_CHAIN_TYPE CHAIN_TOP_RIGHT_DOWN MatrixPanel_I2S_DMA *dma_display = nullptr; void setup() {
} void loop() { |
Beta Was this translation helpful? Give feedback.
-
Gavo4, share a video of your accomplishing Thanks in advance |
Beta Was this translation helpful? Give feedback.
-
Hi There,
First of all the libraries are great!, good job!,
Secondly I ma having an issue with the ESP32 Trinity when I am connected 2 x 64x64 Panels 2 x 2; if I connect then 1 x 4 in series the standard examples work great!, the minute I try and have 2 on the top and 2 on the bottom things start getting weird, its as if the libraries cater only for 64 x 32 panels. Can anyone point my in the right direction?
Beta Was this translation helpful? Give feedback.
All reactions