Change library name
This commit is contained in:
parent
9f91501836
commit
b6da8ea09a
18 changed files with 32 additions and 32 deletions
|
@ -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);
|
||||||
|
|
|
@ -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?
|
|
@ -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>
|
||||||
|
|
||||||
|
|
||||||
|
|
12
README.md
12
README.md
|
@ -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
|
||||||
|
|
|
@ -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>
|
||||||
|
|
||||||
// ----------------------------
|
// ----------------------------
|
||||||
|
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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 -------------------------*/
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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": [
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue