Skip to content

Commit

Permalink
More bin awareness and add MM style bins
Browse files Browse the repository at this point in the history
Changed version from 0.13.3.2-dev to 0.13.3.3
output_bins.py: start filename with WLEDSR
platformio.ini: add _base and min max entries. use platform = ${esp32.platform} instead of 3.2 !! check twilightlord board!!
index.css: change .modal to 17px for info tab
index.js: add WLEDSR and build
update.htm: remove installed bin prompt
json.cpp: add releaseString in root
wled.h: update version name 
xml.cpp: add WLEDSR
  • Loading branch information
ewoudwijma committed Nov 10, 2022
1 parent 428bf8e commit 61a7cd4
Show file tree
Hide file tree
Showing 13 changed files with 2,381 additions and 2,145 deletions.
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "wled",
"version": "0.13.3.2-dev",
"version": "0.13.3.3",
"description": "Tools for WLED project",
"main": "tools/cdata.js",
"directories": {
Expand Down
2 changes: 1 addition & 1 deletion pio-scripts/output_bins.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ def bin_rename_copy(source, target, env):
if release_name:
_create_dirs(["release"])
version = _get_cpp_define_value(env, "WLED_VERSION")
release_file = "{}release{}soundReactive_WLED_{}_{}.bin".format(OUTPUT_DIR, os.path.sep, version, release_name)
release_file = "{}release{}WLEDSR_{}_{}.bin".format(OUTPUT_DIR, os.path.sep, version, release_name) #WLEDSR: add SR postfix to WLED
shutil.copy(str(target[0]), release_file)

# check if new target files exist and remove if necessary
Expand Down
237 changes: 236 additions & 1 deletion platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,20 @@

# WLED sound-reactive binaries
; default_envs = soundReactive_lolin_d32
default_envs = soundReactive_esp32dev, soundReactive_esp32_eth
; default_envs = soundReactive_esp32dev
; default_envs = soundReactive_esp32_eth

; WLEDSR binaries
; ===================
; min = USERMOD_AUDIOREACTIVE + USERMOD_CUSTOMEFFECTS
; max = min + USERMOD_DALLASTEMPERATURE + USERMOD_FOUR_LINE_DISPLAY+ USERMOD_ROTARY_ENCODER_UI + USERMOD_AUTO_SAVE

default_envs = esp32_4MB_min, esp32_4MB_max, esp32_16MB_max, wemos_shield_esp32_4MB_max, wemos_shield_esp32_16MB_max
; default_envs = esp32_4MB_min
; default_envs = esp32_4MB_max ; recommended default
; default_envs = esp32_16MB_max
; default_envs = wemos_shield_esp32_4MB_max
; default_envs = wemos_shield_esp32_16MB_max

# Build everything
; default_envs = esp32dev, esp8285_4CH_MagicHome, codm-controller-0.6-rev2, codm-controller-0.6, esp32s2_saola, d1_mini_5CH_Shojo_PCB, d1_mini, sp501e, travis_esp8266, travis_esp32, nodemcuv2, esp32_eth, anavi_miracle_controller, esp07, esp01_1m_full, m5atom, h803wf, d1_mini_ota, heltec_wifi_kit_8, esp8285_H801, d1_mini_debug, wemos_shield_esp32, elekstube_ips
Expand Down Expand Up @@ -582,6 +595,228 @@ lib_deps = ${esp32.lib_deps}
board_build.partitions = ${esp32.default_partitions}
; board_build.partitions = tools/SoundReactive_ESP32_16MB.csv ; ESP32 16MB

# ------------------------------------------------------------------------------
# Soundreactive configs (MoonModules style, should eventually replace above)
# ------------------------------------------------------------------------------

; shared build flags and lib deps for minimum and maximum config
[common_sr]
build_flags_min =
-Wall -Wformat -Woverflow -Wuninitialized -Winit-self -Warray-bounds ; enables more warnings
-Wno-attributes -Wno-unused-variable -Wno-unused-function -Wno-deprecated-declarations ;disables some stupid warnings
-D WLED_DISABLE_MQTT -D WLED_DISABLE_LOXONE
; -D WLED_DISABLE_BLYNK ; BLYNK is only provided for backwards compatibility (no new users accepted)
;-D WLED_DISABLE_BROWNOUT_DET ; enable if you get "brownout detected" errors at startup
-D ABL_MILLIAMPS_DEFAULT=1500 ; 850 not enough for 1024 leds
; -D WLED_USE_MY_CONFIG
; -D WLED_DEBUG ; lots of generic debug messages
; -D SR_DEBUG ; some extra debug messages from audioreactive

lib_deps_min =
; https://github.com/kosme/arduinoFFT#develop @ 1.9.2 ; used for USERMOD_AUDIOREACTIVE
; monitor_filters = esp32_exception_decoder ; used to show crash details

build_flags_max =
; -D WLED_MAX_USERMODS=9 ; default only 4-6
-D USERMOD_DALLASTEMPERATURE
-D USE_ALT_DISPlAY ; new versions of USERMOD_FOUR_LINE_DISPLAY and USERMOD_ROTARY_ENCODER_UI
-D USERMOD_FOUR_LINE_DISPLAY
-D USERMOD_ROTARY_ENCODER_UI
-D USERMOD_AUTO_SAVE

lib_deps_max =
OneWire@~2.3.5 ; used for USERMOD_FOUR_LINE_DISPLAY and USERMOD_DALLASTEMPERATURE
olikraus/U8g2 @ ^2.28.8 ; used for USERMOD_FOUR_LINE_DISPLAY

; end of common

; base entries (without WLED_RELEASE_NAME)

; esp32_4MB_min_base: basis for min entries and for max_base
[env:esp32_4MB_min_base]
board = esp32dev
platform = ${esp32.platform}
upload_speed = 460800 ; or 921600
platform_packages = ${esp32.platform_packages}
build_unflags = ${common.build_unflags}
build_flags = ${common.build_flags_esp32} ${common_sr.build_flags_min}
lib_deps = ${esp32.lib_deps} ${common_sr.lib_deps_min}
board_build.partitions = ${esp32.default_partitions}
board_build.f_flash = 80000000L ; use full 80MHz speed for flash (default = 40Mhz)
board_build.flash_mode = dio ; (dio = dual i/o; more compatible than qio = quad i/o)

;esp32_4MB_max_base: basis for max entries, uses esp32_4MB_min_base, build_flags_max and lib_deps_max
[env:esp32_4MB_max_base]
extends = env:esp32_4MB_min_base
build_flags = ${env:esp32_4MB_min_base.build_flags} ${common_sr.build_flags_max}
lib_deps = ${env:esp32_4MB_min_base.lib_deps} ${common_sr.lib_deps_max}
board_build.partitions = ${env:esp32_4MB_min_base.board_build.partitions}
; board_build.partitions = tools/WLED_ESP32-wrover_4MB.csv

; ;esp32_4MB_V4_max_base: basis for V4 entries, uses build_flags_min, build_flags_max, lib_deps_min and lib_deps_max
; [env:esp32_4MB_V4_max_base]
; board = esp32dev
; upload_speed = 460800 ; or 921600
; platform = ${esp32.platformV4}
; platform_packages = ${esp32.platformV4_packages}
; build_unflags = ${common.build_unflags}
; build_flags = ${common.build_flags} ${esp32.build_flagsV4} ${common_sr.build_flags_min} ${common_sr.build_flags_max}
; -Wno-misleading-indentation
; lib_deps = ${esp32.lib_depsV4} ${common_sr.lib_deps_min} ${common_sr.lib_deps_max}
; board_build.partitions = ${esp32.default_partitions}
; board_build.f_flash = 80000000L ; use full 80MHz speed for flash (default = 40Mhz)
; board_build.flash_mode = dio ; (dio = dual i/o; more compatible than qio = quad i/o)

; end of base entries

; bin entries (with WLED_RELEASE_NAME)

; esp32_4MB_min: bin entry, uses esp32_4MB_min_base
[env:esp32_4MB_min]
extends = env:esp32_4MB_min_base
build_flags = ${env:esp32_4MB_min_base.build_flags}
-D WLED_RELEASE_NAME=esp32_4MB_min ; This will be included in the firmware.bin filename
; RAM: [== ] 24.1% (used 78900 bytes from 327680 bytes)
; Flash: [======== ] 83.7% (used 1315729 bytes from 1572864 bytes)

; esp32_4MB_max: bin entry, uses esp32_4MB_max_base
[env:esp32_4MB_max]
extends = env:esp32_4MB_max_base
build_flags = ${env:esp32_4MB_max_base.build_flags}
-D WLED_RELEASE_NAME=esp32_4MB_max ; This will be included in the firmware.bin filename
; RAM: [== ] 24.4% (used 79812 bytes from 327680 bytes)
; Flash: [========= ] 88.6% (used 1393397 bytes from 1572864 bytes)

; esp32_16MB_max: bin entry, uses esp32_4MB_max_base and adds 16MB settings
[env:esp32_16MB_max]
extends = env:esp32_4MB_max_base
; board = esp32_twilord ; "TwilightLord" ESP32 with 16MB Flash
board_build.partitions = tools/WLED_ESP32_16MB.csv ; for esp32_twilord with 16MB flash
build_flags = ${env:esp32_4MB_max_base.build_flags}
-D WLED_RELEASE_NAME=esp32_16MB_max ; This will be included in the firmware.bin filename
; RAM: [== ] 24.4% (used 79812 bytes from 327680 bytes)
; Flash: [======= ] 66.4% (used 1393397 bytes from 2097152 bytes)

; esp8266_4MB_min: bin entry for 8266, with 2D (WIP)
; [env:esp8266_4MB_min]
; extends = env:d1_mini
; upload_speed = 460800 ;115200
; build_flags = ${common.build_flags_esp8266}
; -D WLED_RELEASE_NAME=esp8266_4MB_min ; This will be included in the firmware.bin filename
; ; -D WLED_DEBUG
; -D WLED_DISABLE_ALEXA
; -D WLED_DISABLE_BLYNK
; -D WLED_DISABLE_HUESYNC
; ; -D WLED_DISABLE_2D
; ; -D USERMOD_AUDIOREACTIVE
; -UWLED_USE_MY_CONFIG
; ; monitor_filters = esp8266_exception_decoder
; ; RAM: [====== ] 58.7% (used 48056 bytes from 81920 bytes)
; ; Flash: [======== ] 75.7% (used 790428 bytes from 1044464 bytes)

# ------------------------------------------------------------------------------
# MoonModules configs for IDF V4.4.x
# ------------------------------------------------------------------------------

;; experiemtal environment for boards with PSRAM.
;; Warning: the build-in LittleFS seems to be "slightly different" from Lorol LittleFS.
;; When upgrading to the new framework, it might be necessary to first do a chip erase (make sure you have a backup of cfg.json and presets.json)
;; also SpiffsEditor (Async Webserver) has known problems in IDF4.4.x

; ; esp32_4MB_PSRAM_max: bin entry, uses esp32_4MB_V4_max_base and adds specific settings
; [env:esp32_4MB_PSRAM_max]
; extends = env:esp32_4MB_V4_max_base
; board = lolin_d32_pro
; ;board = esp32cam
; build_flags = ${env:esp32_4MB_V4_max_base.build_flags}
; -D WLED_RELEASE_NAME=esp32_4MB_PSRAM_max
; -D WLED_WATCHDOG_TIMEOUT=0 #-D WLED_DISABLE_BLYNK #-D WLED_DISABLE_BROWNOUT_DET
; -D ARDUINO_USB_CDC_ON_BOOT=0 ; needed for arduino-esp32 >=2.0.4; avoids errors on startup
; -D WLED_USE_PSRAM
; ; RAM: [== ] 24.8% (used 81424 bytes from 327680 bytes)
; ; Flash: [==========] 99.8% (used 1570457 bytes from 1572864 bytes)
; ; 99.8% !!!!
; -D WLED_DISABLE_LOXONE ; FLASH 1272 bytes
; -D WLED_DISABLE_ALEXA ; RAM 116 bytes; FLASH 13524 bytes
; -D WLED_DISABLE_MQTT ; RAM 216 bytes; FLASH 16496 bytes
; -D WLED_DISABLE_HUESYNC ;RAM 122 bytes; FLASH 6308 bytes
; ; RAM: [== ] 24.7% (used 80948 bytes from 327680 bytes)
; ; Flash: [==========] 97.4% (used 1531857 bytes from 1572864 bytes)
; ;-D WLED_DISABLE_INFRARED ;RAM 136 bytes; FLASH 24492 bytes
; ; -D WLED_DEBUG
; ; -D SR_DEBUG
; ; -D MIC_LOGGER

; ; esp32S3_8MB_max: bin entry, uses esp32_4MB_V4_max_base and adds specific settings. Override of lib_deps using lib_deps_min and lib_deps_max
; [env:esp32S3_8MB_max]
; extends = env:esp32_4MB_V4_max_base
; board = esp32-s3-devkitc-1
; build_flags = ${env:esp32_4MB_V4_max_base.build_flags}
; -D WLED_RELEASE_NAME=esp32S3_8MB_max
; -D ARDUINO_USB_MODE=1 -D ARDUINO_USB_CDC_ON_BOOT=0 -D ARDUINO_USB_MSC_ON_BOOT=0 -D ARDUINO_USB_DFU_ON_BOOT=0
; -D WLED_WATCHDOG_TIMEOUT=0
; -D WLED_DISABLE_LOXONE ; FLASH 1272 bytes
; -D WLED_DISABLE_ALEXA ; RAM 116 bytes; FLASH 13524 bytes
; -D WLED_DISABLE_MQTT ; RAM 216 bytes; FLASH 16496 bytes
; -D WLED_DISABLE_HUESYNC ;RAM 122 bytes; FLASH 6308 bytes
; -D LEDPIN=4
; -D STATUSLED=39
; -D BTNPIN=-1
; -D RLYPIN=-1
; -D IRPIN=-1
; -D HW_PIN_SDA=40
; -D HW_PIN_SCL=41
; -D AUDIOPIN=-1
; -D I2S_SDPIN=16
; -D I2S_CKPIN=17
; -D I2S_WSPIN=47
; -D ES7243_SDAPIN=8
; -D ES7243_SCLPIN=18
; ; -D WLED_DEBUG
; ; -D SR_DEBUG
; ; -D MIC_LOGGER
; lib_deps = ${esp32s3.lib_deps} ${common_sr.lib_deps_min} ${common_sr.lib_deps_max}
; board_build.partitions = tools/WLED_ESP32_8MB.csv
; board_build.flash_mode = qio
; ; RAM: [== ] 24.7% (used 80984 bytes from 327680 bytes)
; ; Flash: [======= ] 69.0% (used 1447873 bytes from 2097152 bytes)


# ------------------------------------------------------------------------------
# custom board configurations
# ------------------------------------------------------------------------------

;wemos_shield_esp32_4MB_max_base: base entry, uses esp32_4MB_max_base
[env:wemos_shield_esp32_4MB_max_base]
extends = env:esp32_4MB_max_base
build_flags = ${env:esp32_4MB_max_base.build_flags}
-D LEDPIN=16
-D RLYPIN=19
-D BTNPIN=17
-D IRPIN=18
-D AUDIOPIN=-1 -D DMTYPE=1 -D I2S_SDPIN=32 -D I2S_WSPIN=15 -D I2S_CKPIN=14
-D TEMPERATURE_PIN=23
-D FLD_PIN_SCL=22 -D FLD_PIN_SDA=21
; -D ENCODER_DT_PIN=18 -D ENCODER_CLK_PIN=5 -D ENCODER_SW_PIN=19

;wemos_shield_esp32_4MB_max: bin entry, uses wemos_shield_esp32_4MB_max_base
[env:wemos_shield_esp32_4MB_max]
extends = env:wemos_shield_esp32_4MB_max_base
build_flags = ${env:wemos_shield_esp32_4MB_max_base.build_flags}
-D WLED_RELEASE_NAME=wemos_shield_esp32_4MB_max ; This will be included in the firmware.bin filename
; RAM: [== ] 24.4% (used 79820 bytes from 327680 bytes)
; Flash: [========= ] 88.6% (used 1393421 bytes from 1572864 bytes)

;wemos_shield_esp32_16MB_max: bin entry, uses wemos_shield_esp32_4MB_max_base and adds 16MB settings
[env:wemos_shield_esp32_16MB_max]
extends = env:wemos_shield_esp32_4MB_max_base
; board = esp32_twilord ; "TwilightLord" ESP32 with 16MB Flash
board_build.partitions = tools/WLED_ESP32_16MB.csv ; for esp32_twilord with 16MB flash
build_flags = ${env:wemos_shield_esp32_4MB_max_base.build_flags}
-D WLED_RELEASE_NAME=wemos_shield_esp32_16MB_max ; This will be included in the firmware.bin filename
; RAM: [== ] 24.4% (used 79820 bytes from 327680 bytes)
; Flash: [======= ] 66.4% (used 1393421 bytes from 2097152 bytes)

[env:m5atom]
board = esp32dev
build_unflags = ${common.build_unflags}
Expand Down
2 changes: 1 addition & 1 deletion wled00/data/index.css
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,7 @@ Effect Speed */
transform: translateY(100%);
transition: transform 0.4s;
padding: 8px;
font-size: 20px;
font-size: 17px; /* WLEDSR: smaller is better */
overflow: auto;
}

Expand Down
4 changes: 2 additions & 2 deletions wled00/data/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -599,8 +599,8 @@ function populateInfo(i)
if (i.ver.startsWith("0.13.")) vcn = "Toki+SR";
if (i.cn) vcn = i.cn;

cn += `v${i.ver} "${vcn}"<br><br><table class="infot">
${inforow("SR Build",i.vid)}
// cn += `v${i.ver} "${vcn}"<br><br><table class="infot">
cn += `v${i.ver} &nbsp;<i>"${vcn}"</i><p>(WLEDSR_${i.ver}_${i.rel}.bin)</p><p><em>build ${i.vid}</em></p><table class="infot">
<!-- WLEDSR begin-->
${inforow("Audio Source",i.audioType,i.audioStatus)}
${i.audioWarning?inforow1("<em>Please "+i.audioWarning+"(s) !</em>"):""}
Expand Down
2 changes: 1 addition & 1 deletion wled00/data/update.htm
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<body onload="GetV()">
<h2>Sound Reactive WLED Software Update</h2>
<form method='POST' action='/update' id='uf' enctype='multipart/form-data' onsubmit="U()">
Installed SR bin: <span class="sip">##VERSION##</span><br> <!--WLEDSR: show bin name-->
<span class="sip">##VERSION##</span><br> <!--WLEDSR: show bin name-->
Download the latest binary: <a href="https://github.com/atuline/WLED/releases" target="_blank">
<img src="https://img.shields.io/github/release/atuline/WLED.svg?style=flat-square"></a><br>
<input type='file' name='update' required><br> <!--should have accept='.bin', but it prevents file upload from android app-->
Expand Down
7 changes: 3 additions & 4 deletions wled00/html_other.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,9 @@ const char PAGE_update[] PROGMEM = R"=====(<!DOCTYPE html><html><head><meta cont
function B(){window.history.back()}function U(){document.getElementById("uf").style.display="none",document.getElementById("msg").style.display="block"}function GetV() {var d=document;
%CSS%%SCSS%</head><body onload="GetV()">
<h2>Sound Reactive WLED Software Update</h2><form method="POST"
action="/update" id="uf" enctype="multipart/form-data" onsubmit="U()">
Installed SR bin: <span class="sip">0.13.3.2-dev</span><br>
Download the latest binary: <a href="https://github.com/atuline/WLED/releases"
target="_blank"><img
action="/update" id="uf" enctype="multipart/form-data" onsubmit="U()"><span
class="sip">0.13.3.3</span><br>Download the latest binary: <a
href="https://github.com/atuline/WLED/releases" target="_blank"><img
src="https://img.shields.io/github/release/atuline/WLED.svg?style=flat-square">
</a><br><input type="file" name="update" required><br><button type="submit">
Update!</button><br><button type="button" onclick="B()">Back</button></form><div
Expand Down
2 changes: 1 addition & 1 deletion wled00/html_settings.h
Original file line number Diff line number Diff line change
Expand Up @@ -518,7 +518,7 @@ onclick='uploadFile(d.Sf.data2,"/cfg.json")'><br></div><div style="color:#fa0">
Incorrect configuration may require a factory reset or re-flashing of your ESP.
</div>For security reasons, passwords are not backed up.<h3>About</h3><a
href="https://github.com/atuline/WLED/" target="_blank">WLED</a>
SR version 0.13.3.2-dev<br><br><a
SR version 0.13.3.3<br><br><a
href="https://github.com/atuline/WLED/wiki/Contributors-and-credits"
target="_blank">Contributors, dependencies and special thanks</a><br>
A huge thank you to everyone who helped me create WLED!<br><br>
Expand Down
Loading

0 comments on commit 61a7cd4

Please sign in to comment.