Coder Social home page Coder Social logo

esp32-rgb-matrix-display's People

Contributors

fcjr avatar vgottselig avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

esp32-rgb-matrix-display's Issues

Many 32x32 panels

Hi,

Have you testing with many 32x32 panels because I don't see in program where we can setup number of it ?

Sincerely
Eric

Panel freeze

Hi, i started a proyect where i send data to esp over wifi, but when i reveive date into my esp the display freeze, Can Run a "on-demand" complete matrix update an wait for new data and re-update the matrix, because i dont kno who meke it because the refresh function is into the loop and i cant detect finish send all screen matrix data to finish

Bitmap

Hope this is simple.

I have the driver working with the 64x32 P3 panel HUB75E 6124 chipset.

This works great thanks VGottselig :-)

I am trying to display an array as follows

#define batt_icon_w 16
#define batt_icon_h 16
static uint8_t batt_icon_bits[] = PROGMEM {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x60, 0x06, 0x20, 0x04,
0x20, 0x04, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07,
0xE0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };

I have tried this line to display the bitmap

matrix.drawBitmap(0, 0, batt_icon_bits, batt_icon_h , batt_icon_w , matrix.AdafruitColor(1, 1, 1));

but not working. I assume the format of the line is incorrect but cannot work it out.

Can anyone help with the correct lineage should be?

Does the following work if so has anyone got examples please.

drawXBitmap
drawRGBBitmap
drawGrayscaleBitmap

Thanks

Library Usage

I downloaded and the Demo sketch work pretty good, but I still don't understand how the library works, I mean, there's a lot of code on the demo sketch and I tried to remove and test, but at some point it didn't work anymore. I just want to show some values on the display, adjusting the brightness, color and size of it. There's any simple way to do it or it's already simple and I don't understood ?

timing I2C bus

Hello,
did anyone tried to use this library and attaching I2C sensors to the ESP32? I assume that there will be timing issues on the I2C bus.
Thanks,
Ronny

Flicker issue checking

Hi Vitali,
excellent work again with this library, thanks a lot for sharing.
I got the four led panel for 64x64, I was layout it for 128x128(Row : 64, Col : 255).

I got the flicker for the test result.
https://youtu.be/9yT2LGfrr5w
Is it possible to work without flicker for 4096 colors?

I have checked the issue for a whole week, hope you can help on figuring out the problem, thanks.

Best Regards,
YY

how can I set the width and height of the panel (32x32)?

I found this in the ESP32RGBmatrixPanel.h:

#define COLUMNS 64
#define ROWS 32

How can I overwrite this before initializing (ESP32RGBmatrixPanel matrix;) in my script (for 32x32)?
Or can I only set this in the ESP32RGBmatrixPanel.h?
My top left is x=32 y=0.

32x16 panel

The lower half of the screen is bugged through all the demos (looks like random memory?)
I've only changed

#define COLUMNS 32
#define ROWS 16

Interestingly enough, changing ROWS to 32 fills the whole display - but of course cuts/renders graphics out side of screen

Here's a video:
video_2018-08-20_00-02-16.zip

The connector is as follows:

R1 | G1
B1 | GND
R2 | G2
B2 | GND
A | B
C | NC
CLK | STB/LAT
OE | GND

I purchased it from here:
https://www.aliexpress.com/item/Free-shipping-2016-Coreman-192X96mm-32X16-pixels-p6-led-display-module-Whole-seller-Factory-Price-p6/1000001365724.html

Originally posted by @paccerdk in #4 (comment)

timing and output power

Hi Vitali, excellent work again with this library, thanks a lot for sharing.
I got it to work on a 32x32 panel with 1:8 scan rate, after a few modifications.
However, when i use the max brightness (10), the panel draws less power than expected, about 1/3 of what i got with a modified version of your older ESP8266 library.
I think this may be related to the timing of the displayUpdateTimer; your demo has it at 2 (as in the ESP8266 example also) but i seem to understand this interval is defined in microseconds rather than milliseconds, so 2us is much too fast i guess. When i change it to 10, the power more than doubles.
timerAlarmWrite(displayUpdateTimer, 10, true);
I have also added a counter to check how long a full refresh takes, and with the original 2us(?) i get 132Hz, and with 10us i get 65Hz. Any higher interval gives flicker; although the power still increases.
I'm trying to understand how the update part of the library works; could you explain what the purpose is of the loops/loopNr/on()?
Thanks a lot

start and stop feature

can u add a start and stop function in this library?, like matrix.begin and matrix.end function to stop displaying

Compile Problems

What the line "#include "D:\OneDrive\Projekte\Hardware\Arduino\wifisettings\wifisettings.h"" is supposed to be?
Also having "/esp32/esp32-hal-gpio.h: No such file or directory" if the "wifisettings.h" is commented.
Can you explain how to fix?

alternative with a coreTask (does not block wifi)

i did not get the example to run together with wifi, OTA etc.. timerAttachInterrupt blocks wifi.
My solution:

TaskHandle_t xHandleA; //for Stop Task
TaskHandle_t xHandleB; //for Stop Task

void setup() {
//other Stuff
//..
//http://esp-idf.readthedocs.io/en/latest/api-reference/system/freertos.html
//https://techtutorialsx.com/2017/05/09/esp32-running-code-on-a-specific-core/
//http://hit-karlsruhe.de/hit-info/info-ws17/Drehteller_Revisited/0403Softwaredoku.html
//start task on CPU 1
xTaskCreatePinnedToCore(renderTask,"renderTask", 10000,NULL,2 | portPRIVILEGE_BIT,&xHandleA, 1);
xTaskCreatePinnedToCore(drawTask,"drawTask", 10000,NULL,2 | portPRIVILEGE_BIT,&xHandleB, 0);
}


void drawTask( void * pvParameters ){
   while(true){
       String s="Hello";
        matrix.setBrightness(10);//0..10
        matrix.setTextWrap(false);
        matrix.setTextSize(1);
        matrix.black();
        matrix.setCursor(0, 0);
        matrix.setTextColor(matrix.AdafruitColor(0,0,255));
        matrix.println(s);
        matrix.setTextColor(matrix.AdafruitColor(255,0,0));
        matrix.setCursor(16, 10);
        matrix.println(s);
     
      delay(40);//25fps
}

void renderTask( void * pvParameters ){
   while(true){        //10x pro 1ms
        matrix.update();
        matrix.update();
        matrix.update();
        matrix.update();
        matrix.update();
        matrix.update();
        matrix.update();
        matrix.update();
        matrix.update();
        matrix.update();
        delay(1);//1 ms 
       // yield(); //block wifi :-/
    }
 
}

void loop() {//other things
  handleSerial();
  if(wifiaktiv){
    ArduinoOTA.handle();
    server.handleClient();
    handleTime();
  }
}
...

stop Task when upload OTA:

void stoptasks(){
   vTaskDelete(xHandleB);
   vTaskDelete(xHandleA);
   Serial.println("Task stopped");
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.