2dom / PxMatrix

Adafruit GFX compatible graphics driver for LED matrix panels
BSD 3-Clause "New" or "Revised" License
827 stars 168 forks source link

It does not work ! #82

Closed GeorgeFlorian closed 5 years ago

GeorgeFlorian commented 5 years ago

Hello !

I am trying to use a LED Display and an ESP32.

Display: 2727 SMD P5 64x32 Board: ESP32 Wrover-B DevKitV4

I've done the wiring as it was written in the ReadMe. I thought I did a mistake so I redid the wiring and still nothing.

From the Left HUB75 to the Right HUB75 there are: R2 to R1 G1 to R2 G2 to G1 B1 to G2 B2 to B1

Where do I put Ground to ? The only Ground I have is that on the ESP32. There are no pins on either the HUB75 that go into the Ground. Is that how it's supposed to be ?

I've also redefined the GPIO as follows:

define P_LAT 22

define P_A 19

define P_B 23

define P_C 18

define P_D 4

define P_OE 25

I don't understand what to do with E. Is E a GPIO on the ESP or is it a pin on the HUB75 ?

I've tried using the Pattern_Test example:

#include <PxMatrix.h>

#define P_LAT 22
#define P_A 19
#define P_B 23
#define P_C 18
#define P_D 4
#define P_E 15
#define P_OE 25

hw_timer_t * timer = NULL;
portMUX_TYPE timerMux = portMUX_INITIALIZER_UNLOCKED;

// Pins for LED MATRIX

//PxMATRIX display(32,16,P_LAT, P_OE,P_A,P_B,P_C);
PxMATRIX display(64,32,P_LAT, P_OE,P_A,P_B,P_C,P_D);
//PxMATRIX display(64,64,P_LAT, P_OE,P_A,P_B,P_C,P_D,P_E);

void IRAM_ATTR display_updater(){
  // Increment the counter and set the time of ISR
  portENTER_CRITICAL_ISR(&timerMux);
  //isplay.display(70);
  display.displayTestPattern(70);
  portEXIT_CRITICAL_ISR(&timerMux);
}

uint16_t myCYAN = display.color565(0, 255, 255);
void setup() {
  // put your setup code here, to run once:
Serial.begin(115200);
  display.begin(8);
  //display.setScanPattern(x);
  //display.setMuxPattern(STRAIGHT);
  display.flushDisplay();
  display.setTextColor(myCYAN);
  display.setCursor(2,0);
  display.print("Pixel");
  Serial.println("hello");

   timer = timerBegin(0, 80, true);
   timerAttachInterrupt(timer, &display_updater, true);
   timerAlarmWrite(timer, 2000, true);
   timerAlarmEnable(timer);

  delay(1000);
}

void loop() {

 delay(100);

}

I've tried using display.setScanPattern(x) with all the values: LINE, ZIGZAG, ZAGGIZ, WZAGZIG, VZAG. I've also used: display.setMuxPattern(x) WIth BINARY and STRAIGHT. And nothing changes the output. It stays the same with either functions. With or without those 2 function the result is the same gibberish.

And the pattern test isn't like the one in your .gif. Mine is different with shifted rows, wrong colors, etc.

What do you think the issue is ?

GeorgeFlorian commented 5 years ago

Is this library not receiving support anymore ?