diff --git a/platformio.ini b/platformio.ini index f08e7c151f..579fd58a8c 100644 --- a/platformio.ini +++ b/platformio.ini @@ -779,6 +779,21 @@ lib_deps = ${esp32s3.lib_deps} ${hub75.lib_deps} ;; board_build.partitions = tools/partitions-8MB_spiffs-tinyuf2.csv ;; supports adafruit UF2 bootloader +[env:waveshare_esp32s3_32MB_hub75] +;; Waveshare ESP32-S3-RGB-Matrix (memory_type: opi_opi); see https://docs.waveshare.com/ESP32-S3-RGB-Matrix +extends = env:esp32S3_wroom2_32MB +monitor_filters = esp32_exception_decoder +build_unflags = ${env:esp32S3_wroom2_32MB.build_unflags} + -D WLED_RELEASE_NAME=\"ESP32-S3_WROOM-2_32MB\" ;; need to un-set the relese name before setting a new one +build_flags = ${common.build_flags} ${esp32s3.build_flags} ${hub75.build_flags} ${hub75.s3_build_flags} ${hub75.i2s_disable_flags} + -D WLED_RELEASE_NAME=\"ESP32-S3_Waveshare_HUB75\" + -D WAVESHARE_S3_PINOUT +; -D WLED_USE_SD_SPI +; -D SD_PRINT_HOME_DIR +; -D WLED_DEBUG +lib_deps = ${esp32s3.lib_deps} + ${hub75.lib_deps} + [env:esp32s3dev_16MB_opi_hub75] ;; MOONHUB HUB75 adapter board (lilygo T7-S3 with 16MB flash and octal PSRAM) extends = env:esp32s3dev_8MB_opi diff --git a/wled00/bus_manager.cpp b/wled00/bus_manager.cpp index 8b9825c4a5..af3f419c91 100644 --- a/wled00/bus_manager.cpp +++ b/wled00/bus_manager.cpp @@ -881,6 +881,12 @@ BusHub75Matrix::BusHub75Matrix(const BusConfig &bc) : Bus(bc.type, bc.start, bc. // HUB75_I2S_CFG::i2s_pins _pins={R1_PIN, G1_PIN, B1_PIN, R2_PIN, G2_PIN, B2_PIN, A_PIN, B_PIN, C_PIN, D_PIN, E_PIN, LAT_PIN, OE_PIN, CLK_PIN}; mxconfig.gpio = { 1, 5, 6, 7, 13, 9, 16, 48, 47, 21, 38, 8, 4, 18 }; +#elif defined(WAVESHARE_S3_PINOUT) + DEBUGBUS_PRINTLN("MatrixPanel_I2S_DMA - Waveshare S3 with PSRAM, Waveshare pinout"); + + // HUB75_I2S_CFG::i2s_pins _pins={R1_PIN, G1_PIN, B1_PIN, R2_PIN, G2_PIN, B2_PIN, A_PIN, B_PIN, C_PIN, D_PIN, E_PIN, LAT_PIN, OE_PIN, CLK_PIN}; + mxconfig.gpio = {4, 5, 6, 7, 15, 16, 18, 8, 3, 42, 9, 40, 2, 41}; + #else DEBUGBUS_PRINTLN("MatrixPanel_I2S_DMA - S3 with PSRAM"); // HUB75_I2S_CFG::i2s_pins _pins={R1_PIN, G1_PIN, B1_PIN, R2_PIN, G2_PIN, B2_PIN, A_PIN, B_PIN, C_PIN, D_PIN, E_PIN, LAT_PIN, OE_PIN, CLK_PIN};