Skip to content

Commit 7875a96

Browse files
authored
Merge pull request wled#1355 from Aircoookie/filesystem
The wait is almost over
2 parents 7f9da22 + 4875f5e commit 7875a96

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+4894
-2783
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
.pio
2+
.cache
23
.pioenvs
34
.piolibdeps
45
.vscode
56
!.vscode/extensions.json
67
/wled00/Release
78
/wled00/extLibs
89
/platformio_override.ini
10+
/wled00/my_config.h
11+
/build_output
912
.DS_Store
1013
.gitignore
1114
.clang-format

.gitpod.Dockerfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
FROM gitpod/workspace-full
2+
3+
USER gitpod
4+
5+
RUN pip3 install -U platformio

.gitpod.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
tasks:
2+
- command: platformio run
3+
4+
image:
5+
file: .gitpod.Dockerfile
6+
7+
vscode:
8+
extensions:
9+
- [email protected]:u3GsZ5PK12Ddr79vh4TWgQ==
10+
- [email protected]:e0IYyp0efFqVsrZwsIe8CA==
11+
- [email protected]:fbZNfSpnd8XkAHGfAPS2rA==
12+
- [email protected]:Tbu8dTz0i+/bgcKQTQ5b8g==

CHANGELOG.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,61 @@
22

33
### Development versions after the 0.10.2 release
44

5+
#### Build 2011200
6+
7+
- Added HEX color receiving to JSON API with `"col":["RRGGBBWW"]` format
8+
- Moved Kelvin color receiving in JSON API from `"col":[[val]]` to `"col":[val]` format
9+
_Notice:_ This is technically a breaking change. Since no release was made since the introduction and the Kelvin property was not previously documented in the wiki,
10+
impact should be minimal.
11+
- BTNPIN can now be disabled by setting to -1 (fixes #1237)
12+
13+
#### Build 2011180
14+
15+
- Platformio.ini updates and streamlining (PR #1266)
16+
- my_config.h custom compile settings system (not yet used for much, adapted from PR #1266)
17+
- Added Hawaii timezone (HST)
18+
- Linebreak after 5 quick select buttons
19+
20+
#### Build 2011154
21+
22+
- Fixed RGBW saved incorrectly
23+
- Fixed pmt caching requesting /presets.json too often
24+
- Fixed deEEP not copying the first segment of EEPROM preset 16
25+
26+
#### Build 2011153
27+
28+
- Fixed an ESP32 end-of-file issue
29+
- Fixed useRGBW not read from cfg.json
30+
31+
#### Build 2011152
32+
33+
- Version bump to 0.11.0p "Mirai"
34+
- Increased max. num of segments to 12 (ESP8266) / 16 (ESP32)
35+
- Up to 250 presets stored in the `presets.json` file in filesystem
36+
- Complete overhaul of the Presets UI tab
37+
- Updated iro.js to v5 (fixes black color wheel)
38+
- Added white temperature slider to color wheel
39+
- Add JSON settings serialization/deserialization to cfg.json and wsec.json
40+
- Added deEEP to convert the EEPROM settings and presets to files
41+
- Playlist support - JSON only for now
42+
- New v2 usermod methods `addToConfig()` and `readFromConfig()` (see EXAMPLE_v2 for doc)
43+
- Added Ethernet support for ESP32 (PR #1316)
44+
- IP addresses are now handled by the `Network` class
45+
- New `esp32_poe` PIO environment
46+
- Use EspAsyncWebserver Aircoookie fork v.2.0.0 (hiding wsec.json)
47+
- Removed `WLED_DISABLE_FILESYSTEM` and `WLED_ENABLE_FS_SERVING` defines as they are now required
48+
- Added pin manager
49+
- UI performance improvements (no drop shadows)
50+
- More explanatory error messages in UI
51+
- Improved candle brightness
52+
- Return remaining nightlight time `nl.rem` in JSON API (PR #1302)
53+
- UI sends timestamp with every command, allowing for timed presets without using NTP
54+
- Added gamma calculation (yet unused)
55+
- Added LED type definitions to const.h (yet unused)
56+
- Added nicer 404 page
57+
- Removed `NP` and `MS=` macro HTTP API commands
58+
- Removed macros from Time settings
59+
560
#### Build 2011120
661

762
- Added the ability for the /api MQTT topic to receive JSON API payloads
@@ -43,6 +98,7 @@
4398

4499
- Added Loxone parser (PR #1185)
45100
- Added support for kelvin input via `K=` HTTP and `"col":[[val]]` JSON API calls
101+
_Notice:_ `"col":[[val]]` removed in build 2011200, use `"col":[val]`
46102
- Added supplementary UDP socket (#1205)
47103
- TMP2.net receivable by default
48104
- UDP sockets accept HTTP and JSON API commands

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "wled",
3-
"version": "0.10.2",
3+
"version": "0.11.0p",
44
"description": "Tools for WLED project",
55
"main": "tools/cdata.js",
66
"directories": {

pio/gzip-firmware.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Import('env')
2+
import os
3+
import shutil
4+
import gzip
5+
6+
OUTPUT_DIR = "build_output{}".format(os.path.sep)
7+
8+
def bin_gzip(source, target, env):
9+
variant = str(target[0]).split(os.path.sep)[2]
10+
11+
# create string with location and file names based on variant
12+
bin_file = "{}firmware{}{}.bin".format(OUTPUT_DIR, os.path.sep, variant)
13+
gzip_file = "{}firmware{}{}.bin.gz".format(OUTPUT_DIR, os.path.sep, variant)
14+
15+
# check if new target files exist and remove if necessary
16+
if os.path.isfile(gzip_file): os.remove(gzip_file)
17+
18+
# write gzip firmware file
19+
with open(bin_file,"rb") as fp:
20+
with gzip.open(gzip_file, "wb", compresslevel = 9) as f:
21+
shutil.copyfileobj(fp, f)
22+
23+
env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", [bin_gzip])

pio/name-firmware.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
Import('env')
2+
import os
3+
import shutil
4+
5+
OUTPUT_DIR = "build_output{}".format(os.path.sep)
6+
7+
def bin_rename_copy(source, target, env):
8+
variant = str(target[0]).split(os.path.sep)[2]
9+
10+
# check if output directories exist and create if necessary
11+
if not os.path.isdir(OUTPUT_DIR):
12+
os.mkdir(OUTPUT_DIR)
13+
14+
for d in ['firmware', 'map']:
15+
if not os.path.isdir("{}{}".format(OUTPUT_DIR, d)):
16+
os.mkdir("{}{}".format(OUTPUT_DIR, d))
17+
18+
# create string with location and file names based on variant
19+
map_file = "{}map{}{}.map".format(OUTPUT_DIR, os.path.sep, variant)
20+
bin_file = "{}firmware{}{}.bin".format(OUTPUT_DIR, os.path.sep, variant)
21+
22+
# check if new target files exist and remove if necessary
23+
for f in [map_file, bin_file]:
24+
if os.path.isfile(f):
25+
os.remove(f)
26+
27+
# copy firmware.bin to firmware/<variant>.bin
28+
shutil.copy(str(target[0]), bin_file)
29+
30+
# copy firmware.map to map/<variant>.map
31+
if os.path.isfile("firmware.map"):
32+
shutil.move("firmware.map", map_file)
33+
34+
env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", [bin_rename_copy])

pio/obj-dump.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Little convenience script to get an object dump
2+
3+
Import('env')
4+
5+
def obj_dump_after_elf(source, target, env):
6+
print("Create firmware.asm")
7+
env.Execute("xtensa-lx106-elf-objdump "+ "-D " + str(target[0]) + " > "+ "${PROGNAME}.asm")
8+
9+
env.AddPostAction("$BUILD_DIR/${PROGNAME}.elf", [obj_dump_after_elf])

pio/strip-floats.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Import('env')
2+
3+
#
4+
# Dump build environment (for debug)
5+
#print env.Dump()
6+
#
7+
8+
flags = " ".join(env['LINKFLAGS'])
9+
flags = flags.replace("-u _printf_float", "")
10+
flags = flags.replace("-u _scanf_float", "")
11+
newflags = flags.split()
12+
13+
env.Replace(
14+
LINKFLAGS=newflags
15+
)

pio/user_config_copy.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Import('env')
2+
import os
3+
import shutil
4+
5+
# copy WLED00/my_config_sample.h to WLED00/my_config.h
6+
if os.path.isfile("wled00/my_config.h"):
7+
print ("*** use existing my_config.h ***")
8+
else:
9+
shutil.copy("wled00/my_config_sample.h", "wled00/my_config.h")

0 commit comments

Comments
 (0)