From aa6697e01a4614a8d924d4b13a5be0e49c563f8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20H=C3=B6pfinger?= Date: Sun, 26 Nov 2023 16:19:40 +0100 Subject: [PATCH 01/13] Add CMakeLists.txt for SmartMatrix Library This commit adds the CMakeLists.txt file for the SmartMatrix Library. The file includes the necessary minimum version requirement and component registration with required dependencies. --- CMakeLists.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..8d95922 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,11 @@ +# SmartMatrix Library +# https://github.com/pixelmatix/SmartMatrix +# + +cmake_minimum_required(VERSION 3.5) + +idf_component_register(SRCS + INCLUDE_DIRS "src" + REQUIRES driver arduino Adafruit-GFX-Library Adafruit_BusIO) + +project(SmartMatrix) From 1cbe66dcec69adb79cb26df9174ef9fdea3b599f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20H=C3=B6pfinger?= Date: Sun, 26 Nov 2023 16:31:02 +0100 Subject: [PATCH 02/13] Refactor debug print statements in MatrixEsp32Hub75Refresh_Impl.h - Update printf statements to use PRIx32 format specifier for printing pointers - Improve readability and consistency of debug output --- src/MatrixEsp32Hub75Refresh_Impl.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/MatrixEsp32Hub75Refresh_Impl.h b/src/MatrixEsp32Hub75Refresh_Impl.h index c928875..64de2ae 100644 --- a/src/MatrixEsp32Hub75Refresh_Impl.h +++ b/src/MatrixEsp32Hub75Refresh_Impl.h @@ -132,11 +132,11 @@ void SmartMatrixHub75Refresh Date: Sun, 26 Nov 2023 16:31:36 +0100 Subject: [PATCH 03/13] Refactor I2S setup in MatrixEsp32Hub75Refresh_Impl.h and MatrixEsp32Hub75Refresh_NT_Impl.h - Refactored the I2S setup code in both files to use named parameters for better readability and maintainability. - Replaced direct assignments with named parameter assignments for desccount_a, desccount_b, lldesc_a, and lldesc_b. --- src/MatrixEsp32Hub75Refresh_Impl.h | 8 ++++---- src/MatrixEsp32Hub75Refresh_NT_Impl.h | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/MatrixEsp32Hub75Refresh_Impl.h b/src/MatrixEsp32Hub75Refresh_Impl.h index 64de2ae..dc07941 100644 --- a/src/MatrixEsp32Hub75Refresh_Impl.h +++ b/src/MatrixEsp32Hub75Refresh_Impl.h @@ -454,10 +454,10 @@ void SmartMatrixHub75Refresh::begin(uint32_t dmaRamToKeepFreeBytes) .bits=MATRIX_I2S_MODE, .bufa=0, .bufb=0, - desccount, - desccount, - dmadesc_a, - dmadesc_b + .desccount_a=desccount, + .desccount_b=desccount, + .lldesc_a=dmadesc_a, + .lldesc_b=dmadesc_b }; //Setup I2S From 5f202f740d234d2b5c312411c1c4a3ae5853b392 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20H=C3=B6pfinger?= Date: Sun, 26 Nov 2023 16:40:43 +0100 Subject: [PATCH 04/13] Update CMakeLists.txt and esp32_i2s_parallel.c - In CMakeLists.txt, added "src" as the source directory for the component registration. - In esp32_i2s_parallel.c, included necessary header files and added support for ESP32 target. These changes improve the build configuration and add support for ESP32 target in the code. --- CMakeLists.txt | 2 +- src/esp32_i2s_parallel.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8d95922..9f4d08c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.5) -idf_component_register(SRCS +idf_component_register(SRC_DIRS "src" INCLUDE_DIRS "src" REQUIRES driver arduino Adafruit-GFX-Library Adafruit_BusIO) diff --git a/src/esp32_i2s_parallel.c b/src/esp32_i2s_parallel.c index e4db0b1..30312c0 100644 --- a/src/esp32_i2s_parallel.c +++ b/src/esp32_i2s_parallel.c @@ -26,12 +26,20 @@ #include "soc/i2s_struct.h" #include "soc/i2s_reg.h" +#include "soc/gpio_periph.h" #include "driver/periph_ctrl.h" +#include "driver/gpio.h" #include "soc/io_mux_reg.h" #include "rom/lldesc.h" #include "esp_heap_caps.h" #include "esp32_i2s_parallel.h" +#if CONFIG_IDF_TARGET_ESP32 +#include "esp32/rom/gpio.h" +#else +#error Target CONFIG_IDF_TARGET is not supported +#endif + typedef struct { volatile lldesc_t *dmadesc_a, *dmadesc_b; int desccount_a, desccount_b; From a4e26adf50a87b2df44bf2998310bfb91e0cd33e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20H=C3=B6pfinger?= Date: Wed, 10 Jan 2024 11:22:42 +0100 Subject: [PATCH 05/13] gitflow-feature-stash: ELECTRODRAGON_PINOUT --- src/MatrixHardware_ESP32_V0.h | 65 ++++++++++++++++++++++++++++++++++- 1 file changed, 64 insertions(+), 1 deletion(-) diff --git a/src/MatrixHardware_ESP32_V0.h b/src/MatrixHardware_ESP32_V0.h index 6468950..5da042a 100755 --- a/src/MatrixHardware_ESP32_V0.h +++ b/src/MatrixHardware_ESP32_V0.h @@ -39,9 +39,10 @@ #define ESP32_JC_RIBBON_PINOUT_WEMOS 8 #define HUB75_ADAPTER_LITE_V0_PINOUT 9 #define ESP32_RGB64x32MatrixPanel_I2S_DMA_DEFAULT 10 +#define ELECTRODRAGON_PINOUT 11 #ifndef GPIOPINOUT -#define GPIOPINOUT ESP32_FORUM_PINOUT +#define GPIOPINOUT ELECTRODRAGON_PINOUT #endif //#define GPIOPINOUT ESP32_FORUM_PINOUT_WITH_LATCH // note this mode is untested as of 2018-05-17 - not being used anymore now that SmartMatrix Shield is available //#define GPIOPINOUT SMARTLED_SHIELD_V0_PINOUT @@ -265,6 +266,68 @@ #define CLK_PIN GPIO_NUM_22 +#elif (GPIOPINOUT == ELECTRODRAGON_PINOUT) + + #pragma message "MatrixHardware: ESP32 forum wiring" + + // ADDX is output directly using GPIO + #define CLKS_DURING_LATCH 0 + #define MATRIX_I2S_MODE I2S_PARALLEL_BITS_16 + #define MATRIX_DATA_STORAGE_TYPE uint16_t + + /* + HUB 75 + 01 02 B0 + 03 04 Gnd + 05 06 G1 + 07 08 E + + 09 10 B + 11 12 D + 13 14 STB/Latch + 15 16 Gnd + ESP32 pin / comment + 1 R0 2 Red Data (columns 1-16) + 2 G0 15 Green Data (columns 1-16) + + 3 B0 4 Blue Data (columns 1-16) + 4 GND GND Ground + + 5 R1 16/RX2 Red Data (columns 17-32) + 6 G1 27 Green Data (columns 17-32) + + 7 B1 17/TX2 Blue Data (columns 17-32) + 8 E 12 Demux Input E for 64x64 panels + + 9 A 5 Demux Input A0 + 10 B 18 Demux Input A1 + + 11 C 19 Demux Input A2 + 12 D 21 Demux Input E1, E3 (32x32 panels only) + + 13 CLK 22 LED Drivers' Clock + 14 STB 26 LED Drivers' Latch + + 15 OE 25 LED Drivers' Output Enable + 16 GND GND Ground + */ + #define R1_PIN GPIO_NUM_2 + #define G1_PIN GPIO_NUM_15 + #define B1_PIN GPIO_NUM_4 + #define R2_PIN GPIO_NUM_16 + #define G2_PIN GPIO_NUM_27 + #define B2_PIN GPIO_NUM_17 + + #define A_PIN GPIO_NUM_5 + #define B_PIN GPIO_NUM_18 + #define C_PIN GPIO_NUM_19 + #define D_PIN GPIO_NUM_21 + #define E_PIN GPIO_NUM_12 + #define LAT_PIN GPIO_NUM_26 + #define OE_PIN GPIO_NUM_25 + + #define CLK_PIN GPIO_NUM_22 + #elif (GPIOPINOUT == HUB75_ADAPTER_PINOUT) #pragma message "MatrixHardware: Hub75 Adapter Pinout" From 276893a9d281d0b679d9056adb75f6e0b7ec316d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20H=C3=B6pfinger?= Date: Wed, 10 Jan 2024 11:49:28 +0100 Subject: [PATCH 06/13] feat: Add wiring information for Electrodragon Mono Color HUB12 Matrix Panel Drive Board ESP32 This commit adds wiring information for the Electrodragon Mono Color HUB12 Matrix Panel Drive Board ESP32. The new wiring details can be found in the comments of the code file. This change provides additional resources and references to help with setting up the board correctly. References: - [Electrodragon Product Page](https://www.electrodragon.com/product/mono-color-hub12-matrix-panel-drive-board-esp32/) - [Electrodragon Wiring Diagram](https://github.com/Edragon/Arduino-ESP32/blob/master/libraries/DMD32-main/connection.png) - [Electrodragon GitHub Repository](https://github.com/Edragon/Arduino-ESP32/tree/master/libraries/DMD32-main) --- src/MatrixHardware_ESP32_V0.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/MatrixHardware_ESP32_V0.h b/src/MatrixHardware_ESP32_V0.h index 5da042a..b303cc2 100755 --- a/src/MatrixHardware_ESP32_V0.h +++ b/src/MatrixHardware_ESP32_V0.h @@ -268,7 +268,13 @@ #elif (GPIOPINOUT == ELECTRODRAGON_PINOUT) - #pragma message "MatrixHardware: ESP32 forum wiring" + + // https://www.electrodragon.com/product/mono-color-hub12-matrix-panel-drive-board-esp32/ + // https://w2.electrodragon.com/Board-dat/IDD/IDD1023-dat/IDD1023-dat.md + // https://github.com/Edragon/Arduino-ESP32/tree/master/libraries/DMD32-main + // https://github.com/Edragon/Arduino-ESP32/blob/master/libraries/DMD32-main/connection.png + + #pragma message "MatrixHardware: Electrodragon Mono Color HUB12 Matrix Panel Drive Board ESP32 wiring" // ADDX is output directly using GPIO #define CLKS_DURING_LATCH 0 From 7a996f8eec381817eecc74b30819009c171b8dd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20H=C3=B6pfinger?= Date: Wed, 10 Jan 2024 11:53:43 +0100 Subject: [PATCH 07/13] Update pin assignments for ESP32 in MatrixHardware_ESP32_V0.h - Change R0_PIN from GPIO_NUM_2 to GPIO_NUM_23 - Update comments to reflect new pin assignment --- src/MatrixHardware_ESP32_V0.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MatrixHardware_ESP32_V0.h b/src/MatrixHardware_ESP32_V0.h index b303cc2..05323ae 100755 --- a/src/MatrixHardware_ESP32_V0.h +++ b/src/MatrixHardware_ESP32_V0.h @@ -293,7 +293,7 @@ 13 14 STB/Latch 15 16 Gnd ESP32 pin / comment - 1 R0 2 Red Data (columns 1-16) + 1 R0 23 Red Data (columns 1-16) 2 G0 15 Green Data (columns 1-16) 3 B0 4 Blue Data (columns 1-16) @@ -317,7 +317,7 @@ 15 OE 25 LED Drivers' Output Enable 16 GND GND Ground */ - #define R1_PIN GPIO_NUM_2 + #define R1_PIN GPIO_NUM_23 #define G1_PIN GPIO_NUM_15 #define B1_PIN GPIO_NUM_4 #define R2_PIN GPIO_NUM_16 From db71e250857851a1d28a00ff97b6cd9c5bad9f7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20H=C3=B6pfinger?= Date: Wed, 10 Jan 2024 11:55:13 +0100 Subject: [PATCH 08/13] Update pin assignments for demux inputs A0 and A1 in MatrixHardware_ESP32_V0.h The pin assignments for demux inputs A0 and A1 have been updated from GPIO_NUM_5 and GPIO_NUM_18 to GPIO_NUM_19 and GPIO_NUM_21 respectively. This change ensures correct functionality of the code. --- src/MatrixHardware_ESP32_V0.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/MatrixHardware_ESP32_V0.h b/src/MatrixHardware_ESP32_V0.h index 05323ae..3e9892b 100755 --- a/src/MatrixHardware_ESP32_V0.h +++ b/src/MatrixHardware_ESP32_V0.h @@ -305,8 +305,8 @@ 7 B1 17/TX2 Blue Data (columns 17-32) 8 E 12 Demux Input E for 64x64 panels - 9 A 5 Demux Input A0 - 10 B 18 Demux Input A1 + 9 A 19 Demux Input A0 + 10 B 21 Demux Input A1 11 C 19 Demux Input A2 12 D 21 Demux Input E1, E3 (32x32 panels only) @@ -324,8 +324,8 @@ #define G2_PIN GPIO_NUM_27 #define B2_PIN GPIO_NUM_17 - #define A_PIN GPIO_NUM_5 - #define B_PIN GPIO_NUM_18 + #define A_PIN GPIO_NUM_19 + #define B_PIN GPIO_NUM_21 #define C_PIN GPIO_NUM_19 #define D_PIN GPIO_NUM_21 #define E_PIN GPIO_NUM_12 From dbd8daa62f73ef4a3dbcc284bccc48b3440d17e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20H=C3=B6pfinger?= Date: Wed, 10 Jan 2024 11:56:02 +0100 Subject: [PATCH 09/13] Update LED driver clock pin in MatrixHardware_ESP32_V0.h - Change CLK pin from GPIO_NUM_22 to GPIO_NUM_18 - Update the LED drivers' clock pin to match the new configuration. --- src/MatrixHardware_ESP32_V0.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MatrixHardware_ESP32_V0.h b/src/MatrixHardware_ESP32_V0.h index 3e9892b..3fac821 100755 --- a/src/MatrixHardware_ESP32_V0.h +++ b/src/MatrixHardware_ESP32_V0.h @@ -311,7 +311,7 @@ 11 C 19 Demux Input A2 12 D 21 Demux Input E1, E3 (32x32 panels only) - 13 CLK 22 LED Drivers' Clock + 13 CLK 18 LED Drivers' Clock 14 STB 26 LED Drivers' Latch 15 OE 25 LED Drivers' Output Enable @@ -332,7 +332,7 @@ #define LAT_PIN GPIO_NUM_26 #define OE_PIN GPIO_NUM_25 - #define CLK_PIN GPIO_NUM_22 + #define CLK_PIN GPIO_NUM_18 #elif (GPIOPINOUT == HUB75_ADAPTER_PINOUT) From d4a30d47ad7e4d682e6595ad0af08b63dd7f8d11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20H=C3=B6pfinger?= Date: Wed, 10 Jan 2024 11:56:30 +0100 Subject: [PATCH 10/13] Update LED driver output enable pin in MatrixHardware_ESP32_V0.h - Change the OE pin from GPIO_NUM_25 to GPIO_NUM_22 for LED drivers' output enable. --- src/MatrixHardware_ESP32_V0.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MatrixHardware_ESP32_V0.h b/src/MatrixHardware_ESP32_V0.h index 3fac821..9da7e6a 100755 --- a/src/MatrixHardware_ESP32_V0.h +++ b/src/MatrixHardware_ESP32_V0.h @@ -314,7 +314,7 @@ 13 CLK 18 LED Drivers' Clock 14 STB 26 LED Drivers' Latch - 15 OE 25 LED Drivers' Output Enable + 15 OE 22 LED Drivers' Output Enable 16 GND GND Ground */ #define R1_PIN GPIO_NUM_23 @@ -330,7 +330,7 @@ #define D_PIN GPIO_NUM_21 #define E_PIN GPIO_NUM_12 #define LAT_PIN GPIO_NUM_26 - #define OE_PIN GPIO_NUM_25 + #define OE_PIN GPIO_NUM_22 #define CLK_PIN GPIO_NUM_18 From 641d3d775589c6720c34a615c76cc7ddcc1e32db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20H=C3=B6pfinger?= Date: Wed, 10 Jan 2024 11:57:28 +0100 Subject: [PATCH 11/13] Update LED Drivers' Latch pin assignment - Changed the LED Drivers' Latch pin assignment from GPIO_NUM_26 to GPIO_NUM_2 in MatrixHardware_ESP32_V0.h file. --- src/MatrixHardware_ESP32_V0.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MatrixHardware_ESP32_V0.h b/src/MatrixHardware_ESP32_V0.h index 9da7e6a..667e0cc 100755 --- a/src/MatrixHardware_ESP32_V0.h +++ b/src/MatrixHardware_ESP32_V0.h @@ -312,7 +312,7 @@ 12 D 21 Demux Input E1, E3 (32x32 panels only) 13 CLK 18 LED Drivers' Clock - 14 STB 26 LED Drivers' Latch + 14 STB 2 LED Drivers' Latch 15 OE 22 LED Drivers' Output Enable 16 GND GND Ground @@ -329,7 +329,7 @@ #define C_PIN GPIO_NUM_19 #define D_PIN GPIO_NUM_21 #define E_PIN GPIO_NUM_12 - #define LAT_PIN GPIO_NUM_26 + #define LAT_PIN GPIO_NUM_2 #define OE_PIN GPIO_NUM_22 #define CLK_PIN GPIO_NUM_18 From c346f313f0f2282eeee31453c9f2cb9589472af7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20H=C3=B6pfinger?= Date: Wed, 10 Jan 2024 12:02:25 +0100 Subject: [PATCH 12/13] Update pin definitions in MatrixHardware_ESP32_V0.h - Replaced A_PIN, B_PIN, C_PIN, D_PIN, and E_PIN with GPIO_NUM_NC to indicate that these pins are not connected. - Updated the pin definitions for different color channels (R1_PIN, G1_PIN, B1_PIN) and (R2_PIN, G2_PIN, B2_PIN) to use valid GPIO numbers. These changes ensure that the correct pin configurations are used for the ESP32 V0 hardware. --- src/MatrixHardware_ESP32_V0.h | 40 +++++++++++++++++------------------ 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/MatrixHardware_ESP32_V0.h b/src/MatrixHardware_ESP32_V0.h index 667e0cc..3f50348 100755 --- a/src/MatrixHardware_ESP32_V0.h +++ b/src/MatrixHardware_ESP32_V0.h @@ -445,11 +445,11 @@ #define G2_PIN GPIO_NUM_25 #define B2_PIN GPIO_NUM_0 - #define A_PIN -1 - #define B_PIN -1 - #define C_PIN -1 - #define D_PIN -1 - #define E_PIN -1 + #define A_PIN GPIO_NUM_NC + #define B_PIN GPIO_NUM_NC + #define C_PIN GPIO_NUM_NC + #define D_PIN GPIO_NUM_NC + #define E_PIN GPIO_NUM_NC #define LAT_PIN GPIO_NUM_27 #define OE_PIN GPIO_NUM_32 @@ -478,11 +478,11 @@ #define G2_PIN GPIO_NUM_25 #define B2_PIN GPIO_NUM_21 - #define A_PIN -1 - #define B_PIN -1 - #define C_PIN -1 - #define D_PIN -1 - #define E_PIN -1 + #define A_PIN GPIO_NUM_NC + #define B_PIN GPIO_NUM_NC + #define C_PIN GPIO_NUM_NC + #define D_PIN GPIO_NUM_NC + #define E_PIN GPIO_NUM_NC #define LAT_PIN GPIO_NUM_22 #define OE_PIN GPIO_NUM_19 @@ -511,11 +511,11 @@ #define G2_PIN GPIO_NUM_25 #define B2_PIN GPIO_NUM_21 - #define A_PIN -1 - #define B_PIN -1 - #define C_PIN -1 - #define D_PIN -1 - #define E_PIN -1 + #define A_PIN GPIO_NUM_NC + #define B_PIN GPIO_NUM_NC + #define C_PIN GPIO_NUM_NC + #define D_PIN GPIO_NUM_NC + #define E_PIN GPIO_NUM_NC #define LAT_PIN GPIO_NUM_22 #define OE_PIN GPIO_NUM_19 @@ -547,11 +547,11 @@ #define G2_PIN GPIO_NUM_25 #define B2_PIN GPIO_NUM_15 - #define A_PIN -1 - #define B_PIN -1 - #define C_PIN -1 - #define D_PIN -1 - #define E_PIN -1 + #define A_PIN GPIO_NUM_NC + #define B_PIN GPIO_NUM_NC + #define C_PIN GPIO_NUM_NC + #define D_PIN GPIO_NUM_NC + #define E_PIN GPIO_NUM_NC #define LAT_PIN GPIO_NUM_10 #define OE_PIN GPIO_NUM_9 From bbd3d728e5ba20284e2b1dbcd673892eb42c8ca9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20H=C3=B6pfinger?= Date: Wed, 10 Jan 2024 12:06:24 +0100 Subject: [PATCH 13/13] Update MatrixHardware_ESP32_V0.h: Remove unused pin assignments and update comments - Removed pin assignments for G0, B0, R1, G1, B1, C, D - Updated comments to reflect the changes made --- src/MatrixHardware_ESP32_V0.h | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/src/MatrixHardware_ESP32_V0.h b/src/MatrixHardware_ESP32_V0.h index 3f50348..3fb7c26 100755 --- a/src/MatrixHardware_ESP32_V0.h +++ b/src/MatrixHardware_ESP32_V0.h @@ -294,23 +294,12 @@ 15 16 Gnd ESP32 pin / comment 1 R0 23 Red Data (columns 1-16) - 2 G0 15 Green Data (columns 1-16) - 3 B0 4 Blue Data (columns 1-16) 4 GND GND Ground - 5 R1 16/RX2 Red Data (columns 17-32) - 6 G1 27 Green Data (columns 17-32) - - 7 B1 17/TX2 Blue Data (columns 17-32) - 8 E 12 Demux Input E for 64x64 panels - 9 A 19 Demux Input A0 10 B 21 Demux Input A1 - 11 C 19 Demux Input A2 - 12 D 21 Demux Input E1, E3 (32x32 panels only) - 13 CLK 18 LED Drivers' Clock 14 STB 2 LED Drivers' Latch @@ -318,17 +307,17 @@ 16 GND GND Ground */ #define R1_PIN GPIO_NUM_23 - #define G1_PIN GPIO_NUM_15 - #define B1_PIN GPIO_NUM_4 - #define R2_PIN GPIO_NUM_16 - #define G2_PIN GPIO_NUM_27 - #define B2_PIN GPIO_NUM_17 + #define G1_PIN GPIO_NUM_NC + #define B1_PIN GPIO_NUM_NC + #define R2_PIN GPIO_NUM_NC + #define G2_PIN GPIO_NUM_NC + #define B2_PIN GPIO_NUM_NC #define A_PIN GPIO_NUM_19 #define B_PIN GPIO_NUM_21 - #define C_PIN GPIO_NUM_19 - #define D_PIN GPIO_NUM_21 - #define E_PIN GPIO_NUM_12 + #define C_PIN GPIO_NUM_NC + #define D_PIN GPIO_NUM_NC + #define E_PIN GPIO_NUM_NC #define LAT_PIN GPIO_NUM_2 #define OE_PIN GPIO_NUM_22