Change library name

This commit is contained in:
mrfaptastic 2020-11-28 08:39:35 +00:00
parent 9f91501836
commit b6da8ea09a
18 changed files with 32 additions and 32 deletions

View file

@ -1,4 +1,4 @@
#include "ESP32-RGB64x32MatrixPanel-I2S-DMA.h" #include "ESP32-HUB75-MatrixPanel-I2S-DMA.h"
// Credits: Louis Beaudoin <https://github.com/pixelmatix/SmartMatrix/tree/teensylc> // Credits: Louis Beaudoin <https://github.com/pixelmatix/SmartMatrix/tree/teensylc>
// and Sprite_TM: https://www.esp32.com/viewtopic.php?f=17&t=3188 and https://www.esp32.com/viewtopic.php?f=13&t=3256 // and Sprite_TM: https://www.esp32.com/viewtopic.php?f=17&t=3188 and https://www.esp32.com/viewtopic.php?f=13&t=3256
@ -254,7 +254,7 @@ bool RGB64x32MatrixPanel_I2S_DMA::allocateDMAmemory()
} }
} }
Serial.printf("*** ESP32-RGB64x32MatrixPanel-I2S-DMA: Memory Allocations Complete *** \r\n"); Serial.printf("*** ESP32-HUB75-MatrixPanel-I2S-DMA: Memory Allocations Complete *** \r\n");
Serial.printf("Total memory that was reserved: %d kB.\r\n", _total_dma_capable_memory_reserved/1024); Serial.printf("Total memory that was reserved: %d kB.\r\n", _total_dma_capable_memory_reserved/1024);
Serial.printf("... of which was used for the DMA Linked List(s): %d kB.\r\n", _dma_linked_list_memory_required/1024); Serial.printf("... of which was used for the DMA Linked List(s): %d kB.\r\n", _dma_linked_list_memory_required/1024);

View file

@ -324,7 +324,7 @@ class RGB64x32MatrixPanel_I2S_DMA : public Adafruit_GFX {
lldesc_t * dmadesc_a = {0}; lldesc_t * dmadesc_a = {0};
lldesc_t * dmadesc_b = {0}; lldesc_t * dmadesc_b = {0};
// ESP32-RGB64x32MatrixPanel-I2S-DMA functioning // ESP32-HUB75-MatrixPanel-I2S-DMA functioning
bool everything_OK = false; bool everything_OK = false;
bool double_buffering_enabled = false;// Do we use double buffer mode? Your project code will have to manually flip between both. bool double_buffering_enabled = false;// Do we use double buffer mode? Your project code will have to manually flip between both.
int back_buffer_id = 0; // If using double buffer, which one is NOT active (ie. being displayed) to write too? int back_buffer_id = 0; // If using double buffer, which one is NOT active (ie. being displayed) to write too?

View file

@ -9,7 +9,7 @@
Twitter: https://twitter.com/witnessmenow Twitter: https://twitter.com/witnessmenow
*******************************************************************/ *******************************************************************/
#include "ESP32-RGB64x32MatrixPanel-I2S-DMA.h" #include "ESP32-HUB75-MatrixPanel-I2S-DMA.h"
#include <Fonts/FreeSansBold12pt7b.h> #include <Fonts/FreeSansBold12pt7b.h>

View file

@ -21,7 +21,7 @@ As a result, this library can theoretically provide ~16-24 bit colour, at variou
# Wiring ESP32 with the LED Matrix Panel # Wiring ESP32 with the LED Matrix Panel
By default the pin mapping is as follows (defaults defined in ESP32-RGB64x32MatrixPanel-I2S-DMA.h). By default the pin mapping is as follows (defaults defined in ESP32-HUB75-MatrixPanel-I2S-DMA.h).
``` ```
HUB 75 PANEL ESP 32 PIN HUB 75 PANEL ESP 32 PIN
@ -71,13 +71,13 @@ Below is a bare minimum sketch to draw a single white dot in the top left. You m
No .begin() before other functions = Crash No .begin() before other functions = Crash
``` ```
#include <ESP32-RGB64x32MatrixPanel-I2S-DMA.h> #include <ESP32-HUB75-MatrixPanel-I2S-DMA.h>
RGB64x32MatrixPanel_I2S_DMA matrix; RGB64x32MatrixPanel_I2S_DMA matrix;
void setup() void setup()
{ {
// MUST DO THIS FIRST! // MUST DO THIS FIRST!
matrix.begin(); // Use default pins supplied within ESP32-RGB64x32MatrixPanel-I2S-DMA.h matrix.begin(); // Use default pins supplied within ESP32-HUB75-MatrixPanel-I2S-DMA.h
// matrix.begin(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 ); // or custom pins // matrix.begin(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 ); // or custom pins
// Draw a single white pixel // Draw a single white pixel
@ -131,12 +131,12 @@ Summary: setPanelBrightness(xx) value can be any number from 0 (display off) to
## Power, Power and Power! ## Power, Power and Power!
Having a good power supply is CRITICAL, and it is highly recommended, for chains of LED Panels to have a 2000uf capacitor soldered to the back of each LED Panel across the [GND and VCC pins](https://github.com/mrfaptastic/ESP32-RGB64x32MatrixPanel-I2S-DMA/issues/39#issuecomment-720780463), otherwise you WILL run into issues with 'flashy' graphics whereby a large amount of LEDs are turned on and off in succession (due to current/power draw peaks and troughs). Having a good power supply is CRITICAL, and it is highly recommended, for chains of LED Panels to have a 2000uf capacitor soldered to the back of each LED Panel across the [GND and VCC pins](https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA/issues/39#issuecomment-720780463), otherwise you WILL run into issues with 'flashy' graphics whereby a large amount of LEDs are turned on and off in succession (due to current/power draw peaks and troughs).
Refer to this guide written for the [rpi-rgb-led-matrix library](https://github.com/hzeller/rpi-rgb-led-matrix/blob/master/wiring.md#a-word-about-power) for an explanation. Refer to this guide written for the [rpi-rgb-led-matrix library](https://github.com/hzeller/rpi-rgb-led-matrix/blob/master/wiring.md#a-word-about-power) for an explanation.
- Refer to this [example](https://github.com/mrfaptastic/ESP32-RGB64x32MatrixPanel-I2S-DMA/issues/39#issuecomment-722691127) issue of what can go wrong with a poor powersupply. - Refer to this [example](https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA/issues/39#issuecomment-722691127) issue of what can go wrong with a poor powersupply.
- Refer to [this comment](https://github.com/mrfaptastic/ESP32-RGB64x32MatrixPanel-I2S-DMA/issues/35#issuecomment-726419862) in regards to certain panels not playing nice with voltages, and a 3.3volt signal that the ESP32 GPIO can only provide. - Refer to [this comment](https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA/issues/35#issuecomment-726419862) in regards to certain panels not playing nice with voltages, and a 3.3volt signal that the ESP32 GPIO can only provide.
## Inspiration ## Inspiration

View file

@ -21,7 +21,7 @@
#define FILESYSTEM SPIFFS #define FILESYSTEM SPIFFS
#include <SPIFFS.h> #include <SPIFFS.h>
#include <AnimatedGIF.h> #include <AnimatedGIF.h>
#include <ESP32-RGB64x32MatrixPanel-I2S-DMA.h> #include <ESP32-HUB75-MatrixPanel-I2S-DMA.h>
// ---------------------------- // ----------------------------

View file

@ -20,7 +20,7 @@
#define MATRIX_HEIGHT 32 #define MATRIX_HEIGHT 32
/* -------------------------- Class Initialisation -------------------------- */ /* -------------------------- Class Initialisation -------------------------- */
#include <ESP32-RGB64x32MatrixPanel-I2S-DMA.h> #include <ESP32-HUB75-MatrixPanel-I2S-DMA.h>
RGB64x32MatrixPanel_I2S_DMA matrix; RGB64x32MatrixPanel_I2S_DMA matrix;
#include <FastLED.h> #include <FastLED.h>

View file

@ -1,5 +1,5 @@
#include <Arduino.h> #include <Arduino.h>
#include <ESP32-RGB64x32MatrixPanel-I2S-DMA.h> #include <ESP32-HUB75-MatrixPanel-I2S-DMA.h>
#include "Dhole_weather_icons32px.h" #include "Dhole_weather_icons32px.h"
/*--------------------- DEBUG -------------------------*/ /*--------------------- DEBUG -------------------------*/

View file

@ -3,7 +3,7 @@
Steps to use Steps to use
----------- -----------
1) In ESP32-RGB64x32MatrixPanel-I2S-DMA.h: 1) In ESP32-HUB75-MatrixPanel-I2S-DMA.h:
- Set the MATRIX_HEIGHT to be the y resolution of the physical chained - Set the MATRIX_HEIGHT to be the y resolution of the physical chained
panels in a line (if the panels are 32 x 16, set it to be 16) panels in a line (if the panels are 32 x 16, set it to be 16)
@ -25,7 +25,7 @@
Thanks to: Thanks to:
* Brian Lough for the original example as raised in this issue: * Brian Lough for the original example as raised in this issue:
https://github.com/mrfaptastic/ESP32-RGB64x32MatrixPanel-I2S-DMA/issues/26 https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA/issues/26
YouTube: https://www.youtube.com/brianlough YouTube: https://www.youtube.com/brianlough
Tindie: https://www.tindie.com/stores/brianlough/ Tindie: https://www.tindie.com/stores/brianlough/
@ -202,7 +202,7 @@ void setup() {
if (dma_display.width() != NUM_ROWS*NUM_COLS*PANEL_RES_X ) if (dma_display.width() != NUM_ROWS*NUM_COLS*PANEL_RES_X )
{ {
Serial.println(F("\r\nERROR: MATRIX_WIDTH and/or MATRIX_HEIGHT in 'ESP32-RGB64x32MatrixPanel-I2S-DMA.h'\r\nis not configured correctly for the requested VirtualMatrixPanel dimensions!\r\n")); Serial.println(F("\r\nERROR: MATRIX_WIDTH and/or MATRIX_HEIGHT in 'ESP32-HUB75-MatrixPanel-I2S-DMA.h'\r\nis not configured correctly for the requested VirtualMatrixPanel dimensions!\r\n"));
Serial.printf("WIDTH according dma_display is %d, but should be %d. Is your NUM_ROWS and NUM_COLS correct?\r\n", dma_display.width(), NUM_ROWS*NUM_COLS*PANEL_RES_X); Serial.printf("WIDTH according dma_display is %d, but should be %d. Is your NUM_ROWS and NUM_COLS correct?\r\n", dma_display.width(), NUM_ROWS*NUM_COLS*PANEL_RES_X);
return; return;
} }

View file

@ -16,7 +16,7 @@ the matrix, but with VirtualDisplay library looking after the pixel mapping to t
### Steps to Use ### ### Steps to Use ###
1) In ESP32-RGB64x32MatrixPanel-I2S-DMA.h: 1) In ESP32-HUB75-MatrixPanel-I2S-DMA.h:
- Set the MATRIX_HEIGHT to be the y resolution of the physical chained panels in a line (if the panels are 32 x 16, set it to be 16) - Set the MATRIX_HEIGHT to be the y resolution of the physical chained panels in a line (if the panels are 32 x 16, set it to be 16)
- Set the MATRIX_WIDTH to be the sum of the x resolution of all the physical chained panels (i.e. If you have 4 x (32px w x 16px h) panels, 32x4 = 128) - Set the MATRIX_WIDTH to be the sum of the x resolution of all the physical chained panels (i.e. If you have 4 x (32px w x 16px h) panels, 32x4 = 128)

View file

@ -46,7 +46,7 @@ int lastPattern = 0;
/* -------------------------- Class Initialisation -------------------------- */ /* -------------------------- Class Initialisation -------------------------- */
//#include <ESP32-RGB64x32MatrixPanel-I2S-DMA.h> //#include <ESP32-HUB75-MatrixPanel-I2S-DMA.h>
//RGB64x32MatrixPanel_I2S_DMA matrix; //RGB64x32MatrixPanel_I2S_DMA matrix;
#include <ESP32-VirtualMatrixPanel-I2S-DMA.h> #include <ESP32-VirtualMatrixPanel-I2S-DMA.h>

View file

@ -1,4 +1,4 @@
#include <ESP32-RGB64x32MatrixPanel-I2S-DMA.h> #include <ESP32-HUB75-MatrixPanel-I2S-DMA.h>
RGB64x32MatrixPanel_I2S_DMA display(true); // Note the TRUE -> Turns of secondary buffer - "double buffering"! RGB64x32MatrixPanel_I2S_DMA display(true); // Note the TRUE -> Turns of secondary buffer - "double buffering"!
// Double buffering is not enabled by default with the library. // Double buffering is not enabled by default with the library.

View file

@ -2,7 +2,7 @@
// https://github.com/hzeller/rpi-rgb-led-matrix/issues/746 // https://github.com/hzeller/rpi-rgb-led-matrix/issues/746
#include <Arduino.h> #include <Arduino.h>
#include <ESP32-RGB64x32MatrixPanel-I2S-DMA.h> #include <ESP32-HUB75-MatrixPanel-I2S-DMA.h>
RGB64x32MatrixPanel_I2S_DMA dma_display; RGB64x32MatrixPanel_I2S_DMA dma_display;

View file

@ -1,5 +1,5 @@
/* -------------------------- Class Initialisation -------------------------- */ /* -------------------------- Class Initialisation -------------------------- */
#include <ESP32-RGB64x32MatrixPanel-I2S-DMA.h> #include <ESP32-HUB75-MatrixPanel-I2S-DMA.h>
RGB64x32MatrixPanel_I2S_DMA matrix; RGB64x32MatrixPanel_I2S_DMA matrix;
#include "TPM2.h" // https://github.com/rstephan/TPM2 #include "TPM2.h" // https://github.com/rstephan/TPM2

View file

@ -43,7 +43,7 @@
#define OE_PIN 13 #define OE_PIN 13
#include <ESP32-RGB64x32MatrixPanel-I2S-DMA.h> #include <ESP32-HUB75-MatrixPanel-I2S-DMA.h>
RGB64x32MatrixPanel_I2S_DMA dma_display; RGB64x32MatrixPanel_I2S_DMA dma_display;
#include <FastLED.h> #include <FastLED.h>

View file

@ -1,4 +1,4 @@
#include <ESP32-RGB64x32MatrixPanel-I2S-DMA.h> #include <ESP32-HUB75-MatrixPanel-I2S-DMA.h>
RGB64x32MatrixPanel_I2S_DMA dma_display; RGB64x32MatrixPanel_I2S_DMA dma_display;
// Or use an Alternative non-DMA library, i.e: // Or use an Alternative non-DMA library, i.e:

View file

@ -48,4 +48,4 @@ Given it's possible to display 128x32 with double buffering in approx. 100kB of
# Caveats # Caveats
Experimentation will be required as available memory is highly dependant on other stuff you have in your sketch. It is best to include and use the 'ESP32-RGB64x32MatrixPanel-I2S-DMA' library as early as possible in your code and analyse the serial output of `heap_caps_print_heap_info(MALLOC_CAP_DMA)` to see what DMA memory blocks are available. Experimentation will be required as available memory is highly dependant on other stuff you have in your sketch. It is best to include and use the 'ESP32-HUB75-MatrixPanel-I2S-DMA' library as early as possible in your code and analyse the serial output of `heap_caps_print_heap_info(MALLOC_CAP_DMA)` to see what DMA memory blocks are available.

View file

@ -1,16 +1,16 @@
{ {
"name": "ESP32 64x32 LED MATRIX HUB75 DMA Display", "name": "ESP32 HUB75 LED MATRIX PANEL DMA Display",
"keywords": "hub75, esp32, display, dma, rgb matrix", "keywords": "hub75, esp32, display, dma, rgb matrix",
"description": "An experimental Adafruit GFX compatible library for 64x32 RGB matrix modules (other modules not tested - YMMV), using the ESP's DMA Engine for ultra-fast refresh rates, no-interrupts and therefore very low CPU usage (5%) so you can do other things with your ESP32.", "description": "An experimental Adafruit GFX compatible library for 64x32 or 64x64 LED matrix modules using the ESP32 DMA Engine for ultra-fast refresh rates, no-interrupts and therefore very low CPU usage.",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/mrfaptastic/ESP32-RGB64x32MatrixPanel-I2S-DMA.git" "url": "https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA.git"
}, },
"authors": { "authors": {
"name": "Faptastic", "name": "Faptastic",
"url": "https://github.com/mrfaptastic/" "url": "https://github.com/mrfaptastic/"
}, },
"version": "1.2.2", "version": "1.2.3",
"frameworks": "arduino", "frameworks": "arduino",
"platforms": "esp32", "platforms": "esp32",
"examples": [ "examples": [

View file

@ -1,9 +1,9 @@
name=ESP32 64x32 LED MATRIX HUB75 DMA Display name=ESP32 HUB75 LED MATRIX PANEL DMA Display
version=1.2.2 version=1.2.3
author=Faptastic author=Faptastic
maintainer=Faptastic maintainer=Faptastic
sentence=Experimental DMA based LED Matrix HUB75 Library sentence=Experimental DMA based LED Matrix HUB75 Library
paragraph=An experimental Adafruit GFX compatible library for 64x32 RGB matrix modules (other modules not tested - YMMV), using the ESP's DMA Engine for ultra-fast refresh rates, no-interrupts and very low CPU usage (5%). paragraph=An experimental Adafruit GFX compatible library for 64x32 or 64x64 LED matrix modules using the ESP32 DMA Engine for ultra-fast refresh rates, no-interrupts and therefore very low CPU usage.
category=Display category=Display
url=https://github.com/mrfaptastic/ESP32-RGB64x32MatrixPanel-I2S-DMA url=https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA
architectures=esp32 architectures=esp32