Skip to content

Commit 51b00d5

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents 7ad6a71 + 392bda7 commit 51b00d5

File tree

177 files changed

+20712
-10371
lines changed

Some content is hidden

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

177 files changed

+20712
-10371
lines changed

.envrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
layout python-venv python3

.github/FUNDING.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
github: [Aircoookie]
2+
custom: ['https://paypal.me/Aircoookie']

.github/workflows/wled-ci.yml

Lines changed: 61 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,37 @@ name: PlatformIO CI
33
on: [push, pull_request]
44

55
jobs:
6-
build:
76

7+
get_default_envs:
8+
name: Gather Environments
89
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v2
12+
- name: Cache pip
13+
uses: actions/cache@v2
14+
with:
15+
path: ~/.cache/pip
16+
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
17+
restore-keys: |
18+
${{ runner.os }}-pip-
19+
- uses: actions/setup-python@v2
20+
- name: Install PlatformIO
21+
run: pip install -r requirements.txt
22+
- name: Get default environments
23+
id: envs
24+
run: |
25+
echo "::set-output name=environments::$(pio project config --json-output | jq -cr '.[0][1][0][1]')"
26+
outputs:
27+
environments: ${{ steps.envs.outputs.environments }}
28+
929

30+
build:
31+
name: Build Enviornments
32+
runs-on: ubuntu-latest
33+
needs: get_default_envs
34+
strategy:
35+
matrix:
36+
environment: ${{ fromJSON(needs.get_default_envs.outputs.environments) }}
1037
steps:
1138
- uses: actions/checkout@v2
1239
- name: Cache pip
@@ -24,8 +51,36 @@ jobs:
2451
- name: Set up Python
2552
uses: actions/setup-python@v2
2653
- name: Install PlatformIO
27-
run: |
28-
python -m pip install --upgrade pip
29-
pip install --upgrade platformio
30-
- name: Run PlatformIO
31-
run: pio run
54+
run: pip install -r requirements.txt
55+
- name: Build firmware
56+
env:
57+
WLED_RELEASE: True
58+
run: pio run -e ${{ matrix.environment }}
59+
- uses: actions/upload-artifact@v2
60+
with:
61+
name: firmware-${{ matrix.environment }}
62+
path: |
63+
build_output/firmware/*.bin
64+
build_output/firmware/*.gz
65+
- uses: actions/upload-artifact@v2
66+
if: startsWith(github.ref, 'refs/tags/')
67+
with:
68+
name: firmware-release
69+
path: build_output/release/*.bin
70+
release:
71+
name: Create Release
72+
runs-on: ubuntu-latest
73+
needs: [get_default_envs, build]
74+
if: startsWith(github.ref, 'refs/tags/')
75+
steps:
76+
- uses: actions/download-artifact@v2
77+
with:
78+
name: firmware-release
79+
- name: Create draft release
80+
uses: softprops/action-gh-release@v1
81+
with:
82+
draft: True
83+
files: |
84+
*.bin
85+
env:
86+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@
1414
.clang-format
1515
node_modules
1616
.idea
17+
.direnv

CHANGELOG.md

Lines changed: 283 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,288 @@
11
## WLED changelog
22

3+
### Builds after release 0.12.0
4+
5+
#### Build 2110110
6+
7+
- Version bump to 0.13.0-b4 "Toki"
8+
- Added option for bus refresh if off (PR #2259)
9+
- New auto segment logic
10+
- Fixed current calculations for virtual or non-linear configs (PR #2262)
11+
12+
#### Build 2110060
13+
14+
- Added virtual network DDP busses (PR #2245)
15+
- Allow playlist as end preset in playlist
16+
- Improved bus start field UX
17+
- Pin reservations improvements (PR #2214)
18+
19+
#### Build 2109220
20+
21+
- Version bump to 0.13.0-b3 "Toki"
22+
- Added segment names (PR #2184)
23+
- Improved Police and other effects (PR #2184)
24+
- Reverted PR #1902 (Live color correction - will be implemented as usermod) (PR #2175)
25+
- Added transitions for segment on/off
26+
- Improved number of sparks/stars in Fireworks effect with low number of segments
27+
- Fixed segment name edit pencil disappearing with request
28+
- Fixed color transition active even if the segment is off
29+
- Disallowed file upload with OTA lock active
30+
- Fixed analog invert option missing (PR #2219)
31+
32+
#### Build 2109100
33+
34+
- Added an auto create segments per bus setting
35+
- Added 15 new palettes from SR branch (PR #2134)
36+
- Fixed segment runtime not reset on FX change via HTTP API
37+
- Changed AsyncTCP dependency to pbolduc fork v1.2.0
38+
39+
#### Build 2108250
40+
41+
- Added Sync groups (PR #2150)
42+
- Added JSON API over Serial support
43+
- Live color correction (PR #1902)
44+
45+
#### Build 2108180
46+
47+
- Fixed JSON IR remote not working with codes greater than 0xFFFFFF (fixes #2135)
48+
- Fixed transition 0 edge case
49+
50+
#### Build 2108170
51+
52+
- Added application level pong websockets reply (#2139)
53+
- Use AsyncTCP 1.0.3 as it mitigates the flickering issue from 0.13.0-b2
54+
- Fixed transition manually updated in preset overriden by field value
55+
56+
#### Build 2108050
57+
58+
- Fixed undesirable color transition from Orange to boot preset color on first boot
59+
- Removed misleading Delete button on new playlist with one entry
60+
- Updated NeoPixelBus to 2.6.7 and AsyncTCP to 1.1.1
61+
62+
#### Build 2107230
63+
64+
- Added skinning (extra custom CSS) (PR #2084)
65+
- Added presets/config backup/restore (PR #2084)
66+
- Added option for using length instead of Stop LED in UI (PR #2048)
67+
- Added custom `holidays.json` holiday list (PR #2048)
68+
69+
#### Build 2107100
70+
71+
- Version bump to 0.13.0-b2 "Toki"
72+
- Accept hex color strings in individual LED API
73+
- Fixed transition property not applying unless power/bri/color changed next
74+
- Moved transition field below segments (temporarily)
75+
- Reduced unneeded websockets pushes
76+
77+
#### Build 2107091
78+
79+
- Fixed presets using wrong call mode (e.g. causing buttons to send UDP under direct change type)
80+
- Increased hue buffer
81+
- Renamed `NOTIFIER_CALL_MODE_` to `CALL_MODE_`
82+
83+
#### Build 2107090
84+
85+
- Busses extend total configured LEDs if required
86+
- Fixed extra button pins defaulting to 0 on first boot
87+
88+
#### Build 2107080
89+
90+
- Made Peek use the main websocket connection instead of opening a second one
91+
- Temperature usermod fix (from @blazoncek's dev branch)
92+
93+
#### Build 2107070
94+
95+
- More robust initial resource loading in UI
96+
- Added `getJsonValue()` for usermod config parsing (PR #2061)
97+
- Fixed preset saving over websocket
98+
- Alpha ESP32 S2 support (filesystem does not work) (PR #2067)
99+
100+
#### Build 2107042
101+
102+
- Updated ArduinoJson to 6.18.1
103+
- Improved Twinkleup effect
104+
- Fixed preset immediately deselecting when set via HTTP API `PL=`
105+
106+
#### Build 2107041
107+
108+
- Restored support for "PL=~" mistakenly removed in 2106300
109+
- JSON IR improvements
110+
111+
#### Build 2107040
112+
113+
- Playlist entries are now more compact
114+
- Added the possibility to enter negative numbers for segment offset
115+
116+
#### Build 2107021
117+
118+
- Added WebSockets support to UI
119+
120+
#### Build 2107020
121+
122+
- Send websockets on every state change
123+
- Improved Aurora effect
124+
125+
#### Build 2107011
126+
127+
- Added MQTT button feedback option (PR #2011)
128+
129+
#### Build 2107010
130+
131+
- Added JSON IR codes (PR #1941)
132+
- Adjusted the width of WiFi and LED settings input fields
133+
- Fixed a minor visual issue with slider trail not reaching thumb on low values
134+
135+
#### Build 2106302
136+
137+
- Fixed settings page broken by using "%" in input fields
138+
139+
#### Build 2106301
140+
141+
- Fixed a problem with disabled buttons reverting to pin 0 causing conflict
142+
143+
#### Build 2106300
144+
145+
- Version bump to 0.13.0-b0 "Toki"
146+
- BREAKING: Removed preset cycle (use playlists)
147+
- BREAKING: Removed `nl.fade`, `leds.pin` and `ccnf` from JSON API
148+
- Added playlist editor UI
149+
- Reordered segment UI and added offset field
150+
- Raised maximum MQTT password length to 64 (closes #1373)
151+
152+
#### Build 2106290
153+
154+
- Added Offset to segments, allows shifting the LED considered first within a segment
155+
- Added `of` property to seg object in JSON API to set offset
156+
- Usermod settings improvements (PR #2043, PR #2045)
157+
158+
#### Build 2106250
159+
160+
- Fixed preset only disabling on second effect/color change
161+
162+
#### Build 2106241
163+
164+
- BREAKING: Added ability for usermods to force a config save if config incomplete. `readFromConfig()` needs to return a `bool` to indicate if the config is complete
165+
- Updated usermods implementing `readFromConfig()`
166+
- Auto-create segments based on configured busses
167+
168+
#### Build 2106200
169+
170+
- Added 2 Ethernet boards and split Ethernet configs into separate file
171+
172+
#### Build 2106180
173+
174+
- Fixed DOS on Chrome tab restore causing reboot
175+
176+
#### Build 2106170
177+
178+
- Optimized JSON buffer usage (pre-serialized color arrays)
179+
180+
#### Build 2106140
181+
182+
- Updated main logo
183+
- Reduced flash usage by 0.8kB by using 8-bit instead of 32-bit PNGs for welcome and 404 pages
184+
- Added a check to stop Alexa reporting an error if state set by macro differs from the expected state
185+
186+
#### Build 2106100
187+
188+
- Added support for multiple buttons with various types (PR #1977)
189+
- Fixed infinite playlists (PR #2020)
190+
- Added `r` to playlist object, allows for shuffle regardless of the `repeat` value
191+
- Improved accuracy of NTP time sync
192+
- Added possibility for WLED UDP sync to sync system time
193+
- Improved UDP sync accuracy, if both sender and receiver are NTP synced
194+
- Fixed a cache issue with restored tabs
195+
- Cache CORS request
196+
- Disable WiFi sleep by default on ESP32
197+
198+
#### Build 2105230
199+
200+
- No longer retain MQTT `/v` topic to alleviate storage loads on MQTT broker
201+
- Fixed Sunrise calculation (atan_t approx. used outside of value range)
202+
203+
#### Build 2105200
204+
205+
- Fixed WS281x output on ESP32
206+
- Fixed potential out-of-bounds write in MQTT
207+
- Fixed IR pin not changeable if IR disabled
208+
- Fixed XML API <wv> containing -1 on Manual only RGBW mode (see #888, #1783)
209+
210+
#### Build 2105171
211+
212+
- Always copy MQTT payloads to prevent non-0-terminated strings
213+
- Updated ArduinoJson to 6.18.0
214+
- Added experimental support for `{"on":"t"}` to toggle on/off state via JSON
215+
216+
#### Build 2105120
217+
218+
- Fixed possibility of non-0-terminated MQTT payloads
219+
- Fixed two warnings regarding integer comparison
220+
221+
#### Build 2105112
222+
223+
- Usermod settings page no usermods message
224+
- Lowered min speed for Drip effect
225+
226+
#### Build 2105111
227+
228+
- Fixed various Codacy code style and logic issues
229+
230+
#### Build 2105110
231+
232+
- Added Usermod settings page and configurable usermods (PR #1951)
233+
- Added experimental `/json/cfg` endpoint for changing settings from JSON (see #1944, not part of official API)
234+
235+
#### Build 2105070
236+
237+
- Fixed not turning on after pressing "Off" on IR remote twice (#1950)
238+
- Fixed OTA update file selection from Android app (TODO: file type verification in JS, since android can't deal with accept='.bin' attribute)
239+
240+
#### Build 2104220
241+
242+
- Version bump to 0.12.1-b1 "Hikari"
243+
- Release and build script improvements (PR #1844)
244+
245+
#### Build 2104211
246+
247+
- Replace default TV simulator effect with the version that saves 18k of flash and appears visually identical
248+
249+
#### Build 2104210
250+
251+
- Added `tb` to JSON state, allowing setting the timebase (set tb=0 to start e.g. wipe effect from the beginning). Receive only.
252+
- Slightly raised Solid mode refresh rate to work with LEDs (TM1814) that require refresh rates of at least 2fps
253+
- Added sunrise and sunset calculation to the backup JSON time source
254+
255+
#### Build 2104151
256+
257+
- `NUM_STRIPS` no longer required with compile-time strip defaults
258+
- Further optimizations in wled_math.h
259+
260+
#### Build 2104150
261+
262+
- Added ability to add multiple busses as compile time defaults using the esp32_multistrip usermod define syntax
263+
264+
#### Build 2104141
265+
266+
- Reduced memory usage by 540b by switching to a different trigonometric approximation
267+
268+
#### Build 2104140
269+
270+
- Added dynamic location-based Sunrise/Sunset macros (PR #1889)
271+
- Improved seasonal background handling (PR #1890)
272+
- Fixed instance discovery not working if MQTT not compiled in
273+
- Fixed Button, IR, Relay pin not assigned by default (resolves #1891)
274+
275+
#### Build 2104120
276+
277+
- Added switch support (button macro is switch closing action, long press macro switch opening)
278+
- Replaced Circus effect with new Running Dual effect (Circus is Tricolor Chase with Red/White/Black)
279+
- Fixed ledmap with multiple segments (PR #1864)
280+
281+
#### Build 2104030
282+
283+
- Fixed ESP32 crash on Drip effect with reversed segment (#1854)
284+
- Added flag `WLED_DISABLE_BROWNOUT_DET` to disable ESP32 brownout detector (off by default)
285+
3286
### WLED release 0.12.0
4287

5288
#### Build 2104020

images/wled_logo_akemi.png

2.84 KB
Loading

images/wled_logo_clean.png

-602 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)