From 7cd84e9b8980308e02797f5bb80358cdda0b75ba Mon Sep 17 00:00:00 2001 From: Mike Causer Date: Sat, 16 Oct 2021 00:34:03 +1100 Subject: [PATCH 1/7] Fix some typos --- FAQ.md | 4 ++-- examples/Basics/ColourTest/ColourTest.ino | 2 +- examples/Basics/HelloWorld/HelloWorld.ino | 2 +- examples/BoardTest/BoardTest.ino | 2 +- .../Images/DisplayImageFromWeb/DisplayImageFromWeb.ino | 4 ++-- .../BuildingBlocks/Text/ScrollingText/ScrollingText.ino | 2 +- examples/Projects/FallingSand/FallingSand.ino | 6 +++--- examples/Projects/WifiTetrisClock/WifiTetrisClock.ino | 4 ++-- .../WifiTetrisClockWifiManager.ino | 6 +++--- .../TrinityFeatures/LDRAutoBrightness/LDRAutoBrightness.ino | 2 +- examples/TrinityFeatures/SDCardTest/SDCardTest.ino | 2 +- examples/TrinityFeatures/TouchPointTest/TouchPointTest.ino | 2 +- 12 files changed, 19 insertions(+), 19 deletions(-) diff --git a/FAQ.md b/FAQ.md index 6300f62..a0f6bde 100644 --- a/FAQ.md +++ b/FAQ.md @@ -118,7 +118,7 @@ For more details check out the [SDCardTest Example](/examples/TrinityFeatures/SD ### My colours are mixed up/not right -Well thats not technically a question, but I get you! +Well that's not technically a question, but I get you! Some matrix panels have some of the colour channels swapped around for some reason. The most common one I've seen is Blue and Green mixed, which seems to lead to a lot of purple images. @@ -140,7 +140,7 @@ I have not tried, but the I2S Matrix library doesn't seem to support it by defau "Trinity" has a lot of significance for Irish people. -The Trinity Knots symbol is something from Irish/Celtic history and is instantly recognizable as a symbol of Ireland. There are examples of artifacts dating back to the 8th century with Trinity Knots on them. +The Trinity Knots symbol is something from Irish/Celtic history and is instantly recognizable as a symbol of Ireland. There are examples of artefacts dating back to the 8th century with Trinity Knots on them. The Ireland national symbol is the shamrock, one of the main significances of the shamrock is a way to represent the Christian Holy Trinity. It's said that St Patrick used a shamrock to represent the Holy Trinity when he came to bring Christianity to Ireland. diff --git a/examples/Basics/ColourTest/ColourTest.ino b/examples/Basics/ColourTest/ColourTest.ino index 4bed62a..f8e4c31 100644 --- a/examples/Basics/ColourTest/ColourTest.ino +++ b/examples/Basics/ColourTest/ColourTest.ino @@ -92,7 +92,7 @@ void setup() { displaySetup(); // Can be set between 0 and 255 - // WARNING: The birghter it is, the more power it uses + // WARNING: The brighter it is, the more power it uses // Could take up to 3A on full brightness dma_display->setBrightness8(100); //0-255 diff --git a/examples/Basics/HelloWorld/HelloWorld.ino b/examples/Basics/HelloWorld/HelloWorld.ino index 851b20f..ab0a399 100644 --- a/examples/Basics/HelloWorld/HelloWorld.ino +++ b/examples/Basics/HelloWorld/HelloWorld.ino @@ -48,7 +48,7 @@ const int panel_chain = 1; // Total number of panels chained one to another // (one long display). The I2S Matrix library supports different display configurations // Details here: -// See the setup method for more display config options +// See the "displaySetup" method for more display config options //------------------------------------------------------------------------------------------------------------------ diff --git a/examples/BoardTest/BoardTest.ino b/examples/BoardTest/BoardTest.ino index 7ce1c28..dc0eb1e 100644 --- a/examples/BoardTest/BoardTest.ino +++ b/examples/BoardTest/BoardTest.ino @@ -1,7 +1,7 @@ /******************************************************************* The test sketch that was ran on every Trinity during testing. - It is a cobination of some of the other examples: + It is a combination of some of the other examples: - Hello World - Colour Test (just the white part) - Falling Sand diff --git a/examples/BuildingBlocks/Images/DisplayImageFromWeb/DisplayImageFromWeb.ino b/examples/BuildingBlocks/Images/DisplayImageFromWeb/DisplayImageFromWeb.ino index 33eee85..228ee29 100644 --- a/examples/BuildingBlocks/Images/DisplayImageFromWeb/DisplayImageFromWeb.ino +++ b/examples/BuildingBlocks/Images/DisplayImageFromWeb/DisplayImageFromWeb.ino @@ -1,11 +1,11 @@ /******************************************************************* - Display an image loaded from the internt on a matrix display + Display an image loaded from the internet on a matrix display This is a more generic version of the functionality worked on for the Spotify library. This loads an image from imgur. It uses https, but it could be adapted to - http by just using a WiFiClient, rahter than WiFiClientSecure + http by just using a WiFiClient, rather than WiFiClientSecure The image loaded is a 64 x 64 image, but it should display on smaller matrix (just be cut off). diff --git a/examples/BuildingBlocks/Text/ScrollingText/ScrollingText.ino b/examples/BuildingBlocks/Text/ScrollingText/ScrollingText.ino index d54c771..9d2dfce 100644 --- a/examples/BuildingBlocks/Text/ScrollingText/ScrollingText.ino +++ b/examples/BuildingBlocks/Text/ScrollingText/ScrollingText.ino @@ -1,5 +1,5 @@ /******************************************************************* - An Example showing scolling text + An Example showing scrolling text Parts Used: ESP32 Trinity - https://github.com/witnessmenow/ESP32-Trinity diff --git a/examples/Projects/FallingSand/FallingSand.ino b/examples/Projects/FallingSand/FallingSand.ino index 496c61d..f650265 100644 --- a/examples/Projects/FallingSand/FallingSand.ino +++ b/examples/Projects/FallingSand/FallingSand.ino @@ -63,9 +63,9 @@ const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel const int panelResY = 64; // Number of pixels tall of each INDIVIDUAL panel module. const int panel_chain = 1; // Total number of panels chained one to another -// ------------------------------------- -// ------- Other Config Config ------ -// ------------------------------------- +// ------------------------------- +// ------- Other Config ------ +// ------------------------------- #define CAP_BUTTONS 1 // Comment this out if not using a Trinity #define TOUCH_THRESHOLD 40 // Bigger Threshold == more sensitive (resting is about 48) diff --git a/examples/Projects/WifiTetrisClock/WifiTetrisClock.ino b/examples/Projects/WifiTetrisClock/WifiTetrisClock.ino index 0958150..f3752dc 100644 --- a/examples/Projects/WifiTetrisClock/WifiTetrisClock.ino +++ b/examples/Projects/WifiTetrisClock/WifiTetrisClock.ino @@ -38,7 +38,7 @@ #include // This library draws out characters using a tetris block -// amimation +// animation // Can be installed from the library manager // https://github.com/toblum/TetrisAnimation @@ -51,7 +51,7 @@ // Dependency Libraries - each one of these will need to be installed. // ---------------------------- -// Adafruit GFX library is a dependancy for the matrix Library +// Adafruit GFX library is a dependency for the matrix Library // Can be installed from the library manager // https://github.com/adafruit/Adafruit-GFX-Library diff --git a/examples/Projects/WifiTetrisClockWifiManager/WifiTetrisClockWifiManager.ino b/examples/Projects/WifiTetrisClockWifiManager/WifiTetrisClockWifiManager.ino index 68877cc..e2c1d4c 100644 --- a/examples/Projects/WifiTetrisClockWifiManager/WifiTetrisClockWifiManager.ino +++ b/examples/Projects/WifiTetrisClockWifiManager/WifiTetrisClockWifiManager.ino @@ -57,7 +57,7 @@ #include // This library draws out characters using a tetris block -// amimation +// animation // Can be installed from the library manager // https://github.com/toblum/TetrisAnimation @@ -75,7 +75,7 @@ // Dependency Libraries - each one of these will need to be installed. // ---------------------------- -// Adafruit GFX library is a dependancy for the matrix Library +// Adafruit GFX library is a dependency for the matrix Library // Can be installed from the library manager // https://github.com/adafruit/Adafruit-GFX-Library @@ -122,7 +122,7 @@ const int PIN_LED = 2; #define TETRIS_CONFIG_JSON "/tetris_config.json" // Number of seconds after reset during which a -// subseqent reset will be considered a double reset. +// subsequent reset will be considered a double reset. #define DRD_TIMEOUT 10 // RTC Memory Address for the DoubleResetDetector to use diff --git a/examples/TrinityFeatures/LDRAutoBrightness/LDRAutoBrightness.ino b/examples/TrinityFeatures/LDRAutoBrightness/LDRAutoBrightness.ino index 0c24849..3eb34c5 100644 --- a/examples/TrinityFeatures/LDRAutoBrightness/LDRAutoBrightness.ino +++ b/examples/TrinityFeatures/LDRAutoBrightness/LDRAutoBrightness.ino @@ -34,7 +34,7 @@ void setup() { Serial.begin(115200); HUB75_I2S_CFG mxconfig; - mxconfig.mx_height = PANEL_HEIGHT; // we have 64 pix heigh panels + mxconfig.mx_height = PANEL_HEIGHT; // we have 64 pix height panels mxconfig.gpio.e = 18; // May or may not be needed depending on your matrix diff --git a/examples/TrinityFeatures/SDCardTest/SDCardTest.ino b/examples/TrinityFeatures/SDCardTest/SDCardTest.ino index afe30f7..60d9da4 100644 --- a/examples/TrinityFeatures/SDCardTest/SDCardTest.ino +++ b/examples/TrinityFeatures/SDCardTest/SDCardTest.ino @@ -3,7 +3,7 @@ Based on the basic SD_Test example in the ESP32 library. - The deafult SPI pins are being used by the matrix library + The default SPI pins are being used by the matrix library so we need to use custom ones. SCLK 33 diff --git a/examples/TrinityFeatures/TouchPointTest/TouchPointTest.ino b/examples/TrinityFeatures/TouchPointTest/TouchPointTest.ino index 6b5cf8c..597318e 100644 --- a/examples/TrinityFeatures/TouchPointTest/TouchPointTest.ino +++ b/examples/TrinityFeatures/TouchPointTest/TouchPointTest.ino @@ -1,5 +1,5 @@ /* -This is un example howto use Touch Intrrerupts +This is an example how to use Touch Interrupts The bigger the threshold, the more sensible is the touch */ From 2c2a9f91ecc86960d78968c8dcd2cea3ecb9c5e5 Mon Sep 17 00:00:00 2001 From: Mike Causer Date: Sat, 16 Oct 2021 00:36:59 +1100 Subject: [PATCH 2/7] Fix MATRIX_HEIGHT in BoardTest --- examples/BoardTest/BoardTest.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/BoardTest/BoardTest.ino b/examples/BoardTest/BoardTest.ino index dc0eb1e..49c0659 100644 --- a/examples/BoardTest/BoardTest.ino +++ b/examples/BoardTest/BoardTest.ino @@ -331,8 +331,8 @@ void setup() { //touchAttachInterrupt(T8, gotTouch8, TOUCH_THRESHOLD); //touchAttachInterrupt(T9, gotTouch9, TOUCH_THRESHOLD); - for (uint8_t y = 0; y < MATRIX_HEIGHT; y++) { - for (uint8_t x = 0; x < MATRIX_WIDTH; x++) { + for (uint8_t y = 0; y < panelResY; y++) { + for (uint8_t x = 0; x < panelResX; x++) { screenPixels[x][y] = 65535; } } From 0552aad4d9a3ee94bd0855200a301d838b31d9cd Mon Sep 17 00:00:00 2001 From: Mike Causer Date: Sat, 16 Oct 2021 00:38:15 +1100 Subject: [PATCH 3/7] Fix PANEL_CHAIN in FallingSand --- examples/Projects/FallingSand/FallingSand.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/Projects/FallingSand/FallingSand.ino b/examples/Projects/FallingSand/FallingSand.ino index f650265..bc6d9d0 100644 --- a/examples/Projects/FallingSand/FallingSand.ino +++ b/examples/Projects/FallingSand/FallingSand.ino @@ -226,7 +226,7 @@ void displayReconfig() { HUB75_I2S_CFG mxconfig( panelResX, // module width panelResY, // module height - PANEL_CHAIN // Chain length + panel_chain // Chain length ); mxconfig.double_buff = true; From 2961ebb0f2c90ee38da76a7b3bb091dff94ee4da Mon Sep 17 00:00:00 2001 From: Mike Causer Date: Sat, 16 Oct 2021 00:39:15 +1100 Subject: [PATCH 4/7] Fix PANEL_RES_X, PANEL_RES_Y, PANEL_CHAIN in WifiTetrisClock --- .../Projects/WifiTetrisClock/WifiTetrisClock.ino | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/Projects/WifiTetrisClock/WifiTetrisClock.ino b/examples/Projects/WifiTetrisClock/WifiTetrisClock.ino index f3752dc..bc81e82 100644 --- a/examples/Projects/WifiTetrisClock/WifiTetrisClock.ino +++ b/examples/Projects/WifiTetrisClock/WifiTetrisClock.ino @@ -72,9 +72,9 @@ char password[] = "password"; // your network key // ------- Matrix Config ------ // ------------------------------------- -#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 PANEL_CHAIN 1 // Total number of panels chained one to another +const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. +const int panelResY = 32; // Number of pixels tall of each INDIVIDUAL panel module. +const int panel_chain = 1; // Total number of panels chained one to another. // ------------------------------------- // ------- Clock Config ------ @@ -191,9 +191,9 @@ void setup() { Serial.begin(115200); HUB75_I2S_CFG mxconfig( - PANEL_RES_X, // module width - PANEL_RES_Y, // module height - PANEL_CHAIN // Chain length + panelResX, // Module width + panelResY, // Module height + panel_chain // Chain length ); mxconfig.double_buff = true; From 607354bb14d5c437f16203d3e24a0fcbb0270276 Mon Sep 17 00:00:00 2001 From: Mike Causer Date: Sat, 16 Oct 2021 00:40:16 +1100 Subject: [PATCH 5/7] Fix PANEL_RES_X, PANEL_RES_Y, PANEL_CHAIN in WifiTetrisClockWifiManager --- .../WifiTetrisClockWifiManager.ino | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/Projects/WifiTetrisClockWifiManager/WifiTetrisClockWifiManager.ino b/examples/Projects/WifiTetrisClockWifiManager/WifiTetrisClockWifiManager.ino index e2c1d4c..072d866 100644 --- a/examples/Projects/WifiTetrisClockWifiManager/WifiTetrisClockWifiManager.ino +++ b/examples/Projects/WifiTetrisClockWifiManager/WifiTetrisClockWifiManager.ino @@ -96,9 +96,9 @@ char password[] = "password"; // your network key // ------- Matrix Config ------ // ------------------------------------- -#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 PANEL_CHAIN 1 // Total number of panels chained one to another +const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. +const int panelResY = 32; // Number of pixels tall of each INDIVIDUAL panel module. +const int panel_chain = 1; // Total number of panels chained one to another. // ------------------------------------- // ------- Clock Config ------ @@ -343,9 +343,9 @@ bool setupSpiffs() { void configDisplay() { HUB75_I2S_CFG mxconfig( - PANEL_RES_X, // module width - 32, // module height - PANEL_CHAIN // Chain length + panelResX, // Module width + panelResY, // Module height + panel_chain // Chain length ); if (matrixIs64) { From 3db4e332a0b429b6ced3b8e852300c38dc6dc2a7 Mon Sep 17 00:00:00 2001 From: Mike Causer Date: Sat, 16 Oct 2021 00:42:57 +1100 Subject: [PATCH 6/7] Fix PANEL_RES_X, PANEL_RES_Y, PANEL_CHAIN in YouTubeLivestreamDraw --- .../YouTubeLivestreamDraw.ino | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/examples/Projects/YouTubeLivestreamDraw/YouTubeLivestreamDraw.ino b/examples/Projects/YouTubeLivestreamDraw/YouTubeLivestreamDraw.ino index 6780df3..39b81e9 100644 --- a/examples/Projects/YouTubeLivestreamDraw/YouTubeLivestreamDraw.ino +++ b/examples/Projects/YouTubeLivestreamDraw/YouTubeLivestreamDraw.ino @@ -87,9 +87,9 @@ char password[] = "password"; // your network password // ------- Matrix Config ------ // ------------------------------------- -#define PANEL_RES_X 64 // Number of pixels wide of each INDIVIDUAL panel module. -#define PANEL_RES_Y 64 // Number of pixels tall of each INDIVIDUAL panel module. -#define PANEL_CHAIN 1 // Total number of panels chained one to another +const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. +const int panelResY = 32; // Number of pixels tall of each INDIVIDUAL panel module. +const int panel_chain = 1; // Total number of panels chained one to another. MatrixPanel_I2S_DMA *dma_display = nullptr; @@ -128,9 +128,9 @@ char lastMessageReceived[YOUTUBE_MSG_CHAR_LENGTH]; void setup() { HUB75_I2S_CFG mxconfig( - PANEL_RES_X, // module width - PANEL_RES_Y, // module height - PANEL_CHAIN // Chain length + panelResX, // Module width + panelResY, // Module height + panel_chain // Chain length ); mxconfig.gpio.e = 18; @@ -214,13 +214,13 @@ void drawChatPixel(char *msg) { // Token should now == x if (token != NULL) { x = atoi(token); - if (x >= PANEL_RES_X || x < 0) + if (x >= panelResX || x < 0) return; token = strtok(NULL, " "); // Token should now == y if (token != NULL) { y = atoi(token); - if (y >= PANEL_RES_Y || y < 0) + if (y >= panelResY || y < 0) return; } else { //Not Valid From 6973bc45f8c7076dd952429ff6c7754696d6a3ff Mon Sep 17 00:00:00 2001 From: Mike Causer Date: Sat, 16 Oct 2021 00:44:53 +1100 Subject: [PATCH 7/7] Cosmetic fixes --- examples/Basics/ColourTest/ColourTest.ino | 18 +- examples/Basics/HelloWorld/HelloWorld.ino | 28 +- examples/Basics/PanelChecker/PanelChecker.ino | 21 +- examples/BoardTest/BoardTest.ino | 28 +- examples/BoardTest/FPS.h | 6 +- examples/BoardTest/pallet.h | 2 +- .../Images/DisplayGIF/DisplayGIF.ino | 18 +- .../BuildingBlocks/Images/DisplayGIF/fire.h | 433 +++++++++--------- .../DisplayImageFromWeb.ino | 20 +- .../Text/CenterText/CenterText.ino | 23 +- .../Text/ScrollingText/ScrollingText.ino | 19 +- examples/Projects/FallingSand/FPS.h | 6 +- examples/Projects/FallingSand/FallingSand.ino | 28 +- examples/Projects/FallingSand/pallet.h | 2 +- .../Projects/TrafficLight/TrafficLight.ino | 16 +- .../WifiTetrisClock/WifiTetrisClock.ino | 13 +- .../WifiTetrisClockWifiManager.ino | 24 +- .../YouTubeLivestreamDraw.ino | 18 +- .../LDRAutoBrightness/LDRAutoBrightness.ino | 4 +- .../TrinityFeatures/SDCardTest/SDCardTest.ino | 6 +- 20 files changed, 357 insertions(+), 376 deletions(-) diff --git a/examples/Basics/ColourTest/ColourTest.ino b/examples/Basics/ColourTest/ColourTest.ino index f8e4c31..0adb718 100644 --- a/examples/Basics/ColourTest/ColourTest.ino +++ b/examples/Basics/ColourTest/ColourTest.ino @@ -39,13 +39,13 @@ // Can be installed from the library manager // https://github.com/adafruit/Adafruit-GFX-Library -// ------------------------------------- +// -------------------------------- // ------- Matrix Config ------ -// ------------------------------------- +// -------------------------------- -const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. -const int panelResY = 64; // Number of pixels tall of each INDIVIDUAL panel module. -const int panel_chain = 1; // Total number of panels chained one to another +const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. +const int panelResY = 64; // Number of pixels tall of each INDIVIDUAL panel module. +const int panel_chain = 1; // Total number of panels chained one to another. // See the "displaySetup" method for more display config options @@ -61,9 +61,9 @@ uint16_t myBLUE = dma_display->color565(0, 0, 255); void displaySetup() { HUB75_I2S_CFG mxconfig( - panelResX, // module width - panelResY, // module height - panel_chain // Chain length + panelResX, // Module width + panelResY, // Module height + panel_chain // Chain length ); // If you are using a 64x64 matrix you need to pass a value for the E pin @@ -96,7 +96,7 @@ void setup() { // Could take up to 3A on full brightness dma_display->setBrightness8(100); //0-255 - + dma_display->clearScreen(); dma_display->fillScreen(myWHITE); diff --git a/examples/Basics/HelloWorld/HelloWorld.ino b/examples/Basics/HelloWorld/HelloWorld.ino index ab0a399..7ce5d4c 100644 --- a/examples/Basics/HelloWorld/HelloWorld.ino +++ b/examples/Basics/HelloWorld/HelloWorld.ino @@ -1,5 +1,4 @@ /******************************************************************* - A simple example showing different size fonts in different colours Parts Used: @@ -8,14 +7,13 @@ If you find what I do useful and would like to support me, please consider becoming a sponsor on Github https://github.com/sponsors/witnessmenow/ - + Written by Brian Lough YouTube: https://www.youtube.com/brianlough Tindie: https://www.tindie.com/stores/brianlough/ Twitter: https://twitter.com/witnessmenow *******************************************************************/ - // ---------------------------- // Additional Libraries - each one of these will need to be installed. // ---------------------------- @@ -35,18 +33,18 @@ // Can be installed from the library manager // https://github.com/adafruit/Adafruit-GFX-Library -// ------------------------------------- +// -------------------------------- // ------- Matrix Config ------ -// ------------------------------------- +// -------------------------------- -const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. -const int panelResY = 64; // Number of pixels tall of each INDIVIDUAL panel module. -const int panel_chain = 1; // Total number of panels chained one to another +const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. +const int panelResY = 64; // Number of pixels tall of each INDIVIDUAL panel module. +const int panel_chain = 1; // Total number of panels chained one to another. // Note about chaining panels: // By default all matrix libraries treat the panels as been connected horizontally // (one long display). The I2S Matrix library supports different display configurations -// Details here: +// Details here: // See the "displaySetup" method for more display config options @@ -62,16 +60,16 @@ uint16_t myBLUE = dma_display->color565(0, 0, 255); void displaySetup() { HUB75_I2S_CFG mxconfig( - panelResX, // module width - panelResY, // module height - panel_chain // Chain length + panelResX, // Module width + panelResY, // Module height + panel_chain // Chain length ); // This is how you enable the double buffer. // Double buffer can help with animation heavy projects // It's not needed for something simple like this, but some // of the other examples make use of it. - + //mxconfig.double_buff = true; // If you are using a 64x64 matrix you need to pass a value for the E pin @@ -99,11 +97,11 @@ void setup() { Serial.begin(115200); displaySetup(); - + dma_display->clearScreen(); dma_display->fillScreen(myBLACK); dma_display->setTextWrap(false); - + dma_display->setTextSize(1); // size 1 == 8 pixels high dma_display->setTextColor(myBLUE); dma_display->setCursor(0, 0); diff --git a/examples/Basics/PanelChecker/PanelChecker.ino b/examples/Basics/PanelChecker/PanelChecker.ino index c805905..170b625 100644 --- a/examples/Basics/PanelChecker/PanelChecker.ino +++ b/examples/Basics/PanelChecker/PanelChecker.ino @@ -6,7 +6,7 @@ Usage: On startup touch none/either/both of the built-in touch pads of the Trinity to enable different modes - + T8: Not Touched -> clkphase defaults to true Touched -> mxconfig.clkphase = false; @@ -50,13 +50,13 @@ // Can be installed from the library manager // https://github.com/adafruit/Adafruit-GFX-Library -// ------------------------------------- +// -------------------------------- // ------- Matrix Config ------ -// ------------------------------------- +// -------------------------------- -const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. -const int panelResY = 64; // Number of pixels tall of each INDIVIDUAL panel module. -const int panel_chain = 1; // Total number of panels chained one to another +const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. +const int panelResY = 64; // Number of pixels tall of each INDIVIDUAL panel module. +const int panel_chain = 1; // Total number of panels chained one to another. // See the "displaySetup" method for more display config options @@ -72,9 +72,9 @@ uint16_t myBLUE = dma_display->color565(0, 0, 255); void displaySetup() { HUB75_I2S_CFG mxconfig( - panelResX, // module width - panelResY, // module height - panel_chain // Chain length + panelResX, // Module width + panelResY, // Module height + panel_chain // Chain length ); @@ -96,7 +96,6 @@ void displaySetup() { mxconfig.gpio.e = 18; - if (touch8detected) { // May or may not be needed depending on your matrix @@ -123,7 +122,7 @@ void setup() { displaySetup(); - dma_display->clearScreen(); + dma_display->clearScreen(); dma_display->fillScreen(myBLACK); dma_display->setTextWrap(false); diff --git a/examples/BoardTest/BoardTest.ino b/examples/BoardTest/BoardTest.ino index 49c0659..4064e47 100644 --- a/examples/BoardTest/BoardTest.ino +++ b/examples/BoardTest/BoardTest.ino @@ -61,25 +61,25 @@ bool changeDriver = true; // Can be installed from the library manager // https://github.com/adafruit/Adafruit-GFX-Library -// ------------------------------------- +// -------------------------------- // ------- Matrix Config ------ -// ------------------------------------- +// -------------------------------- -const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. -const int panelResY = 64; // Number of pixels tall of each INDIVIDUAL panel module. -const int panel_chain = 1; // Total number of panels chained one to another +const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. +const int panelResY = 64; // Number of pixels tall of each INDIVIDUAL panel module. +const int panel_chain = 1; // Total number of panels chained one to another. // See the "displaySetup" method for more display config options -// ------------------------------------- -// ------- Other Config Config ------ -// ------------------------------------- +// ------------------------------- +// ------- Other Config ------ +// ------------------------------- -#define TOUCH_THRESHOLD 38 // Bigger Threshold == more sensitive (resting is about 48) +#define TOUCH_THRESHOLD 38 // Bigger Threshold == more sensitive (resting is about 48) -#define SHOW_TIME 10 +#define SHOW_TIME 10 -#define MAX_FPS 100 // Maximum redraw rate, frames/second +#define MAX_FPS 100 // Maximum redraw rate, frames/second #define DISPLAY_FPS 50 //#define SHOW_FPS @@ -249,9 +249,9 @@ bool reconfigDisplay = false; void displayReconfig() { HUB75_I2S_CFG mxconfig( - panelResX, // module width - panelResY, // module height - panel_chain // Chain length + panelResX, // Module width + panelResY, // Module height + panel_chain // Chain length ); mxconfig.double_buff = true; diff --git a/examples/BoardTest/FPS.h b/examples/BoardTest/FPS.h index 400c335..e17a3d3 100644 --- a/examples/BoardTest/FPS.h +++ b/examples/BoardTest/FPS.h @@ -9,7 +9,7 @@ Written by @tetra3dprint Twiter: https://twitter.com/tetra3dprint Github: https://github.com/tetra3dprint - + *******************************************************************/ //------------------------------------------------------------------------------------------------------------------ class FPS @@ -37,11 +37,11 @@ class FPS FrameCount++; currentMillis = millis(); passedMillis = currentMillis - startMillis; - if (passedMillis > oneThou) { + if (passedMillis > oneThou) { long remainder = passedMillis - oneThou; startMillis = currentMillis + remainder; // already started the next 1000 millis frame float FPM = (float)FrameCount / (float)passedMillis; - FrameCount = FPM * (float)remainder; // number of frames already rendered in the next 1000 millis frame + FrameCount = FPM * (float)remainder; // number of frames already rendered in the next 1000 millis frame FPSActual = FPM * oneThouF; // adjust the FPS to exactly 1000 millis } } diff --git a/examples/BoardTest/pallet.h b/examples/BoardTest/pallet.h index b87fe53..7bd5f8a 100644 --- a/examples/BoardTest/pallet.h +++ b/examples/BoardTest/pallet.h @@ -1,3 +1,3 @@ -const uint8_t PROGMEM pallet[] = {/* RGB888 R,G,B,R,G,B,R,G,B,... */ +const uint8_t PROGMEM pallet[] = {/* RGB888 R,G,B,R,G,B,R,G,B,... */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x05,0x00,0x00,0x0a,0x00,0x00,0x10,0x00,0x00,0x15,0x00,0x00,0x1b,0x00,0x00,0x20,0x00,0x00,0x25,0x00,0x00,0x2b,0x00,0x00,0x31,0x00,0x00,0x36,0x00,0x00,0x3c,0x00,0x00,0x41,0x00,0x00,0x46,0x00,0x00,0x4c,0x00,0x00,0x52,0x00,0x00,0x57,0x00,0x00,0x5d,0x00,0x00,0x62,0x00,0x00,0x68,0x00,0x00,0x6d,0x00,0x00,0x73,0x00,0x00,0x79,0x00,0x00,0x7e,0x00,0x00,0x83,0x00,0x00,0x89,0x00,0x00,0x8e,0x00,0x00,0x94,0x00,0x00,0x9a,0x00,0x00,0x9f,0x00,0x00,0xa5,0x00,0x00,0xaa,0x00,0x00,0xb0,0x00,0x00,0xb5,0x00,0x00,0xbb,0x00,0x00,0xc0,0x00,0x00,0xc6,0x00,0x00,0xcb,0x00,0x00,0xd1,0x00,0x00,0xd7,0x00,0x00,0xdc,0x00,0x00,0xe1,0x00,0x00,0xe6,0x00,0x00,0xe8,0x02,0x00,0xe9,0x08,0x00,0xe9,0x0f,0x00,0xe9,0x13,0x00,0xe9,0x16,0x00,0xe9,0x1b,0x00,0xe9,0x21,0x00,0xe9,0x26,0x00,0xe9,0x2a,0x00,0xe9,0x2e,0x00,0xe9,0x32,0x00,0xe9,0x37,0x00,0xe9,0x3b,0x00,0xe9,0x3f,0x00,0xe9,0x44,0x00,0xe9,0x4a,0x00,0xe9,0x4e,0x00,0xe9,0x52,0x00,0xe9,0x56,0x00,0xe9,0x5a,0x00,0xe9,0x5d,0x00,0xe9,0x63,0x00,0xe9,0x67,0x00,0xe9,0x6b,0x00,0xe9,0x71,0x00,0xe9,0x77,0x00,0xe9,0x78,0x00,0xe9,0x7c,0x00,0xe9,0x81,0x00,0xe9,0x86,0x00,0xe9,0x8b,0x00,0xe9,0x8f,0x00,0xe9,0x93,0x00,0xe9,0x99,0x00,0xe9,0x9d,0x00,0xe9,0xa0,0x00,0xe9,0xa4,0x00,0xe9,0xaa,0x00,0xe9,0xb0,0x00,0xe9,0xb4,0x00,0xe9,0xb5,0x00,0xe9,0xb9,0x00,0xe9,0xbe,0x00,0xe9,0xc3,0x00,0xe9,0xc9,0x00,0xe9,0xce,0x00,0xe9,0xd2,0x00,0xe9,0xd6,0x00,0xe9,0xd9,0x00,0xe9,0xdd,0x00,0xe9,0xe2,0x00,0xe9,0xe7,0x02,0xe9,0xe9,0x0e,0xe9,0xe9,0x1c,0xe9,0xe9,0x28,0xe9,0xe9,0x38,0xe9,0xe9,0x48,0xe9,0xe9,0x57,0xe9,0xe9,0x67,0xe9,0xe9,0x73,0xe9,0xe9,0x81,0xe9,0xe9,0x90,0xe9,0xe9,0xa1,0xe9,0xe9,0xb1,0xe9,0xe9,0xbf,0xe9,0xe9,0xcb,0xe9,0xe9,0xcb,0xe9,0xe9,0xcd,0xe9,0xe9,0xd9,0xe9,0xe9,0xe5,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe8,0xe8,0xe8,0xe8,0xe8,0xe8,0xe8,0xe8,0xe8,0xe8,0xe8,0xe8,0xe7,0xe7,0xe7,0xe7,0xe7,0xe7,0xe6,0xe6,0xe6,0xe4,0xe4,0xe4,0xe3,0xe3,0xe3,0xe0,0xe0,0xe0,0xdc,0xdc,0xdc,0xd8,0xd8,0xd8,0xd2,0xd2,0xd2,0xca,0xca,0xca,0xc1,0xc1,0xc1,0xb7,0xb7,0xb7,0xab,0xab,0xab,0x9d,0x9d,0x9d,0x8f,0x8f,0x8f,0x81,0x81,0x81,0x72,0x72,0x72,0x64,0x64,0x64,0x56,0x56,0x56,0x4a,0x4a,0x4a,0x3e,0x3e,0x3e,0x33,0x33,0x33,0x2a,0x2a,0x2a,0x22,0x22,0x22,0x1b,0x1b,0x1b,0x16,0x16,0x16,0x11,0x11,0x11,0x0d,0x0d,0x0d,0x0b,0x0b,0x0b,0x08,0x08,0x08,0x07,0x07,0x07,0x06,0x06,0x06,0x05,0x05,0x05,0x04,0x04,0x04,0x03,0x03,0x03,0x03,0x03,0x03,0x02,0x02,0x02,0x02,0x02,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; diff --git a/examples/BuildingBlocks/Images/DisplayGIF/DisplayGIF.ino b/examples/BuildingBlocks/Images/DisplayGIF/DisplayGIF.ino index d48e133..f05dd6c 100644 --- a/examples/BuildingBlocks/Images/DisplayGIF/DisplayGIF.ino +++ b/examples/BuildingBlocks/Images/DisplayGIF/DisplayGIF.ino @@ -2,7 +2,7 @@ Displays gifs on a matrix display This loads the gifs from memory, this is the fastest way - + But speeds probably isn't super important for this, there is an example with the I2S matrix library tha loads the gifs from SPIFFS, which is probably a better way of doing it: https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA/tree/master/examples/AnimatedGIFPanel @@ -58,13 +58,13 @@ // Can be installed from the library manager // https://github.com/adafruit/Adafruit-GFX-Library -// ------------------------------------- +// -------------------------------- // ------- Matrix Config ------ -// ------------------------------------- +// -------------------------------- -const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. -const int panelResY = 64; // Number of pixels tall of each INDIVIDUAL panel module. -const int panel_chain = 1; // Total number of panels chained one to another +const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. +const int panelResY = 64; // Number of pixels tall of each INDIVIDUAL panel module. +const int panel_chain = 1; // Total number of panels chained one to another. // See the "displaySetup" method for more display config options @@ -157,9 +157,9 @@ void GIFDraw(GIFDRAW *pDraw) void displaySetup() { HUB75_I2S_CFG mxconfig( - panelResX, // module width - panelResY, // module height - panel_chain // Chain length + panelResX, // Module width + panelResY, // Module height + panel_chain // Chain length ); // If you are using a 64x64 matrix you need to pass a value for the E pin diff --git a/examples/BuildingBlocks/Images/DisplayGIF/fire.h b/examples/BuildingBlocks/Images/DisplayGIF/fire.h index 88ff3c0..d4f897d 100644 --- a/examples/BuildingBlocks/Images/DisplayGIF/fire.h +++ b/examples/BuildingBlocks/Images/DisplayGIF/fire.h @@ -10,219 +10,220 @@ #ifndef PROGMEM #define PROGMEM #endif -const unsigned char fire[] PROGMEM = { 0x47,0x49,0x46,0x38,0x39,0x61,0x40,0x00,0x40,0x00,0xf7,0x0b,0x00,0x26,0x0e,0x0b, - 0x6b,0x24,0x1b,0xff,0xff,0xff,0xff,0x05,0x05,0xf8,0xb8,0x28,0xa0,0x28,0x18,0xf8, - 0x50,0x10,0xf8,0xe0,0x38,0xd0,0x40,0x20,0xf8,0x88,0x10,0x00,0x00,0x00,0xff,0xff, - 0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0xff,0x0b, - 0x4e,0x45,0x54,0x53,0x43,0x41,0x50,0x45,0x32,0x2e,0x30,0x03,0x01,0x00,0x00,0x00, - 0x21,0xf9,0x04,0x09,0x0a,0x00,0x0b,0x00,0x2c,0x00,0x00,0x00,0x00,0x40,0x00,0x40, - 0x00,0x00,0x08,0xff,0x00,0x17,0x08,0x1c,0x48,0xb0,0xa0,0xc1,0x83,0x08,0x13,0x2a, - 0x5c,0xc8,0xb0,0xa1,0xc3,0x87,0x10,0x23,0x26,0x44,0x20,0xb1,0xa2,0xc5,0x82,0x08, - 0x32,0x5e,0xdc,0x28,0x31,0xa3,0x46,0x8e,0x20,0x17,0x7a,0xa4,0x18,0x12,0xe4,0x01, - 0x8c,0x03,0x3f,0x96,0x5c,0xc9,0xb2,0xa5,0xcb,0x97,0x0c,0x49,0xa2,0x84,0x79,0x51, - 0xe5,0x4c,0x9a,0x1d,0x27,0xca,0xc4,0xe9,0x50,0xe5,0x49,0x8c,0x3b,0x79,0x8a,0xb4, - 0x09,0x34,0xa8,0x50,0x84,0x1e,0x91,0x26,0x3d,0xba,0xb0,0xc0,0xd2,0xa2,0x46,0x99, - 0x16,0x2c,0xe0,0xf4,0xe9,0x48,0xa2,0x4c,0x8d,0x52,0xbd,0xca,0x35,0x2a,0x4f,0xac, - 0x0b,0xb6,0x76,0xfd,0xf8,0x33,0x2b,0xd8,0xaa,0x55,0x47,0x4a,0x3d,0x78,0xd6,0xe3, - 0x01,0x04,0x55,0xd7,0x3e,0x4c,0x7b,0x55,0xae,0xc3,0xaa,0x6f,0xd5,0x1e,0x2c,0x60, - 0x77,0x60,0x5a,0x03,0x75,0x11,0xf2,0x3d,0x3a,0xd8,0x6f,0x46,0x03,0x88,0x03,0x0b, - 0x4c,0x30,0xd0,0x40,0x61,0x9a,0x70,0xa9,0xa6,0x3c,0x8c,0x38,0xf1,0x53,0x82,0x88, - 0x1f,0xbf,0xcc,0x78,0x40,0xf2,0xdf,0xca,0x80,0x3d,0x1a,0x30,0x98,0x19,0xe7,0x48, - 0xcf,0x94,0x09,0x10,0xa8,0x2c,0x7a,0x74,0xe3,0xd2,0x34,0x2d,0x67,0xac,0x8a,0x38, - 0x81,0xea,0xd5,0xb2,0x2b,0x2f,0x00,0xad,0x99,0x25,0xe8,0xd0,0x08,0x2a,0xdb,0x3e, - 0x70,0x5b,0x76,0xf0,0xdf,0x8e,0x63,0xff,0x3e,0x6e,0x20,0xc1,0xf0,0x03,0xc4,0x13, - 0x00,0xa7,0xcc,0x1b,0x26,0x72,0xe1,0xce,0x09,0x40,0xdf,0xee,0xbc,0x35,0xf2,0xde, - 0x21,0x6b,0xff,0xff,0x76,0x4e,0x7e,0x3b,0xf7,0x04,0xd4,0x9d,0x57,0x6f,0xd9,0x3c, - 0xc1,0x01,0xe9,0xb5,0xc9,0x3f,0x37,0x4f,0x40,0x7d,0xed,0xf7,0xeb,0x57,0xb6,0x87, - 0x0e,0xbf,0x7d,0x79,0xf3,0xd0,0xd5,0x07,0x9f,0x73,0xfc,0x65,0x06,0xde,0x45,0xfb, - 0x05,0x28,0x9d,0x7c,0xee,0x01,0x18,0x9d,0x7a,0xff,0xbd,0x57,0x40,0x02,0x07,0x5a, - 0x94,0xe0,0x7b,0x0c,0x66,0x47,0x5f,0x86,0x11,0x62,0x28,0x5d,0x49,0xed,0x69,0xf7, - 0x20,0x87,0x22,0x0a,0xc8,0xe1,0x7c,0xe4,0xb9,0xc6,0x91,0x7f,0xfc,0x9d,0x48,0x9e, - 0x76,0x2e,0xbe,0xd8,0xa2,0x7a,0x20,0xb1,0x18,0xa3,0x7c,0x26,0xc6,0x38,0x23,0x8d, - 0x08,0xe2,0x78,0xe3,0x8f,0x19,0x7a,0xc8,0xa3,0x85,0x40,0x16,0x49,0x62,0x86,0x2a, - 0x46,0xe4,0x9f,0x91,0x4c,0xba,0x48,0x64,0x93,0x50,0x72,0x98,0xe4,0x43,0x4b,0x3a, - 0x17,0x40,0x00,0x51,0x72,0x78,0xa5,0x94,0x12,0x55,0x99,0xc0,0x95,0x01,0x00,0x90, - 0xa5,0x7c,0x00,0x80,0xc9,0x61,0x97,0x19,0x5e,0x09,0xc0,0x9a,0x63,0x26,0xb0,0x66, - 0x99,0x58,0x66,0x88,0x26,0x83,0x6a,0x0e,0x30,0x80,0x98,0x51,0x02,0x60,0x27,0x9c, - 0x67,0x46,0x84,0x40,0x9a,0x61,0xee,0x89,0x27,0x93,0x6b,0xee,0xb9,0x25,0x83,0x15, - 0x4e,0x94,0xa3,0x74,0x6a,0xbe,0x09,0xe5,0x9b,0x70,0x7a,0xe9,0x95,0x42,0x08,0x08, - 0x69,0x25,0x98,0x87,0x32,0x89,0x69,0xa6,0xd9,0x25,0xaa,0xe8,0x88,0x8c,0x82,0xe9, - 0xa5,0x9b,0xce,0x0d,0x2a,0x9f,0x01,0x98,0x56,0xf9,0x96,0x45,0x95,0x82,0x2a,0x65, - 0x9c,0xa4,0xc6,0x7e,0xfa,0xe5,0xa8,0x38,0x76,0x56,0xd3,0x86,0x48,0x9a,0xe9,0xa8, - 0x9b,0x6c,0x8a,0x4a,0x62,0x80,0x93,0x36,0xd4,0xea,0x76,0x8b,0x6e,0x0a,0xe9,0xb1, - 0x98,0x66,0x28,0xe2,0xaa,0x1c,0x21,0xb0,0x6c,0x80,0x02,0xc6,0x89,0x2a,0x00,0x06, - 0x40,0x5a,0x2d,0xb5,0x56,0x66,0xf7,0x2c,0xb3,0x20,0x0d,0x0b,0xa0,0x6a,0xe4,0x05, - 0xd0,0x1e,0x9b,0xd2,0x99,0xba,0x2d,0x74,0xc1,0x76,0x74,0x2e,0xb1,0xb7,0xd5,0x47, - 0xae,0x6d,0xeb,0x02,0xeb,0x52,0x46,0xf1,0x3a,0x68,0xaf,0x83,0x04,0x38,0x05,0x59, - 0x01,0xf5,0xde,0x8b,0xaf,0xbe,0x42,0xcd,0xa6,0x9a,0xbf,0xf6,0xe6,0x0b,0xd6,0x57, - 0x02,0x0f,0x4c,0x9f,0x6a,0x62,0xf5,0x65,0xd0,0x69,0x54,0xa5,0xe5,0xf0,0xc4,0x02, - 0x05,0x04,0x00,0x21,0xf9,0x04,0x09,0x0a,0x00,0x0b,0x00,0x2c,0x00,0x00,0x00,0x00, - 0x40,0x00,0x40,0x00,0x00,0x08,0xff,0x00,0x17,0x08,0x1c,0x48,0xb0,0xa0,0xc1,0x83, - 0x08,0x13,0x2a,0x5c,0xc8,0xb0,0x21,0xc1,0x03,0x0e,0x23,0x4a,0x9c,0x48,0xb1,0xa2, - 0xc5,0x8b,0x18,0x33,0x0a,0x44,0x60,0x90,0xa3,0xc6,0x8f,0x0c,0x11,0x78,0x04,0xa9, - 0x11,0xe2,0x41,0x91,0x23,0x49,0xaa,0x44,0x89,0x52,0x25,0xc9,0x02,0x2c,0x11,0xc0, - 0x94,0xe9,0x12,0x63,0x81,0x9b,0x33,0x63,0x8a,0x2c,0x50,0xb3,0x22,0x4e,0x96,0x07, - 0x74,0xe2,0x2c,0x98,0xb2,0xa7,0xc1,0x9f,0x3a,0x63,0xde,0x34,0xea,0x10,0x69,0x52, - 0x96,0x4b,0x13,0x9a,0x64,0xea,0x74,0xe7,0xd3,0xa8,0x0b,0x78,0x32,0x3d,0x5a,0xf5, - 0xe9,0x4e,0xad,0x59,0xc1,0x6e,0x15,0x88,0x33,0xa7,0x57,0x94,0x58,0xb1,0x8e,0x2d, - 0x7b,0x56,0xa9,0xd8,0xa1,0x6b,0xd9,0x26,0x4d,0x20,0x32,0xa8,0x4c,0xb1,0x5f,0xc7, - 0x86,0xbd,0xd9,0x16,0x6d,0xc7,0xbb,0x7a,0xbb,0xb2,0xa4,0xeb,0x97,0x68,0xde,0xad, - 0x82,0x51,0x12,0xa6,0x69,0xf8,0x30,0xe2,0x99,0x76,0x81,0x12,0x16,0xbb,0x11,0x2a, - 0xe5,0x9e,0x66,0x07,0x1f,0x88,0x6c,0x38,0xb2,0x5a,0x92,0x29,0x23,0xc7,0xdc,0x7c, - 0x60,0xf1,0x68,0xcf,0x97,0x3f,0x8a,0x1c,0xc8,0x59,0x31,0x69,0xd1,0x28,0x49,0xa3, - 0x4d,0xad,0x5a,0xa0,0x6c,0x8e,0x06,0x0c,0x20,0x78,0x5d,0xba,0x6e,0x6c,0xd1,0xb4, - 0x55,0xca,0x36,0xb0,0x20,0xb7,0x01,0xde,0xb0,0x8f,0x03,0xd7,0xbb,0x59,0x24,0xf1, - 0xe2,0xc8,0xed,0x1a,0x57,0xce,0xf2,0xb9,0x51,0xd2,0xba,0x47,0x1a,0x48,0xc0,0x3b, - 0xc1,0xf4,0xdc,0xcd,0xa7,0x6f,0xff,0xdd,0x9c,0xbb,0x20,0xf8,0xd7,0xe2,0xa1,0x93, - 0x2f,0xcf,0x74,0xbd,0xc1,0xf3,0xeb,0xd9,0x17,0x57,0x6e,0x9c,0xe9,0x77,0xf3,0xe7, - 0xbd,0xa7,0x17,0x08,0xbe,0x7e,0xcf,0xed,0x07,0xb0,0xf7,0xdd,0x71,0xfa,0x0d,0x38, - 0x90,0x71,0xfa,0xfd,0x97,0xc0,0x82,0xde,0xcd,0x97,0x1b,0x83,0x0b,0x0e,0xe8,0x5f, - 0x71,0x11,0x5a,0x47,0xd2,0x76,0x10,0x16,0x98,0x61,0x85,0xd3,0x15,0xc8,0x1f,0x77, - 0x0b,0xba,0x84,0xe1,0x86,0x24,0x32,0xd8,0x21,0x87,0x14,0x32,0x28,0x62,0x89,0x2c, - 0x72,0x98,0xe1,0x83,0x19,0x5e,0xd8,0x62,0x8b,0x30,0xce,0x98,0x00,0x48,0x23,0xda, - 0xa8,0x63,0x8b,0x1a,0xe5,0x48,0x22,0x01,0x3b,0xea,0xd8,0x63,0x90,0x2c,0x02,0x29, - 0x64,0x46,0x3e,0x6e,0x68,0x24,0x91,0x25,0x12,0x90,0xd1,0x6e,0x2d,0x1e,0xb0,0x64, - 0x91,0x3a,0x3a,0x89,0xd1,0x6e,0x53,0x42,0x48,0x5a,0x96,0x19,0x4a,0x69,0x23,0x01, - 0x53,0x59,0xb4,0xdb,0x66,0x59,0x82,0x49,0x5a,0x94,0xa5,0x35,0xf9,0xda,0x93,0xc8, - 0x11,0x00,0x24,0x6f,0x5c,0x2e,0x68,0x26,0x97,0x66,0xf2,0x76,0x25,0x72,0x37,0x45, - 0xc7,0x65,0x77,0x0c,0x12,0x00,0x40,0x01,0xd1,0xdd,0xf9,0xda,0x4d,0x00,0x00,0xa0, - 0x27,0x84,0x75,0x92,0x29,0x67,0xa1,0x7f,0x22,0x27,0x28,0x69,0x05,0x00,0xb0,0xa0, - 0xa1,0x6d,0xba,0x99,0x28,0x6f,0x92,0x26,0xd0,0xa8,0x9d,0x17,0x21,0x90,0x68,0xa4, - 0x93,0x52,0x8a,0xe9,0x66,0xa2,0x0e,0x9a,0xe9,0xa6,0x64,0x5a,0x29,0xa6,0xa5,0x9b, - 0x11,0xca,0xe8,0xa0,0xa4,0xc6,0x8f,0x7a,0x00,0xa0,0x90,0x32,0x8a,0xaa,0x91,0x4f, - 0xca,0xd9,0x6a,0x59,0x90,0x02,0x5a,0x28,0xa9,0x86,0xe6,0xb9,0x2b,0x4e,0x8a,0xd2, - 0xa5,0x11,0x02,0x7d,0x12,0x50,0x16,0xad,0x38,0x09,0x60,0x6b,0xa1,0x02,0x10,0x3b, - 0x6b,0x59,0x53,0x16,0x25,0x66,0x86,0xd2,0x4e,0x1b,0xe9,0xb3,0x7f,0x66,0x8b,0x53, - 0x86,0xd6,0x5e,0xfb,0x23,0x98,0x38,0x71,0x5b,0x28,0xb1,0x6e,0x96,0x18,0xae,0xb8, - 0x24,0x6a,0x6b,0x6e,0xb7,0x80,0xb2,0xb8,0x2e,0xbb,0x1b,0x2e,0x6b,0x6e,0x59,0xf2, - 0xba,0x24,0x13,0x89,0xf1,0x26,0xe0,0xeb,0xab,0x99,0xce,0xca,0xef,0xbc,0x4f,0x16, - 0xc0,0xa2,0xc1,0x07,0xfc,0xaa,0xe9,0xc1,0x04,0x83,0xb4,0x2f,0x8b,0x85,0xb6,0x08, - 0x93,0x5e,0x04,0x3d,0x4c,0xe4,0xc4,0x14,0xff,0x65,0xf1,0xc0,0xab,0x65,0xbc,0xd0, - 0x59,0x1e,0x87,0xcc,0x50,0x40,0x00,0x21,0xf9,0x04,0x09,0x0a,0x00,0x0b,0x00,0x2c, - 0x00,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0x00,0x08,0xff,0x00,0x17,0x08,0x1c,0x48, - 0xb0,0xa0,0xc1,0x83,0x08,0x13,0x2a,0x5c,0xc8,0xb0,0xa1,0xc3,0x87,0x10,0x21,0x22, - 0x68,0x78,0x20,0xa2,0x45,0x87,0x08,0x26,0x5e,0xdc,0xc8,0x51,0xa0,0xc6,0x83,0x1f, - 0x3b,0x8a,0xc4,0x38,0xb2,0x64,0xc1,0x90,0x03,0x33,0x9a,0x14,0x59,0x31,0x25,0xca, - 0x05,0x08,0x08,0xbc,0x5c,0xb9,0x51,0x25,0xc1,0x8c,0x38,0x69,0x8a,0xcc,0x39,0xb0, - 0x40,0x46,0x99,0x3c,0x75,0x46,0xc4,0x19,0xd2,0x67,0xcc,0x8c,0x07,0x82,0x0a,0x65, - 0x68,0xd4,0xa6,0x40,0xa3,0x07,0x92,0xe2,0x4c,0xba,0x94,0xa9,0x4f,0xaa,0x04,0x8d, - 0x12,0x38,0x00,0x94,0x68,0x55,0x85,0x05,0xa2,0x3a,0x7d,0x5a,0xc0,0x80,0x01,0xb1, - 0x53,0xc7,0x7e,0xcd,0x2a,0xf6,0x60,0xd9,0xb3,0x52,0x11,0xc4,0x5d,0xeb,0x36,0x2a, - 0xc2,0xb7,0x5b,0x0d,0xc8,0x8d,0x3b,0x73,0xad,0x5d,0xb7,0x6f,0xb9,0x9e,0xf5,0xa8, - 0x96,0xae,0xc0,0x96,0x1e,0xb3,0x9a,0x15,0x8c,0xb8,0xb0,0xe1,0x05,0x88,0x0d,0x1a, - 0x48,0x10,0xd5,0x40,0x81,0x9b,0x8f,0x21,0xc2,0x3d,0x30,0x38,0xb3,0xc2,0xc8,0x04, - 0x37,0x6f,0xf5,0x9c,0xf0,0x6f,0x41,0x03,0x5b,0xa3,0x8e,0x26,0x7d,0x90,0xb3,0x81, - 0xd3,0xa8,0x55,0xe7,0x1d,0x98,0x80,0x35,0x4c,0xd7,0xaf,0x05,0x9a,0x8d,0xcd,0x35, - 0x41,0x67,0xdb,0x1e,0x77,0x0b,0x37,0x4b,0x99,0x2b,0x01,0xdf,0xa6,0x6d,0xbf,0x1d, - 0x3e,0x39,0x01,0x81,0xe7,0x09,0xa2,0x9b,0x05,0xfe,0x14,0xc1,0xf0,0xe8,0xd1,0x8f, - 0x63,0xf7,0x6d,0x99,0xba,0xcf,0xeb,0xdb,0xc3,0xef,0xff,0xa6,0xbe,0xe0,0xfb,0xd9, - 0xe6,0xe1,0xb7,0x9b,0xed,0x6b,0xd8,0x3c,0xf1,0xf4,0xea,0xf5,0xb2,0xa7,0x6b,0x7d, - 0x77,0xfa,0x03,0xf1,0xf5,0x52,0x07,0x0f,0x5f,0xfa,0xfa,0xf9,0x5f,0x09,0xd7,0x5f, - 0x7e,0xfa,0xd1,0x95,0xdb,0x40,0x02,0x3a,0xb7,0x9d,0x76,0xd2,0x71,0xb7,0x1e,0x6b, - 0xf6,0x0d,0x98,0x9e,0x70,0x9e,0xf9,0x87,0x1e,0x83,0x0a,0x4e,0x48,0xa1,0x61,0xd8, - 0xbd,0x47,0x19,0x86,0x5b,0x85,0x77,0xdc,0x86,0x6b,0x6d,0x35,0x62,0x73,0xa9,0x31, - 0xa8,0xda,0x76,0xf8,0x39,0x78,0xe0,0x52,0xa9,0x89,0x18,0x55,0x54,0xd8,0xcd,0xa8, - 0x62,0x87,0xd3,0x55,0x95,0xda,0x8a,0xce,0xcd,0xb8,0xa2,0x8f,0xbd,0xa5,0xe8,0x22, - 0x8c,0x3e,0x1e,0xb7,0x23,0x90,0xc5,0x15,0x59,0xa4,0x83,0x42,0x3d,0xa7,0x24,0x90, - 0x50,0x46,0x09,0x65,0x8e,0x34,0x1d,0x29,0xe5,0x95,0x58,0xba,0x56,0x65,0x92,0x59, - 0x76,0x19,0xe5,0x8b,0x23,0x69,0x67,0xa5,0x97,0x5d,0x1e,0xb7,0xa5,0x73,0x04,0x04, - 0x90,0xe5,0x98,0x3b,0xaa,0x29,0x9b,0x73,0x55,0x6a,0x17,0xc0,0x9c,0x63,0xca,0x06, - 0xe5,0x73,0x69,0xd2,0xb9,0x60,0x9c,0xd1,0x05,0x00,0xc0,0x9f,0x78,0x9a,0x48,0x00, - 0x00,0xcf,0x01,0x50,0x64,0xa1,0x7f,0x06,0x20,0x22,0x4d,0xdb,0xf9,0x19,0x15,0x00, - 0x68,0x06,0x50,0xe8,0xa4,0x69,0x62,0x67,0xe8,0x01,0x00,0x28,0xba,0xe7,0x4a,0x08, - 0x60,0xe7,0x28,0xa6,0x94,0xcd,0x99,0xc0,0x9f,0xd1,0x91,0x3a,0x27,0x7e,0x97,0x66, - 0x9a,0x1e,0x4d,0x9d,0x7a,0xfa,0x27,0xa4,0x73,0xaa,0x91,0xf9,0xea,0xab,0x07,0xc4, - 0x3a,0x6a,0xa2,0xe9,0x01,0x38,0x54,0xa3,0xb6,0xc6,0x3a,0xeb,0xaf,0xa2,0xc6,0xaa, - 0xe9,0x76,0x97,0xad,0x54,0x40,0x78,0xa2,0x26,0xe0,0xeb,0xaf,0xaf,0x26,0x9b,0xec, - 0x82,0xba,0xee,0x0a,0xdf,0xb2,0xcc,0x66,0x3a,0x6c,0x7a,0x04,0x14,0x4b,0xd3,0xb1, - 0xf7,0x51,0xcb,0xec,0xa9,0xfd,0x61,0xa5,0x53,0x4c,0xc8,0x0a,0x5b,0xad,0xb5,0xd7, - 0x62,0x97,0x6d,0x55,0x61,0x61,0xe8,0x66,0xad,0x98,0xd2,0x7a,0x69,0xad,0x32,0x46, - 0xcb,0xd1,0x5e,0x18,0xf6,0x46,0xd9,0x9f,0x2d,0x46,0xd7,0x2f,0x9e,0xe2,0x7e,0x85, - 0x40,0x58,0xc6,0xcd,0x68,0x29,0xa4,0xea,0xda,0xd9,0x56,0x66,0x7b,0x1d,0x1a,0x28, - 0xc0,0x40,0xfa,0xc4,0xda,0xc0,0x64,0xce,0x58,0x80,0xb6,0xb6,0x65,0x74,0x31,0x96, - 0x46,0x91,0x67,0x10,0x51,0x20,0xdb,0xeb,0xb1,0x50,0x01,0x01,0x00,0x21,0xf9,0x04, - 0x09,0x0a,0x00,0x0b,0x00,0x2c,0x00,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0x00,0x08, - 0xff,0x00,0x17,0x08,0x1c,0x48,0xb0,0xa0,0xc1,0x83,0x07,0x0f,0x20,0x5c,0xc8,0xb0, - 0xa1,0x43,0x81,0x0a,0x1f,0x4a,0x9c,0x48,0x91,0x62,0xc4,0x8a,0x18,0x33,0x26,0x44, - 0xa0,0xb1,0x63,0xc7,0x03,0x07,0x38,0x7a,0x1c,0x09,0xb1,0x21,0xc8,0x90,0x24,0x49, - 0x46,0x14,0x59,0xb0,0x00,0x48,0x04,0x2c,0x53,0x8e,0x84,0xd9,0xd2,0x65,0xc8,0x98, - 0x32,0x3b,0xd2,0x1c,0x58,0xc0,0x26,0x4c,0x9c,0x39,0x35,0xc6,0x84,0xf9,0xd2,0x00, - 0xd0,0xa0,0x33,0x61,0x1a,0x58,0x8a,0x14,0x29,0xd1,0xa5,0x06,0x9a,0x06,0x45,0x00, - 0x35,0xaa,0xd4,0x9c,0x55,0xad,0x5e,0xad,0x78,0xb4,0xaa,0xc1,0xa3,0x5b,0x0b,0xfe, - 0x34,0x08,0x75,0xe1,0xc5,0xb0,0x62,0xc7,0x12,0x2c,0x8b,0x96,0xa2,0xd2,0x9d,0x03, - 0x99,0xb6,0x75,0xbb,0x14,0xa8,0xdc,0xb9,0x66,0x09,0x52,0x35,0x7a,0x50,0xeb,0xc0, - 0xb3,0x78,0x3f,0x06,0x56,0x09,0x76,0xf0,0xdf,0x85,0x6a,0x0d,0xeb,0x75,0xf8,0xb3, - 0x30,0x5e,0xb8,0x08,0xdf,0x2a,0x4e,0xcb,0x11,0x6c,0xe3,0xc1,0x38,0x2f,0x43,0xd6, - 0xeb,0x78,0xae,0xe6,0xcd,0x02,0x3b,0x7b,0x66,0x79,0x79,0xf2,0xc1,0xa3,0x6f,0x13, - 0x9b,0x5e,0x00,0x9a,0x75,0x63,0xd5,0xac,0x0d,0x83,0x6e,0x6c,0x14,0x76,0xeb,0xab, - 0xb6,0x69,0xd7,0xce,0x7c,0xbb,0xe9,0xcf,0x02,0x3c,0x75,0xef,0x1e,0x0a,0x5b,0xea, - 0x5e,0x98,0x3d,0x93,0x2b,0xad,0x9a,0x38,0x35,0x5a,0x02,0x04,0x8e,0x23,0x48,0x5e, - 0x60,0x39,0x54,0xb5,0xaf,0x7b,0x8f,0x84,0x0e,0x1d,0x64,0x6d,0xea,0xd5,0xb3,0xfe, - 0xff,0x0e,0x6f,0x20,0xba,0xf6,0x8e,0x09,0xd2,0x27,0xe8,0x7e,0x73,0xba,0x72,0xe6, - 0xc8,0x7b,0xee,0x7d,0x79,0x1e,0xa3,0xfa,0xf4,0xdc,0x09,0xdc,0x54,0xbe,0xbc,0x31, - 0xff,0x93,0xdc,0x05,0x75,0x1f,0x7e,0xf9,0x21,0xa7,0x5f,0x76,0x08,0xe8,0xc7,0x5f, - 0x77,0xd0,0xad,0x27,0x93,0x01,0x03,0x12,0x08,0x5d,0x82,0xfa,0x1d,0x60,0x5e,0x63, - 0xfa,0x11,0x20,0x5f,0x7e,0x0d,0x26,0xf0,0x60,0x84,0xeb,0x49,0xc8,0xe1,0x6b,0x19, - 0x86,0xd4,0x21,0x77,0xe9,0xa5,0x04,0x21,0x88,0x04,0xa8,0xd7,0xe1,0x7a,0x17,0xc2, - 0xd4,0x22,0x87,0xf7,0xb5,0x98,0x80,0x5f,0x1a,0xad,0x18,0xa1,0x8d,0x3b,0x4e,0x28, - 0x23,0x8f,0x2f,0x0e,0x88,0x63,0x46,0x3a,0xa6,0xd7,0x13,0x88,0x35,0x4e,0x18,0x64, - 0x02,0x47,0x46,0x38,0x24,0x46,0x45,0xf6,0x04,0x00,0x92,0x35,0x9a,0xc8,0x63,0x02, - 0x00,0x00,0xd0,0xe4,0x7d,0x4f,0x56,0x14,0x65,0x96,0x53,0x52,0x09,0xe3,0x92,0x60, - 0x16,0xe0,0x24,0x49,0x5f,0x0a,0x20,0x40,0x98,0x54,0xa2,0xa8,0x1e,0x00,0x6a,0x6a, - 0x79,0xe6,0x48,0x69,0xae,0xc9,0x26,0x92,0x57,0x66,0x19,0xa7,0x99,0x03,0x02,0x37, - 0xd3,0x80,0x60,0xca,0x09,0x68,0x7a,0x77,0x12,0x1a,0x28,0x88,0x7e,0x7a,0x84,0x40, - 0x9f,0xd4,0xa9,0xc7,0x67,0x98,0x61,0xf2,0xc9,0x64,0xa3,0x11,0x26,0xaa,0x53,0xa5, - 0x4d,0x1e,0x70,0x64,0x96,0x86,0x4e,0x7a,0x80,0x91,0x5b,0x5e,0x69,0xa9,0x50,0x62, - 0x4e,0xea,0x52,0xa0,0x59,0x6a,0xba,0xa5,0x98,0xa3,0x92,0x8a,0xa4,0xaa,0x52,0xa2, - 0x66,0x4a,0xdd,0xa7,0x57,0x86,0x68,0xa4,0x4c,0x8b,0x22,0x09,0x1e,0xaa,0x5a,0x52, - 0x3a,0xe0,0x8c,0x1a,0xe6,0x94,0x6b,0xa5,0xe9,0x69,0xca,0xab,0xa4,0x66,0xd6,0xca, - 0x9d,0x68,0x5c,0x05,0xf9,0xa2,0x99,0x07,0x80,0xc9,0xe4,0xaf,0x36,0x16,0x68,0x9c, - 0x9b,0x6e,0xbe,0x59,0xa8,0x88,0xd6,0x5e,0x55,0x00,0x87,0x4b,0xb2,0xc8,0x5e,0xb7, - 0x5b,0xf5,0x54,0xa2,0x85,0xe0,0x82,0x7b,0x12,0xba,0xd5,0x3d,0x36,0x1d,0x7b,0xeb, - 0xc6,0x0b,0x12,0x77,0xd5,0x31,0xeb,0x9b,0x81,0x1c,0xae,0x5b,0xaf,0xbd,0x6d,0xed, - 0xfb,0x5a,0xab,0xab,0x05,0x16,0x10,0x00,0x3b}; +const unsigned char fire[] PROGMEM = { + 0x47,0x49,0x46,0x38,0x39,0x61,0x40,0x00,0x40,0x00,0xf7,0x0b,0x00,0x26,0x0e,0x0b, + 0x6b,0x24,0x1b,0xff,0xff,0xff,0xff,0x05,0x05,0xf8,0xb8,0x28,0xa0,0x28,0x18,0xf8, + 0x50,0x10,0xf8,0xe0,0x38,0xd0,0x40,0x20,0xf8,0x88,0x10,0x00,0x00,0x00,0xff,0xff, + 0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0xff,0x0b, + 0x4e,0x45,0x54,0x53,0x43,0x41,0x50,0x45,0x32,0x2e,0x30,0x03,0x01,0x00,0x00,0x00, + 0x21,0xf9,0x04,0x09,0x0a,0x00,0x0b,0x00,0x2c,0x00,0x00,0x00,0x00,0x40,0x00,0x40, + 0x00,0x00,0x08,0xff,0x00,0x17,0x08,0x1c,0x48,0xb0,0xa0,0xc1,0x83,0x08,0x13,0x2a, + 0x5c,0xc8,0xb0,0xa1,0xc3,0x87,0x10,0x23,0x26,0x44,0x20,0xb1,0xa2,0xc5,0x82,0x08, + 0x32,0x5e,0xdc,0x28,0x31,0xa3,0x46,0x8e,0x20,0x17,0x7a,0xa4,0x18,0x12,0xe4,0x01, + 0x8c,0x03,0x3f,0x96,0x5c,0xc9,0xb2,0xa5,0xcb,0x97,0x0c,0x49,0xa2,0x84,0x79,0x51, + 0xe5,0x4c,0x9a,0x1d,0x27,0xca,0xc4,0xe9,0x50,0xe5,0x49,0x8c,0x3b,0x79,0x8a,0xb4, + 0x09,0x34,0xa8,0x50,0x84,0x1e,0x91,0x26,0x3d,0xba,0xb0,0xc0,0xd2,0xa2,0x46,0x99, + 0x16,0x2c,0xe0,0xf4,0xe9,0x48,0xa2,0x4c,0x8d,0x52,0xbd,0xca,0x35,0x2a,0x4f,0xac, + 0x0b,0xb6,0x76,0xfd,0xf8,0x33,0x2b,0xd8,0xaa,0x55,0x47,0x4a,0x3d,0x78,0xd6,0xe3, + 0x01,0x04,0x55,0xd7,0x3e,0x4c,0x7b,0x55,0xae,0xc3,0xaa,0x6f,0xd5,0x1e,0x2c,0x60, + 0x77,0x60,0x5a,0x03,0x75,0x11,0xf2,0x3d,0x3a,0xd8,0x6f,0x46,0x03,0x88,0x03,0x0b, + 0x4c,0x30,0xd0,0x40,0x61,0x9a,0x70,0xa9,0xa6,0x3c,0x8c,0x38,0xf1,0x53,0x82,0x88, + 0x1f,0xbf,0xcc,0x78,0x40,0xf2,0xdf,0xca,0x80,0x3d,0x1a,0x30,0x98,0x19,0xe7,0x48, + 0xcf,0x94,0x09,0x10,0xa8,0x2c,0x7a,0x74,0xe3,0xd2,0x34,0x2d,0x67,0xac,0x8a,0x38, + 0x81,0xea,0xd5,0xb2,0x2b,0x2f,0x00,0xad,0x99,0x25,0xe8,0xd0,0x08,0x2a,0xdb,0x3e, + 0x70,0x5b,0x76,0xf0,0xdf,0x8e,0x63,0xff,0x3e,0x6e,0x20,0xc1,0xf0,0x03,0xc4,0x13, + 0x00,0xa7,0xcc,0x1b,0x26,0x72,0xe1,0xce,0x09,0x40,0xdf,0xee,0xbc,0x35,0xf2,0xde, + 0x21,0x6b,0xff,0xff,0x76,0x4e,0x7e,0x3b,0xf7,0x04,0xd4,0x9d,0x57,0x6f,0xd9,0x3c, + 0xc1,0x01,0xe9,0xb5,0xc9,0x3f,0x37,0x4f,0x40,0x7d,0xed,0xf7,0xeb,0x57,0xb6,0x87, + 0x0e,0xbf,0x7d,0x79,0xf3,0xd0,0xd5,0x07,0x9f,0x73,0xfc,0x65,0x06,0xde,0x45,0xfb, + 0x05,0x28,0x9d,0x7c,0xee,0x01,0x18,0x9d,0x7a,0xff,0xbd,0x57,0x40,0x02,0x07,0x5a, + 0x94,0xe0,0x7b,0x0c,0x66,0x47,0x5f,0x86,0x11,0x62,0x28,0x5d,0x49,0xed,0x69,0xf7, + 0x20,0x87,0x22,0x0a,0xc8,0xe1,0x7c,0xe4,0xb9,0xc6,0x91,0x7f,0xfc,0x9d,0x48,0x9e, + 0x76,0x2e,0xbe,0xd8,0xa2,0x7a,0x20,0xb1,0x18,0xa3,0x7c,0x26,0xc6,0x38,0x23,0x8d, + 0x08,0xe2,0x78,0xe3,0x8f,0x19,0x7a,0xc8,0xa3,0x85,0x40,0x16,0x49,0x62,0x86,0x2a, + 0x46,0xe4,0x9f,0x91,0x4c,0xba,0x48,0x64,0x93,0x50,0x72,0x98,0xe4,0x43,0x4b,0x3a, + 0x17,0x40,0x00,0x51,0x72,0x78,0xa5,0x94,0x12,0x55,0x99,0xc0,0x95,0x01,0x00,0x90, + 0xa5,0x7c,0x00,0x80,0xc9,0x61,0x97,0x19,0x5e,0x09,0xc0,0x9a,0x63,0x26,0xb0,0x66, + 0x99,0x58,0x66,0x88,0x26,0x83,0x6a,0x0e,0x30,0x80,0x98,0x51,0x02,0x60,0x27,0x9c, + 0x67,0x46,0x84,0x40,0x9a,0x61,0xee,0x89,0x27,0x93,0x6b,0xee,0xb9,0x25,0x83,0x15, + 0x4e,0x94,0xa3,0x74,0x6a,0xbe,0x09,0xe5,0x9b,0x70,0x7a,0xe9,0x95,0x42,0x08,0x08, + 0x69,0x25,0x98,0x87,0x32,0x89,0x69,0xa6,0xd9,0x25,0xaa,0xe8,0x88,0x8c,0x82,0xe9, + 0xa5,0x9b,0xce,0x0d,0x2a,0x9f,0x01,0x98,0x56,0xf9,0x96,0x45,0x95,0x82,0x2a,0x65, + 0x9c,0xa4,0xc6,0x7e,0xfa,0xe5,0xa8,0x38,0x76,0x56,0xd3,0x86,0x48,0x9a,0xe9,0xa8, + 0x9b,0x6c,0x8a,0x4a,0x62,0x80,0x93,0x36,0xd4,0xea,0x76,0x8b,0x6e,0x0a,0xe9,0xb1, + 0x98,0x66,0x28,0xe2,0xaa,0x1c,0x21,0xb0,0x6c,0x80,0x02,0xc6,0x89,0x2a,0x00,0x06, + 0x40,0x5a,0x2d,0xb5,0x56,0x66,0xf7,0x2c,0xb3,0x20,0x0d,0x0b,0xa0,0x6a,0xe4,0x05, + 0xd0,0x1e,0x9b,0xd2,0x99,0xba,0x2d,0x74,0xc1,0x76,0x74,0x2e,0xb1,0xb7,0xd5,0x47, + 0xae,0x6d,0xeb,0x02,0xeb,0x52,0x46,0xf1,0x3a,0x68,0xaf,0x83,0x04,0x38,0x05,0x59, + 0x01,0xf5,0xde,0x8b,0xaf,0xbe,0x42,0xcd,0xa6,0x9a,0xbf,0xf6,0xe6,0x0b,0xd6,0x57, + 0x02,0x0f,0x4c,0x9f,0x6a,0x62,0xf5,0x65,0xd0,0x69,0x54,0xa5,0xe5,0xf0,0xc4,0x02, + 0x05,0x04,0x00,0x21,0xf9,0x04,0x09,0x0a,0x00,0x0b,0x00,0x2c,0x00,0x00,0x00,0x00, + 0x40,0x00,0x40,0x00,0x00,0x08,0xff,0x00,0x17,0x08,0x1c,0x48,0xb0,0xa0,0xc1,0x83, + 0x08,0x13,0x2a,0x5c,0xc8,0xb0,0x21,0xc1,0x03,0x0e,0x23,0x4a,0x9c,0x48,0xb1,0xa2, + 0xc5,0x8b,0x18,0x33,0x0a,0x44,0x60,0x90,0xa3,0xc6,0x8f,0x0c,0x11,0x78,0x04,0xa9, + 0x11,0xe2,0x41,0x91,0x23,0x49,0xaa,0x44,0x89,0x52,0x25,0xc9,0x02,0x2c,0x11,0xc0, + 0x94,0xe9,0x12,0x63,0x81,0x9b,0x33,0x63,0x8a,0x2c,0x50,0xb3,0x22,0x4e,0x96,0x07, + 0x74,0xe2,0x2c,0x98,0xb2,0xa7,0xc1,0x9f,0x3a,0x63,0xde,0x34,0xea,0x10,0x69,0x52, + 0x96,0x4b,0x13,0x9a,0x64,0xea,0x74,0xe7,0xd3,0xa8,0x0b,0x78,0x32,0x3d,0x5a,0xf5, + 0xe9,0x4e,0xad,0x59,0xc1,0x6e,0x15,0x88,0x33,0xa7,0x57,0x94,0x58,0xb1,0x8e,0x2d, + 0x7b,0x56,0xa9,0xd8,0xa1,0x6b,0xd9,0x26,0x4d,0x20,0x32,0xa8,0x4c,0xb1,0x5f,0xc7, + 0x86,0xbd,0xd9,0x16,0x6d,0xc7,0xbb,0x7a,0xbb,0xb2,0xa4,0xeb,0x97,0x68,0xde,0xad, + 0x82,0x51,0x12,0xa6,0x69,0xf8,0x30,0xe2,0x99,0x76,0x81,0x12,0x16,0xbb,0x11,0x2a, + 0xe5,0x9e,0x66,0x07,0x1f,0x88,0x6c,0x38,0xb2,0x5a,0x92,0x29,0x23,0xc7,0xdc,0x7c, + 0x60,0xf1,0x68,0xcf,0x97,0x3f,0x8a,0x1c,0xc8,0x59,0x31,0x69,0xd1,0x28,0x49,0xa3, + 0x4d,0xad,0x5a,0xa0,0x6c,0x8e,0x06,0x0c,0x20,0x78,0x5d,0xba,0x6e,0x6c,0xd1,0xb4, + 0x55,0xca,0x36,0xb0,0x20,0xb7,0x01,0xde,0xb0,0x8f,0x03,0xd7,0xbb,0x59,0x24,0xf1, + 0xe2,0xc8,0xed,0x1a,0x57,0xce,0xf2,0xb9,0x51,0xd2,0xba,0x47,0x1a,0x48,0xc0,0x3b, + 0xc1,0xf4,0xdc,0xcd,0xa7,0x6f,0xff,0xdd,0x9c,0xbb,0x20,0xf8,0xd7,0xe2,0xa1,0x93, + 0x2f,0xcf,0x74,0xbd,0xc1,0xf3,0xeb,0xd9,0x17,0x57,0x6e,0x9c,0xe9,0x77,0xf3,0xe7, + 0xbd,0xa7,0x17,0x08,0xbe,0x7e,0xcf,0xed,0x07,0xb0,0xf7,0xdd,0x71,0xfa,0x0d,0x38, + 0x90,0x71,0xfa,0xfd,0x97,0xc0,0x82,0xde,0xcd,0x97,0x1b,0x83,0x0b,0x0e,0xe8,0x5f, + 0x71,0x11,0x5a,0x47,0xd2,0x76,0x10,0x16,0x98,0x61,0x85,0xd3,0x15,0xc8,0x1f,0x77, + 0x0b,0xba,0x84,0xe1,0x86,0x24,0x32,0xd8,0x21,0x87,0x14,0x32,0x28,0x62,0x89,0x2c, + 0x72,0x98,0xe1,0x83,0x19,0x5e,0xd8,0x62,0x8b,0x30,0xce,0x98,0x00,0x48,0x23,0xda, + 0xa8,0x63,0x8b,0x1a,0xe5,0x48,0x22,0x01,0x3b,0xea,0xd8,0x63,0x90,0x2c,0x02,0x29, + 0x64,0x46,0x3e,0x6e,0x68,0x24,0x91,0x25,0x12,0x90,0xd1,0x6e,0x2d,0x1e,0xb0,0x64, + 0x91,0x3a,0x3a,0x89,0xd1,0x6e,0x53,0x42,0x48,0x5a,0x96,0x19,0x4a,0x69,0x23,0x01, + 0x53,0x59,0xb4,0xdb,0x66,0x59,0x82,0x49,0x5a,0x94,0xa5,0x35,0xf9,0xda,0x93,0xc8, + 0x11,0x00,0x24,0x6f,0x5c,0x2e,0x68,0x26,0x97,0x66,0xf2,0x76,0x25,0x72,0x37,0x45, + 0xc7,0x65,0x77,0x0c,0x12,0x00,0x40,0x01,0xd1,0xdd,0xf9,0xda,0x4d,0x00,0x00,0xa0, + 0x27,0x84,0x75,0x92,0x29,0x67,0xa1,0x7f,0x22,0x27,0x28,0x69,0x05,0x00,0xb0,0xa0, + 0xa1,0x6d,0xba,0x99,0x28,0x6f,0x92,0x26,0xd0,0xa8,0x9d,0x17,0x21,0x90,0x68,0xa4, + 0x93,0x52,0x8a,0xe9,0x66,0xa2,0x0e,0x9a,0xe9,0xa6,0x64,0x5a,0x29,0xa6,0xa5,0x9b, + 0x11,0xca,0xe8,0xa0,0xa4,0xc6,0x8f,0x7a,0x00,0xa0,0x90,0x32,0x8a,0xaa,0x91,0x4f, + 0xca,0xd9,0x6a,0x59,0x90,0x02,0x5a,0x28,0xa9,0x86,0xe6,0xb9,0x2b,0x4e,0x8a,0xd2, + 0xa5,0x11,0x02,0x7d,0x12,0x50,0x16,0xad,0x38,0x09,0x60,0x6b,0xa1,0x02,0x10,0x3b, + 0x6b,0x59,0x53,0x16,0x25,0x66,0x86,0xd2,0x4e,0x1b,0xe9,0xb3,0x7f,0x66,0x8b,0x53, + 0x86,0xd6,0x5e,0xfb,0x23,0x98,0x38,0x71,0x5b,0x28,0xb1,0x6e,0x96,0x18,0xae,0xb8, + 0x24,0x6a,0x6b,0x6e,0xb7,0x80,0xb2,0xb8,0x2e,0xbb,0x1b,0x2e,0x6b,0x6e,0x59,0xf2, + 0xba,0x24,0x13,0x89,0xf1,0x26,0xe0,0xeb,0xab,0x99,0xce,0xca,0xef,0xbc,0x4f,0x16, + 0xc0,0xa2,0xc1,0x07,0xfc,0xaa,0xe9,0xc1,0x04,0x83,0xb4,0x2f,0x8b,0x85,0xb6,0x08, + 0x93,0x5e,0x04,0x3d,0x4c,0xe4,0xc4,0x14,0xff,0x65,0xf1,0xc0,0xab,0x65,0xbc,0xd0, + 0x59,0x1e,0x87,0xcc,0x50,0x40,0x00,0x21,0xf9,0x04,0x09,0x0a,0x00,0x0b,0x00,0x2c, + 0x00,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0x00,0x08,0xff,0x00,0x17,0x08,0x1c,0x48, + 0xb0,0xa0,0xc1,0x83,0x08,0x13,0x2a,0x5c,0xc8,0xb0,0xa1,0xc3,0x87,0x10,0x21,0x22, + 0x68,0x78,0x20,0xa2,0x45,0x87,0x08,0x26,0x5e,0xdc,0xc8,0x51,0xa0,0xc6,0x83,0x1f, + 0x3b,0x8a,0xc4,0x38,0xb2,0x64,0xc1,0x90,0x03,0x33,0x9a,0x14,0x59,0x31,0x25,0xca, + 0x05,0x08,0x08,0xbc,0x5c,0xb9,0x51,0x25,0xc1,0x8c,0x38,0x69,0x8a,0xcc,0x39,0xb0, + 0x40,0x46,0x99,0x3c,0x75,0x46,0xc4,0x19,0xd2,0x67,0xcc,0x8c,0x07,0x82,0x0a,0x65, + 0x68,0xd4,0xa6,0x40,0xa3,0x07,0x92,0xe2,0x4c,0xba,0x94,0xa9,0x4f,0xaa,0x04,0x8d, + 0x12,0x38,0x00,0x94,0x68,0x55,0x85,0x05,0xa2,0x3a,0x7d,0x5a,0xc0,0x80,0x01,0xb1, + 0x53,0xc7,0x7e,0xcd,0x2a,0xf6,0x60,0xd9,0xb3,0x52,0x11,0xc4,0x5d,0xeb,0x36,0x2a, + 0xc2,0xb7,0x5b,0x0d,0xc8,0x8d,0x3b,0x73,0xad,0x5d,0xb7,0x6f,0xb9,0x9e,0xf5,0xa8, + 0x96,0xae,0xc0,0x96,0x1e,0xb3,0x9a,0x15,0x8c,0xb8,0xb0,0xe1,0x05,0x88,0x0d,0x1a, + 0x48,0x10,0xd5,0x40,0x81,0x9b,0x8f,0x21,0xc2,0x3d,0x30,0x38,0xb3,0xc2,0xc8,0x04, + 0x37,0x6f,0xf5,0x9c,0xf0,0x6f,0x41,0x03,0x5b,0xa3,0x8e,0x26,0x7d,0x90,0xb3,0x81, + 0xd3,0xa8,0x55,0xe7,0x1d,0x98,0x80,0x35,0x4c,0xd7,0xaf,0x05,0x9a,0x8d,0xcd,0x35, + 0x41,0x67,0xdb,0x1e,0x77,0x0b,0x37,0x4b,0x99,0x2b,0x01,0xdf,0xa6,0x6d,0xbf,0x1d, + 0x3e,0x39,0x01,0x81,0xe7,0x09,0xa2,0x9b,0x05,0xfe,0x14,0xc1,0xf0,0xe8,0xd1,0x8f, + 0x63,0xf7,0x6d,0x99,0xba,0xcf,0xeb,0xdb,0xc3,0xef,0xff,0xa6,0xbe,0xe0,0xfb,0xd9, + 0xe6,0xe1,0xb7,0x9b,0xed,0x6b,0xd8,0x3c,0xf1,0xf4,0xea,0xf5,0xb2,0xa7,0x6b,0x7d, + 0x77,0xfa,0x03,0xf1,0xf5,0x52,0x07,0x0f,0x5f,0xfa,0xfa,0xf9,0x5f,0x09,0xd7,0x5f, + 0x7e,0xfa,0xd1,0x95,0xdb,0x40,0x02,0x3a,0xb7,0x9d,0x76,0xd2,0x71,0xb7,0x1e,0x6b, + 0xf6,0x0d,0x98,0x9e,0x70,0x9e,0xf9,0x87,0x1e,0x83,0x0a,0x4e,0x48,0xa1,0x61,0xd8, + 0xbd,0x47,0x19,0x86,0x5b,0x85,0x77,0xdc,0x86,0x6b,0x6d,0x35,0x62,0x73,0xa9,0x31, + 0xa8,0xda,0x76,0xf8,0x39,0x78,0xe0,0x52,0xa9,0x89,0x18,0x55,0x54,0xd8,0xcd,0xa8, + 0x62,0x87,0xd3,0x55,0x95,0xda,0x8a,0xce,0xcd,0xb8,0xa2,0x8f,0xbd,0xa5,0xe8,0x22, + 0x8c,0x3e,0x1e,0xb7,0x23,0x90,0xc5,0x15,0x59,0xa4,0x83,0x42,0x3d,0xa7,0x24,0x90, + 0x50,0x46,0x09,0x65,0x8e,0x34,0x1d,0x29,0xe5,0x95,0x58,0xba,0x56,0x65,0x92,0x59, + 0x76,0x19,0xe5,0x8b,0x23,0x69,0x67,0xa5,0x97,0x5d,0x1e,0xb7,0xa5,0x73,0x04,0x04, + 0x90,0xe5,0x98,0x3b,0xaa,0x29,0x9b,0x73,0x55,0x6a,0x17,0xc0,0x9c,0x63,0xca,0x06, + 0xe5,0x73,0x69,0xd2,0xb9,0x60,0x9c,0xd1,0x05,0x00,0xc0,0x9f,0x78,0x9a,0x48,0x00, + 0x00,0xcf,0x01,0x50,0x64,0xa1,0x7f,0x06,0x20,0x22,0x4d,0xdb,0xf9,0x19,0x15,0x00, + 0x68,0x06,0x50,0xe8,0xa4,0x69,0x62,0x67,0xe8,0x01,0x00,0x28,0xba,0xe7,0x4a,0x08, + 0x60,0xe7,0x28,0xa6,0x94,0xcd,0x99,0xc0,0x9f,0xd1,0x91,0x3a,0x27,0x7e,0x97,0x66, + 0x9a,0x1e,0x4d,0x9d,0x7a,0xfa,0x27,0xa4,0x73,0xaa,0x91,0xf9,0xea,0xab,0x07,0xc4, + 0x3a,0x6a,0xa2,0xe9,0x01,0x38,0x54,0xa3,0xb6,0xc6,0x3a,0xeb,0xaf,0xa2,0xc6,0xaa, + 0xe9,0x76,0x97,0xad,0x54,0x40,0x78,0xa2,0x26,0xe0,0xeb,0xaf,0xaf,0x26,0x9b,0xec, + 0x82,0xba,0xee,0x0a,0xdf,0xb2,0xcc,0x66,0x3a,0x6c,0x7a,0x04,0x14,0x4b,0xd3,0xb1, + 0xf7,0x51,0xcb,0xec,0xa9,0xfd,0x61,0xa5,0x53,0x4c,0xc8,0x0a,0x5b,0xad,0xb5,0xd7, + 0x62,0x97,0x6d,0x55,0x61,0x61,0xe8,0x66,0xad,0x98,0xd2,0x7a,0x69,0xad,0x32,0x46, + 0xcb,0xd1,0x5e,0x18,0xf6,0x46,0xd9,0x9f,0x2d,0x46,0xd7,0x2f,0x9e,0xe2,0x7e,0x85, + 0x40,0x58,0xc6,0xcd,0x68,0x29,0xa4,0xea,0xda,0xd9,0x56,0x66,0x7b,0x1d,0x1a,0x28, + 0xc0,0x40,0xfa,0xc4,0xda,0xc0,0x64,0xce,0x58,0x80,0xb6,0xb6,0x65,0x74,0x31,0x96, + 0x46,0x91,0x67,0x10,0x51,0x20,0xdb,0xeb,0xb1,0x50,0x01,0x01,0x00,0x21,0xf9,0x04, + 0x09,0x0a,0x00,0x0b,0x00,0x2c,0x00,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0x00,0x08, + 0xff,0x00,0x17,0x08,0x1c,0x48,0xb0,0xa0,0xc1,0x83,0x07,0x0f,0x20,0x5c,0xc8,0xb0, + 0xa1,0x43,0x81,0x0a,0x1f,0x4a,0x9c,0x48,0x91,0x62,0xc4,0x8a,0x18,0x33,0x26,0x44, + 0xa0,0xb1,0x63,0xc7,0x03,0x07,0x38,0x7a,0x1c,0x09,0xb1,0x21,0xc8,0x90,0x24,0x49, + 0x46,0x14,0x59,0xb0,0x00,0x48,0x04,0x2c,0x53,0x8e,0x84,0xd9,0xd2,0x65,0xc8,0x98, + 0x32,0x3b,0xd2,0x1c,0x58,0xc0,0x26,0x4c,0x9c,0x39,0x35,0xc6,0x84,0xf9,0xd2,0x00, + 0xd0,0xa0,0x33,0x61,0x1a,0x58,0x8a,0x14,0x29,0xd1,0xa5,0x06,0x9a,0x06,0x45,0x00, + 0x35,0xaa,0xd4,0x9c,0x55,0xad,0x5e,0xad,0x78,0xb4,0xaa,0xc1,0xa3,0x5b,0x0b,0xfe, + 0x34,0x08,0x75,0xe1,0xc5,0xb0,0x62,0xc7,0x12,0x2c,0x8b,0x96,0xa2,0xd2,0x9d,0x03, + 0x99,0xb6,0x75,0xbb,0x14,0xa8,0xdc,0xb9,0x66,0x09,0x52,0x35,0x7a,0x50,0xeb,0xc0, + 0xb3,0x78,0x3f,0x06,0x56,0x09,0x76,0xf0,0xdf,0x85,0x6a,0x0d,0xeb,0x75,0xf8,0xb3, + 0x30,0x5e,0xb8,0x08,0xdf,0x2a,0x4e,0xcb,0x11,0x6c,0xe3,0xc1,0x38,0x2f,0x43,0xd6, + 0xeb,0x78,0xae,0xe6,0xcd,0x02,0x3b,0x7b,0x66,0x79,0x79,0xf2,0xc1,0xa3,0x6f,0x13, + 0x9b,0x5e,0x00,0x9a,0x75,0x63,0xd5,0xac,0x0d,0x83,0x6e,0x6c,0x14,0x76,0xeb,0xab, + 0xb6,0x69,0xd7,0xce,0x7c,0xbb,0xe9,0xcf,0x02,0x3c,0x75,0xef,0x1e,0x0a,0x5b,0xea, + 0x5e,0x98,0x3d,0x93,0x2b,0xad,0x9a,0x38,0x35,0x5a,0x02,0x04,0x8e,0x23,0x48,0x5e, + 0x60,0x39,0x54,0xb5,0xaf,0x7b,0x8f,0x84,0x0e,0x1d,0x64,0x6d,0xea,0xd5,0xb3,0xfe, + 0xff,0x0e,0x6f,0x20,0xba,0xf6,0x8e,0x09,0xd2,0x27,0xe8,0x7e,0x73,0xba,0x72,0xe6, + 0xc8,0x7b,0xee,0x7d,0x79,0x1e,0xa3,0xfa,0xf4,0xdc,0x09,0xdc,0x54,0xbe,0xbc,0x31, + 0xff,0x93,0xdc,0x05,0x75,0x1f,0x7e,0xf9,0x21,0xa7,0x5f,0x76,0x08,0xe8,0xc7,0x5f, + 0x77,0xd0,0xad,0x27,0x93,0x01,0x03,0x12,0x08,0x5d,0x82,0xfa,0x1d,0x60,0x5e,0x63, + 0xfa,0x11,0x20,0x5f,0x7e,0x0d,0x26,0xf0,0x60,0x84,0xeb,0x49,0xc8,0xe1,0x6b,0x19, + 0x86,0xd4,0x21,0x77,0xe9,0xa5,0x04,0x21,0x88,0x04,0xa8,0xd7,0xe1,0x7a,0x17,0xc2, + 0xd4,0x22,0x87,0xf7,0xb5,0x98,0x80,0x5f,0x1a,0xad,0x18,0xa1,0x8d,0x3b,0x4e,0x28, + 0x23,0x8f,0x2f,0x0e,0x88,0x63,0x46,0x3a,0xa6,0xd7,0x13,0x88,0x35,0x4e,0x18,0x64, + 0x02,0x47,0x46,0x38,0x24,0x46,0x45,0xf6,0x04,0x00,0x92,0x35,0x9a,0xc8,0x63,0x02, + 0x00,0x00,0xd0,0xe4,0x7d,0x4f,0x56,0x14,0x65,0x96,0x53,0x52,0x09,0xe3,0x92,0x60, + 0x16,0xe0,0x24,0x49,0x5f,0x0a,0x20,0x40,0x98,0x54,0xa2,0xa8,0x1e,0x00,0x6a,0x6a, + 0x79,0xe6,0x48,0x69,0xae,0xc9,0x26,0x92,0x57,0x66,0x19,0xa7,0x99,0x03,0x02,0x37, + 0xd3,0x80,0x60,0xca,0x09,0x68,0x7a,0x77,0x12,0x1a,0x28,0x88,0x7e,0x7a,0x84,0x40, + 0x9f,0xd4,0xa9,0xc7,0x67,0x98,0x61,0xf2,0xc9,0x64,0xa3,0x11,0x26,0xaa,0x53,0xa5, + 0x4d,0x1e,0x70,0x64,0x96,0x86,0x4e,0x7a,0x80,0x91,0x5b,0x5e,0x69,0xa9,0x50,0x62, + 0x4e,0xea,0x52,0xa0,0x59,0x6a,0xba,0xa5,0x98,0xa3,0x92,0x8a,0xa4,0xaa,0x52,0xa2, + 0x66,0x4a,0xdd,0xa7,0x57,0x86,0x68,0xa4,0x4c,0x8b,0x22,0x09,0x1e,0xaa,0x5a,0x52, + 0x3a,0xe0,0x8c,0x1a,0xe6,0x94,0x6b,0xa5,0xe9,0x69,0xca,0xab,0xa4,0x66,0xd6,0xca, + 0x9d,0x68,0x5c,0x05,0xf9,0xa2,0x99,0x07,0x80,0xc9,0xe4,0xaf,0x36,0x16,0x68,0x9c, + 0x9b,0x6e,0xbe,0x59,0xa8,0x88,0xd6,0x5e,0x55,0x00,0x87,0x4b,0xb2,0xc8,0x5e,0xb7, + 0x5b,0xf5,0x54,0xa2,0x85,0xe0,0x82,0x7b,0x12,0xba,0xd5,0x3d,0x36,0x1d,0x7b,0xeb, + 0xc6,0x0b,0x12,0x77,0xd5,0x31,0xeb,0x9b,0x81,0x1c,0xae,0x5b,0xaf,0xbd,0x6d,0xed, + 0xfb,0x5a,0xab,0xab,0x05,0x16,0x10,0x00,0x3b}; diff --git a/examples/BuildingBlocks/Images/DisplayImageFromWeb/DisplayImageFromWeb.ino b/examples/BuildingBlocks/Images/DisplayImageFromWeb/DisplayImageFromWeb.ino index 228ee29..3760210 100644 --- a/examples/BuildingBlocks/Images/DisplayImageFromWeb/DisplayImageFromWeb.ino +++ b/examples/BuildingBlocks/Images/DisplayImageFromWeb/DisplayImageFromWeb.ino @@ -64,21 +64,21 @@ #include "WebRequest.h" -// ------------------------------------- +// -------------------------------- // ------- Matrix Config ------ -// ------------------------------------- +// -------------------------------- -const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. -const int panelResY = 64; // Number of pixels tall of each INDIVIDUAL panel module. -const int panel_chain = 1; // Total number of panels chained one to another +const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. +const int panelResY = 64; // Number of pixels tall of each INDIVIDUAL panel module. +const int panel_chain = 1; // Total number of panels chained one to another. // See the "displaySetup" method for more display config options //------------------------------------------------------------------------------------------------------------------ -// ------------------------------------- +// --------------------------------------------------- //------- Other Config - Replace the following! ------ -// ------------------------------------- +// --------------------------------------------------- char ssid[] = "SSID"; // your network SSID (name) char password[] = "password"; // your network password @@ -111,9 +111,9 @@ void JPEGDraw(JPEGDRAW *pDraw) void displaySetup() { HUB75_I2S_CFG mxconfig( - panelResX, // module width - panelResY, // module height - panel_chain // Chain length + panelResX, // Module width + panelResY, // Module height + panel_chain // Chain length ); // If you are using a 64x64 matrix you need to pass a value for the E pin diff --git a/examples/BuildingBlocks/Text/CenterText/CenterText.ino b/examples/BuildingBlocks/Text/CenterText/CenterText.ino index 77e09af..d0b1143 100644 --- a/examples/BuildingBlocks/Text/CenterText/CenterText.ino +++ b/examples/BuildingBlocks/Text/CenterText/CenterText.ino @@ -1,5 +1,4 @@ /******************************************************************* - An Example to show how to center text. Parts Used: @@ -34,13 +33,13 @@ // Can be installed from the library manager // https://github.com/adafruit/Adafruit-GFX-Library -// ------------------------------------- +// -------------------------------- // ------- Matrix Config ------ -// ------------------------------------- +// -------------------------------- -const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. -const int panelResY = 64; // Number of pixels tall of each INDIVIDUAL panel module. -const int panel_chain = 1; // Total number of panels chained one to another +const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. +const int panelResY = 64; // Number of pixels tall of each INDIVIDUAL panel module. +const int panel_chain = 1; // Total number of panels chained one to another. // See the "displaySetup" method for more display config options @@ -56,9 +55,9 @@ uint16_t myBLUE = dma_display->color565(0, 0, 255); void displaySetup() { HUB75_I2S_CFG mxconfig( - panelResX, // module width - panelResY, // module height - panel_chain // Chain length + panelResX, // Module width + panelResY, // Module height + panel_chain // Chain length ); // If you are using a 64x64 matrix you need to pass a value for the E pin @@ -94,15 +93,15 @@ void setup() { dma_display->setTextColor(myBLUE); // Pointers to this variable will be passed into getTextBounds, - // they will be updated from inside the method + // they will be updated from inside the method int16_t xOne, yOne; uint16_t w, h; // This method updates the variables with what width (w) and height (h) // the give text will have. - + dma_display->getTextBounds("HI", 0, 0, &xOne, &yOne, &w, &h); - + int xPosition = dma_display->width() / 2 - w / 2 + 1; // The 1 at the end is to combat what seems like a bug somewhere: // https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA/issues/43 diff --git a/examples/BuildingBlocks/Text/ScrollingText/ScrollingText.ino b/examples/BuildingBlocks/Text/ScrollingText/ScrollingText.ino index 9d2dfce..4061003 100644 --- a/examples/BuildingBlocks/Text/ScrollingText/ScrollingText.ino +++ b/examples/BuildingBlocks/Text/ScrollingText/ScrollingText.ino @@ -14,7 +14,6 @@ Twitter: https://twitter.com/witnessmenow *******************************************************************/ - // ---------------------------- // Additional Libraries - each one of these will need to be installed. // ---------------------------- @@ -34,15 +33,15 @@ // Can be installed from the library manager // https://github.com/adafruit/Adafruit-GFX-Library -// ------------------------------------- +// -------------------------------- // ------- Matrix Config ------ -// ------------------------------------- +// -------------------------------- -const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. -const int panelResY = 64; // Number of pixels tall of each INDIVIDUAL panel module. -const int panel_chain = 1; // Total number of panels chained one to another +const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. +const int panelResY = 64; // Number of pixels tall of each INDIVIDUAL panel module. +const int panel_chain = 1; // Total number of panels chained one to another. -#define ENABLE_DOUBLE_BUFFER 1 // This is a good example to show the difference the +#define ENABLE_DOUBLE_BUFFER 1 // This is a good example to show the difference the // double buffer makes, it doesn't flash as much // comment this out to test without it @@ -69,9 +68,9 @@ uint16_t myBLUE = dma_display->color565(0, 0, 255); void displaySetup() { HUB75_I2S_CFG mxconfig( - panelResX, // module width - panelResY, // module height - panel_chain // Chain length + panelResX, // Module width + panelResY, // Module height + panel_chain // Chain length ); // If you are using a 64x64 matrix you need to pass a value for the E pin diff --git a/examples/Projects/FallingSand/FPS.h b/examples/Projects/FallingSand/FPS.h index 400c335..e17a3d3 100644 --- a/examples/Projects/FallingSand/FPS.h +++ b/examples/Projects/FallingSand/FPS.h @@ -9,7 +9,7 @@ Written by @tetra3dprint Twiter: https://twitter.com/tetra3dprint Github: https://github.com/tetra3dprint - + *******************************************************************/ //------------------------------------------------------------------------------------------------------------------ class FPS @@ -37,11 +37,11 @@ class FPS FrameCount++; currentMillis = millis(); passedMillis = currentMillis - startMillis; - if (passedMillis > oneThou) { + if (passedMillis > oneThou) { long remainder = passedMillis - oneThou; startMillis = currentMillis + remainder; // already started the next 1000 millis frame float FPM = (float)FrameCount / (float)passedMillis; - FrameCount = FPM * (float)remainder; // number of frames already rendered in the next 1000 millis frame + FrameCount = FPM * (float)remainder; // number of frames already rendered in the next 1000 millis frame FPSActual = FPM * oneThouF; // adjust the FPS to exactly 1000 millis } } diff --git a/examples/Projects/FallingSand/FallingSand.ino b/examples/Projects/FallingSand/FallingSand.ino index bc6d9d0..4a449c7 100644 --- a/examples/Projects/FallingSand/FallingSand.ino +++ b/examples/Projects/FallingSand/FallingSand.ino @@ -10,11 +10,9 @@ Tindie: https://www.tindie.com/stores/brianlough/ Twitter: https://twitter.com/witnessmenow - Parts: - ESP32 D1 Mini * - https://s.click.aliexpress.com/e/_dSi824B - ESP32 I2S Matrix Shield (From Brian's Tindie) = https://www.tindie.com/products/brianlough/esp32-i2s-matrix-shield/ + Parts Used: + ESP32 Trinity - https://github.com/witnessmenow/ESP32-Trinity - * * = Affilate If you find what I do useful and would like to support me, please consider becoming a sponsor on Github https://github.com/sponsors/witnessmenow/ @@ -55,24 +53,24 @@ // Can be installed from the library manager // https://github.com/adafruit/Adafruit-GFX-Library -// ------------------------------------- +// -------------------------------- // ------- Matrix Config ------ -// ------------------------------------- +// -------------------------------- -const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. -const int panelResY = 64; // Number of pixels tall of each INDIVIDUAL panel module. -const int panel_chain = 1; // Total number of panels chained one to another +const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. +const int panelResY = 64; // Number of pixels tall of each INDIVIDUAL panel module. +const int panel_chain = 1; // Total number of panels chained one to another. // ------------------------------- // ------- Other Config ------ // ------------------------------- -#define CAP_BUTTONS 1 // Comment this out if not using a Trinity -#define TOUCH_THRESHOLD 40 // Bigger Threshold == more sensitive (resting is about 48) +#define CAP_BUTTONS 1 // Comment this out if not using a Trinity +#define TOUCH_THRESHOLD 40 // Bigger Threshold == more sensitive (resting is about 48) -#define SHOW_TIME 10 +#define SHOW_TIME 10 -#define MAX_FPS 100 // Maximum redraw rate, frames/second +#define MAX_FPS 100 // Maximum redraw rate, frames/second #define DISPLAY_FPS 50 //#define SHOW_FPS @@ -224,8 +222,8 @@ bool changeDriver = false; void displayReconfig() { HUB75_I2S_CFG mxconfig( - panelResX, // module width - panelResY, // module height + panelResX, // Module width + panelResY, // Module height panel_chain // Chain length ); diff --git a/examples/Projects/FallingSand/pallet.h b/examples/Projects/FallingSand/pallet.h index b87fe53..7bd5f8a 100644 --- a/examples/Projects/FallingSand/pallet.h +++ b/examples/Projects/FallingSand/pallet.h @@ -1,3 +1,3 @@ -const uint8_t PROGMEM pallet[] = {/* RGB888 R,G,B,R,G,B,R,G,B,... */ +const uint8_t PROGMEM pallet[] = {/* RGB888 R,G,B,R,G,B,R,G,B,... */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x05,0x00,0x00,0x0a,0x00,0x00,0x10,0x00,0x00,0x15,0x00,0x00,0x1b,0x00,0x00,0x20,0x00,0x00,0x25,0x00,0x00,0x2b,0x00,0x00,0x31,0x00,0x00,0x36,0x00,0x00,0x3c,0x00,0x00,0x41,0x00,0x00,0x46,0x00,0x00,0x4c,0x00,0x00,0x52,0x00,0x00,0x57,0x00,0x00,0x5d,0x00,0x00,0x62,0x00,0x00,0x68,0x00,0x00,0x6d,0x00,0x00,0x73,0x00,0x00,0x79,0x00,0x00,0x7e,0x00,0x00,0x83,0x00,0x00,0x89,0x00,0x00,0x8e,0x00,0x00,0x94,0x00,0x00,0x9a,0x00,0x00,0x9f,0x00,0x00,0xa5,0x00,0x00,0xaa,0x00,0x00,0xb0,0x00,0x00,0xb5,0x00,0x00,0xbb,0x00,0x00,0xc0,0x00,0x00,0xc6,0x00,0x00,0xcb,0x00,0x00,0xd1,0x00,0x00,0xd7,0x00,0x00,0xdc,0x00,0x00,0xe1,0x00,0x00,0xe6,0x00,0x00,0xe8,0x02,0x00,0xe9,0x08,0x00,0xe9,0x0f,0x00,0xe9,0x13,0x00,0xe9,0x16,0x00,0xe9,0x1b,0x00,0xe9,0x21,0x00,0xe9,0x26,0x00,0xe9,0x2a,0x00,0xe9,0x2e,0x00,0xe9,0x32,0x00,0xe9,0x37,0x00,0xe9,0x3b,0x00,0xe9,0x3f,0x00,0xe9,0x44,0x00,0xe9,0x4a,0x00,0xe9,0x4e,0x00,0xe9,0x52,0x00,0xe9,0x56,0x00,0xe9,0x5a,0x00,0xe9,0x5d,0x00,0xe9,0x63,0x00,0xe9,0x67,0x00,0xe9,0x6b,0x00,0xe9,0x71,0x00,0xe9,0x77,0x00,0xe9,0x78,0x00,0xe9,0x7c,0x00,0xe9,0x81,0x00,0xe9,0x86,0x00,0xe9,0x8b,0x00,0xe9,0x8f,0x00,0xe9,0x93,0x00,0xe9,0x99,0x00,0xe9,0x9d,0x00,0xe9,0xa0,0x00,0xe9,0xa4,0x00,0xe9,0xaa,0x00,0xe9,0xb0,0x00,0xe9,0xb4,0x00,0xe9,0xb5,0x00,0xe9,0xb9,0x00,0xe9,0xbe,0x00,0xe9,0xc3,0x00,0xe9,0xc9,0x00,0xe9,0xce,0x00,0xe9,0xd2,0x00,0xe9,0xd6,0x00,0xe9,0xd9,0x00,0xe9,0xdd,0x00,0xe9,0xe2,0x00,0xe9,0xe7,0x02,0xe9,0xe9,0x0e,0xe9,0xe9,0x1c,0xe9,0xe9,0x28,0xe9,0xe9,0x38,0xe9,0xe9,0x48,0xe9,0xe9,0x57,0xe9,0xe9,0x67,0xe9,0xe9,0x73,0xe9,0xe9,0x81,0xe9,0xe9,0x90,0xe9,0xe9,0xa1,0xe9,0xe9,0xb1,0xe9,0xe9,0xbf,0xe9,0xe9,0xcb,0xe9,0xe9,0xcb,0xe9,0xe9,0xcd,0xe9,0xe9,0xd9,0xe9,0xe9,0xe5,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe9,0xe8,0xe8,0xe8,0xe8,0xe8,0xe8,0xe8,0xe8,0xe8,0xe8,0xe8,0xe8,0xe7,0xe7,0xe7,0xe7,0xe7,0xe7,0xe6,0xe6,0xe6,0xe4,0xe4,0xe4,0xe3,0xe3,0xe3,0xe0,0xe0,0xe0,0xdc,0xdc,0xdc,0xd8,0xd8,0xd8,0xd2,0xd2,0xd2,0xca,0xca,0xca,0xc1,0xc1,0xc1,0xb7,0xb7,0xb7,0xab,0xab,0xab,0x9d,0x9d,0x9d,0x8f,0x8f,0x8f,0x81,0x81,0x81,0x72,0x72,0x72,0x64,0x64,0x64,0x56,0x56,0x56,0x4a,0x4a,0x4a,0x3e,0x3e,0x3e,0x33,0x33,0x33,0x2a,0x2a,0x2a,0x22,0x22,0x22,0x1b,0x1b,0x1b,0x16,0x16,0x16,0x11,0x11,0x11,0x0d,0x0d,0x0d,0x0b,0x0b,0x0b,0x08,0x08,0x08,0x07,0x07,0x07,0x06,0x06,0x06,0x05,0x05,0x05,0x04,0x04,0x04,0x03,0x03,0x03,0x03,0x03,0x03,0x02,0x02,0x02,0x02,0x02,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; diff --git a/examples/Projects/TrafficLight/TrafficLight.ino b/examples/Projects/TrafficLight/TrafficLight.ino index 43c4135..3df914e 100644 --- a/examples/Projects/TrafficLight/TrafficLight.ino +++ b/examples/Projects/TrafficLight/TrafficLight.ino @@ -34,13 +34,13 @@ // Can be installed from the library manager // https://github.com/adafruit/Adafruit-GFX-Library -// ------------------------------------- +// -------------------------------- // ------- Matrix Config ------ -// ------------------------------------- +// -------------------------------- -const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. -const int panelResY = 32; // Number of pixels tall of each INDIVIDUAL panel module. -const int panel_chain = 1; // Total number of panels chained one to another +const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. +const int panelResY = 32; // Number of pixels tall of each INDIVIDUAL panel module. +const int panel_chain = 1; // Total number of panels chained one to another. // See the "displaySetup" method for more display config options @@ -58,9 +58,9 @@ uint16_t myOrange = dma_display->color565(255, 165, 0); void displaySetup() { HUB75_I2S_CFG mxconfig( - panelResX, // module width - panelResY, // module height - panel_chain // Chain length + panelResX, // Module width + panelResY, // Module height + panel_chain // Chain length ); // If you are using a 64x64 matrix you need to pass a value for the E pin diff --git a/examples/Projects/WifiTetrisClock/WifiTetrisClock.ino b/examples/Projects/WifiTetrisClock/WifiTetrisClock.ino index bc81e82..3d6415e 100644 --- a/examples/Projects/WifiTetrisClock/WifiTetrisClock.ino +++ b/examples/Projects/WifiTetrisClock/WifiTetrisClock.ino @@ -5,10 +5,7 @@ For use with my I2S Matrix Shield. Parts Used: - ESP32 D1 Mini * - https://s.click.aliexpress.com/e/_dSi824B - ESP32 I2S Matrix Shield (From my Tindie) = https://www.tindie.com/products/brianlough/esp32-i2s-matrix-shield/ - - = Affilate + ESP32 Trinity - https://github.com/witnessmenow/ESP32-Trinity If you find what I do useful and would like to support me, please consider becoming a sponsor on Github @@ -68,17 +65,17 @@ char password[] = "password"; // your network key // https://en.wikipedia.org/wiki/List_of_tz_database_time_zones #define MYTIMEZONE "Europe/Dublin" -// ------------------------------------- +// -------------------------------- // ------- Matrix Config ------ -// ------------------------------------- +// -------------------------------- const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. const int panelResY = 32; // Number of pixels tall of each INDIVIDUAL panel module. const int panel_chain = 1; // Total number of panels chained one to another. -// ------------------------------------- +// ------------------------------- // ------- Clock Config ------ -// ------------------------------------- +// ------------------------------- // Sets whether the clock should be 12 hour format or not. bool twelveHourFormat = true; diff --git a/examples/Projects/WifiTetrisClockWifiManager/WifiTetrisClockWifiManager.ino b/examples/Projects/WifiTetrisClockWifiManager/WifiTetrisClockWifiManager.ino index 072d866..c325104 100644 --- a/examples/Projects/WifiTetrisClockWifiManager/WifiTetrisClockWifiManager.ino +++ b/examples/Projects/WifiTetrisClockWifiManager/WifiTetrisClockWifiManager.ino @@ -5,10 +5,7 @@ For use with my I2S Matrix Shield. Parts Used: - ESP32 D1 Mini * - https://s.click.aliexpress.com/e/_dSi824B - ESP32 I2S Matrix Shield (From my Tindie) = https://www.tindie.com/products/brianlough/esp32-i2s-matrix-shield/ - - = Affilate + ESP32 Trinity - https://github.com/witnessmenow/ESP32-Trinity If you find what I do useful and would like to support me, please consider becoming a sponsor on Github @@ -19,6 +16,7 @@ Tindie: https://www.tindie.com/stores/brianlough/ Twitter: https://twitter.com/witnessmenow *******************************************************************/ + // ---------------------------- // Library Defines - Need to be defined before library import // ---------------------------- @@ -85,24 +83,24 @@ // ------------------------------------- // Wifi network station credentials -char ssid[] = "SSID"; // your network SSID (name) -char password[] = "password"; // your network key +char ssid[] = "SSID"; // your network SSID (name) +char password[] = "password"; // your network key // Set a timezone using the following list // https://en.wikipedia.org/wiki/List_of_tz_database_time_zones #define MYTIMEZONE "Europe/Dublin" -// ------------------------------------- +// -------------------------------- // ------- Matrix Config ------ -// ------------------------------------- +// -------------------------------- const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. const int panelResY = 32; // Number of pixels tall of each INDIVIDUAL panel module. const int panel_chain = 1; // Total number of panels chained one to another. -// ------------------------------------- +// ------------------------------- // ------- Clock Config ------ -// ------------------------------------- +// ------------------------------- // Sets whether the clock should be 12 hour format or not. bool twelveHourFormat = true; @@ -113,9 +111,9 @@ bool twelveHourFormat = true; // When true, all digits will be replaced every minute. bool forceRefresh = true; -// ------------------------------------- +// ------------------------------- // ------- Other Config ------ -// ------------------------------------- +// ------------------------------- const int PIN_LED = 2; @@ -261,7 +259,7 @@ void configModeCallback (WiFiManager *myWiFiManager) { dma_display->setTextColor(tetris.tetrisBLUE); dma_display->setCursor(0, 0); dma_display->print(myWiFiManager->getConfigPortalSSID()); - + dma_display->setTextWrap(true); dma_display->setTextColor(tetris.tetrisRED); dma_display->setCursor(0, 8); diff --git a/examples/Projects/YouTubeLivestreamDraw/YouTubeLivestreamDraw.ino b/examples/Projects/YouTubeLivestreamDraw/YouTubeLivestreamDraw.ino index 39b81e9..6c34022 100644 --- a/examples/Projects/YouTubeLivestreamDraw/YouTubeLivestreamDraw.ino +++ b/examples/Projects/YouTubeLivestreamDraw/YouTubeLivestreamDraw.ino @@ -6,17 +6,13 @@ For use with my I2S Matrix Shield. - Parts: - ESP32 Mini Kit (ESP32 D1 Mini) * - https://s.click.aliexpress.com/e/_AYPehO (pick the CP2104 Drive version) - ESP32 I2S Matrix Shield (From my Tindie) = https://www.tindie.com/products/brianlough/esp32-i2s-matrix-shield/ - - * * = Affiliate + Parts Used: + ESP32 Trinity - https://github.com/witnessmenow/ESP32-Trinity If you find what I do useful and would like to support me, please consider becoming a sponsor on Github https://github.com/sponsors/witnessmenow/ - Written by Brian Lough YouTube: https://www.youtube.com/brianlough Tindie: https://www.tindie.com/stores/brianlough/ @@ -64,7 +60,7 @@ char ssid[] = "SSID"; // your network SSID (name) char password[] = "password"; // your network password -// You need 1 API key per roughly 2 hours of chat you plan to monitor +// You need 1 API key per roughly 2 hours of chat you plan to monitor // So you can pass in just one: #define YT_API_TOKEN "AAAAAAAAAABBBBBBBBBBBCCCCCCCCCCCDDDDDDDDDDD" @@ -83,9 +79,9 @@ char password[] = "password"; // your network password //------- ---------------------- ------ -// ------------------------------------- +// -------------------------------- // ------- Matrix Config ------ -// ------------------------------------- +// -------------------------------- const int panelResX = 64; // Number of pixels wide of each INDIVIDUAL panel module. const int panelResY = 32; // Number of pixels tall of each INDIVIDUAL panel module. @@ -248,7 +244,7 @@ bool processMessage(ChatMessage chatMessage, int index, int numMessages) { Serial.print("Received command from "); Serial.println(chatMessage.displayName); drawChatPixel((char *) chatMessage.displayMessage); - } + } break; case yt_message_type_superChat: case yt_message_type_superSticker: @@ -323,7 +319,7 @@ void loop() { if (haveLiveChatId) { // The processMessage Callback will be called for every message found. - ChatResponses responses = ytVideo.getChatMessages(processMessage, liveChatId); + ChatResponses responses = ytVideo.getChatMessages(processMessage, liveChatId); if (!responses.error) { Serial.println("done"); Serial.print("Polling interval: "); diff --git a/examples/TrinityFeatures/LDRAutoBrightness/LDRAutoBrightness.ino b/examples/TrinityFeatures/LDRAutoBrightness/LDRAutoBrightness.ino index 3eb34c5..e38bfb3 100644 --- a/examples/TrinityFeatures/LDRAutoBrightness/LDRAutoBrightness.ino +++ b/examples/TrinityFeatures/LDRAutoBrightness/LDRAutoBrightness.ino @@ -1,5 +1,5 @@ // An example of changing the brightness of the panel -// based on the analog reading +// based on the analog reading // The idea would be to connect it to an LDR // https://create.arduino.cc/projecthub/SBR/working-with-light-dependent-resistor-ldr-1ded4f @@ -36,7 +36,7 @@ void setup() { HUB75_I2S_CFG mxconfig; mxconfig.mx_height = PANEL_HEIGHT; // we have 64 pix height panels mxconfig.gpio.e = 18; - + // May or may not be needed depending on your matrix //mxconfig.clkphase = false; diff --git a/examples/TrinityFeatures/SDCardTest/SDCardTest.ino b/examples/TrinityFeatures/SDCardTest/SDCardTest.ino index 60d9da4..2e30255 100644 --- a/examples/TrinityFeatures/SDCardTest/SDCardTest.ino +++ b/examples/TrinityFeatures/SDCardTest/SDCardTest.ino @@ -19,16 +19,12 @@ https://github.com/witnessmenow/ESP32-i2s-Matrix-Shield/blob/master/FAQ.md#can-i-connect-a-spi-sensordevice-to-the-shield Parts Used: - ESP32 D1 Mini * - https://s.click.aliexpress.com/e/_dSi824B - ESP32 I2S Matrix Shield (From my Tindie) = https://www.tindie.com/products/brianlough/esp32-i2s-matrix-shield/ - - * * = Affilate + ESP32 Trinity - https://github.com/witnessmenow/ESP32-Trinity If you find what I do useful and would like to support me, please consider becoming a sponsor on Github https://github.com/sponsors/witnessmenow/ - Written by Brian Lough YouTube: https://www.youtube.com/brianlough Tindie: https://www.tindie.com/stores/brianlough/