diff --git a/platformio.ini b/platformio.ini index 05ad3edf..10dbbfee 100644 --- a/platformio.ini +++ b/platformio.ini @@ -124,7 +124,7 @@ build_flags = -g -w -DMQTT_MAX_PACKET_SIZE=1024 -DPIO_FRAMEWORK_ARDUINO_LWIP_HIG -D DECODE_LG=true build_flags_esp8266 = ${common.build_flags} -DESP8266 -build_flags_esp32 = ${common.build_flags} -DARDUINO_ARCH_ESP32 +build_flags_esp32 = ${common.build_flags} -DARDUINO_ARCH_ESP32 -DCONFIG_LITTLEFS_FOR_IDF_3_2 # enables all features for travis CI build_flags_all_features = @@ -138,6 +138,8 @@ build_flags_all_features = ldscript_512k = eagle.flash.512k.ld ;for older versions change this to eagle.flash.512k0.ld ldscript_1m0m = eagle.flash.1m.ld ;for older versions change this to eagle.flash.1m0.ld +ldscript_1m128k = eagle.flash.1m128.ld +ldscript_2m512k = eagle.flash.2m512.ld ldscript_2m1m = eagle.flash.2m1m.ld ldscript_4m1m = eagle.flash.4m1m.ld ldscript_4m3m = eagle.flash.4m3m.ld @@ -165,13 +167,13 @@ lib_extra_dirs = lib_compat_mode = strict lib_deps = FastLED@3.3.2 - #NeoPixelBus@2.5.7 - https://github.com/Makuna/NeoPixelBus + NeoPixelBus@2.6.0 ESPAsyncTCP@1.2.0 ESPAsyncUDP AsyncTCP@1.0.3 https://github.com/Aircoookie/ESPAsyncWebServer IRremoteESP8266@2.7.3 + https://github.com/lorol/LITTLEFS.git #For use of the TTGO T-Display ESP32 Module with integrated TFT display uncomment the following line #TFT_eSPI #For use SSD1306 OLED display uncomment following @@ -213,7 +215,7 @@ build_flags = ${common.build_flags_esp8266} -D WLED_DISABLE_ALEXA -D WLED_DISABL [env:esp01_1m_full] board = esp01_1m platform = ${common.platform_wled_default} -board_build.ldscript = ${common.ldscript_1m0m} +board_build.ldscript = ${common.ldscript_1m128k} build_flags = ${common.build_flags_esp8266} -D WLED_DISABLE_OTA [env:esp07] diff --git a/wled00/FX.h b/wled00/FX.h index 3c739ab5..fb39428d 100644 --- a/wled00/FX.h +++ b/wled00/FX.h @@ -50,9 +50,9 @@ /* each segment uses 52 bytes of SRAM memory, so if you're application fails because of insufficient memory, decreasing MAX_NUM_SEGMENTS may help */ #ifdef ESP8266 - #define MAX_NUM_SEGMENTS 10 + #define MAX_NUM_SEGMENTS 12 #else - #define MAX_NUM_SEGMENTS 10 + #define MAX_NUM_SEGMENTS 16 #endif /* How much data bytes all segments combined may allocate */ diff --git a/wled00/cfg.cpp b/wled00/cfg.cpp index 5b119d56..bc7950ab 100644 --- a/wled00/cfg.cpp +++ b/wled00/cfg.cpp @@ -298,7 +298,7 @@ void deserializeConfig() { getStringFromJson(otaPass, pwd, 33); //normally not present due to security } - //DMX missing! + } void serializeConfig() { @@ -564,6 +564,18 @@ void serializeConfig() { ota[F("lock-wifi")] = wifiLock; ota[F("pskl")] = strlen(otaPass); ota[F("aota")] = aOtaEnabled; + + #ifdef WLED_ENABLE_DMX + JsonObject dmx = doc.createNestedObject("dmx"); + dmx[F("chan")] = DMXChannels; + dmx[F("gap")] = DMXGap; + dmx[F("start")] = DMXStart; + dmx[F("start-led")] = DMXStartLED; + + JsonArray dmx_fixmap = dmx.createNestedArray("fixmap"); + for (byte i = 0; i < 15; i++) + dmx_fixmap.add(DMXFixtureMap[i]); + #endif //} File f = WLED_FS.open("/cfg.json", "w"); diff --git a/wled00/data/index.htm b/wled00/data/index.htm index 18415357..ce2cd4a7 100644 --- a/wled00/data/index.htm +++ b/wled00/data/index.htm @@ -548,6 +548,9 @@ input[type=range]::-moz-range-thumb { .btna-icon { margin: 0px; } +.btn-p { + width: 216px; +} #qcs-w { margin-top: 10px; @@ -608,12 +611,37 @@ input[type=number], input[type=text] { appearance: textfield; } +textarea { + background: var(--c-2); + color: var(--c-f); + width: 236px; + height: 90px; + border-radius: 5px; + border: 2px solid #555; + outline: none; + resize: none; + font-size: 19px; +} + +::selection { + background: var(--c-b); +} + input[type=text] { width: 100px; border-radius: 25px; text-align: center; } +.ptxt { + width: 200px !important; + margin: 26px 0 6px 12px !important; +} + +.stxt { + width: 50px !important; +} + input[type=number]:focus, input[type=text]:focus { background: var(--c-6); } @@ -629,13 +657,22 @@ input[type=number]::-webkit-outer-spin-button { .segname { position: absolute; - top: 10px; + top: 0px; left: 50%; + padding: 9px 0; transform: translateX(-50%); white-space: nowrap; cursor: pointer; } +.pname { + width: 208px; + padding: 8px 0; + text-align: center; + overflow: hidden; + text-overflow: clip; +} + .newseg { cursor: default; } @@ -649,41 +686,28 @@ input[type=number]::-webkit-outer-spin-button { margin: 6px; } -.rect { - border-radius: 5px; -} - .psts { - background-color: var(--c-2); - color: var(--c-8); - cursor: default; -} -.stored { background-color: var(--c-3); color: var(--c-f); cursor: pointer; -} -.saving { - background-color: var(--c-3); - color: var(--c-f); - cursor: pointer; -} -.stored.saving { - background-color: var(--c-r); - color: var(--c-f); + padding: 2px 0 0 0; + height: 40px; } .cnf { - position: absolute; - top: 66px; - right: 28px; color: var(--c-f); cursor: pointer; background: var(--c-3); - padding: 43px 6px; border-radius: 5px; } +.cnf-s { + position: absolute; + top: 66px; + right: 28px; + padding: 43px 6px; +} + .pwr { color: var(--c-6); transform: translate(2px, 3px); @@ -695,7 +719,7 @@ input[type=number]::-webkit-outer-spin-button { } .half { - padding: 6px 6px; + padding: 7.5px; top: 64px; } @@ -718,7 +742,7 @@ input[type=number]::-webkit-outer-spin-button { .schkl { padding: 2px 22px 0px 35px; - margin-bottom: 0px; + margin: 0 0 0 2px; } .revchkl { @@ -742,7 +766,7 @@ input[type=number]::-webkit-outer-spin-button { height: 25px; width: 25px; background-color: var(--c-3); - border-radius: 5px; + border-radius: 10px; } .schk { @@ -813,9 +837,14 @@ input[type=number]::-webkit-outer-spin-button { background-color: var(--c-2); color: var(--c-f); border: 0px solid white; - border-radius: 5px; + border-radius: 20px; filter: drop-shadow(0px 0px 1px #000); text-align: left; + transition: background 0.5s; +} + +.pres { + margin-bottom: 6px; } .segin { @@ -827,6 +856,19 @@ input[type=number]::-webkit-outer-spin-button { display: block; } +.c { + text-align: center; +} + +.po2 { + display: none; + margin-top: 8px; +} + +.pwarn { + color: red; +} + ::-webkit-scrollbar { width: 6px; } @@ -991,34 +1033,20 @@ input[type=number]::-webkit-outer-spin-button {
- +
-

Load from slot

- - - -
- - - -
- - - -
- - - -
-
- Slot 16 can save all segments.

+
+ +
+
+ +
+
+ Loading... +