Open aidarishkulov opened 1 month ago
I had to look here, now it's normal. https://github.com/mrcodetastic/ESP32-HUB75-MatrixPanel-DMA/issues/134#issue-919612284
Another problem was found: the color shades of modules 1 and 3 are different from 2 and 4 in the example above. The panels are normal, when swapped, the shades remain the same. White turns bluish.
I launch by placing 4 panels on top of each other. Connection from bottom left to top. In the first lower module, the x coordinates are the same, and in the 3 upper ones they are shifted by one pixel. In the 2nd and 4th panels, x is shifted to the left, and in the 3rd panel to the right by one pixel. The у coordinates are the same. Controller HD-WF2. 64x32 panels, FM6124 driver. `#define R1_PIN 2
define R2_PIN 3
define G1_PIN 6
define G2_PIN 7
define B1_PIN 10
define B2_PIN 11
define A_PIN 39
define B_PIN 38
define C_PIN 37
define D_PIN 36
define E_PIN 21
define OE_PIN 35
define CLK_PIN 34
define LAT_PIN 33
define PANEL_RES_X 64 // Number of pixels wide of each INDIVIDUAL panel module.
define PANEL_RES_Y 32 // Number of pixels tall of each INDIVIDUAL panel module.
define NUM_ROWS 4 // Number of rows of chained INDIVIDUAL PANELS
define NUM_COLS 1 // Number of INDIVIDUAL PANELS per ROW
define PANEL_CHAIN NUM_ROWS*NUM_COLS // total number of panels chained one to another
include
HUB75_I2S_CFG::i2s_pins _pins_x1 = { 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
};
define VIRTUAL_MATRIX_CHAIN_TYPE CHAIN_BOTTOM_LEFT_UP
void setup() { HUB75_I2S_CFG mxconfig( PANEL_RES_X, // module width PANEL_RES_Y, // module height PANEL_CHAIN, // Chain length _pins_x1 // pin mapping for port X1 ); mxconfig.i2sspeed = HUB75_I2S_CFG::HZ_20M;
mxconfig.latch_blanking = 4; //mxconfig.clkphase = false; mxconfig.driver = HUB75_I2S_CFG::FM6124; mxconfig.double_buff = 0;
//mxconfig.min_refresh_rate = 30; dma_display = new MatrixPanel_I2S_DMA(mxconfig); dma_display->setBrightness8(255); //0-255 dma_display->begin(); dma_display->clearScreen(); virtualDisp = new VirtualMatrixPanel((*dma_display), NUM_ROWS, NUM_COLS, PANEL_RES_X, PANEL_RES_Y, VIRTUAL_MATRIX_CHAIN_TYPE); virtualDisp->fillScreen(virtualDisp->color444(0,0,0)); virtualDisp->setPhysicalPanelScanRate(NORMAL_TWO_SCAN); } void loop() { if((!(0))) { virtualDisp->drawPixel((5), (5), virtualDisp->color444((255), (0), (255))); } if((!(0))) { virtualDisp->drawLine((1), (1), (1), (126), virtualDisp->color444((0), (255), (250))); } }`