Commit Graph

1256 Commits

Author SHA1 Message Date
Blaž Kristan
cf87da0ef3 Minor UI fixes. 2021-10-06 08:37:27 +02:00
Blaz Kristan
8f1cee2e61 Fixed mem calculation. 2021-10-04 19:44:46 +02:00
Blaz Kristan
caa9cc32d7 Removed double buffer.
Moved bri scaling into UDP function.
Prevent double DDP port allocation.
2021-10-04 19:41:20 +02:00
Blaž Kristan
b003ed3f03
PWM fan with temperature control usermod (#2246)
* PWM fan with temperature control usermod

* Fix for incorrect RPM reported.
2021-10-03 23:34:21 +02:00
cschwinne
330da137db Fixed virtual getPixelColor() returning scaled values 2021-10-03 22:01:50 +02:00
cschwinne
9e5d45d0de Optional custom start indices 2021-10-03 20:48:08 +02:00
cschwinne
6ddcba8917 Change currentPreset to byte
JSON API still returns -1 for no preset
2021-10-03 13:53:37 +02:00
cschwinne
91598cbbbf Remove Total LEDs field 2021-10-03 12:23:24 +02:00
Proto-molecule
05b532b9eb
Add new Usermod (#2244) 2021-10-02 20:19:12 +02:00
cschwinne
0b0d18f182 Fix preset variable 2021-10-02 20:10:52 +02:00
Blaz Kristan
c1b0877956 Bus implementation.
Added separate DDP listener.
LED settings overhaul.
Minor fixes:
- reduced LED memory
- boot brightness fix
- reduced debug frequency
- added usermod time spent debug
- mDNS glitch fix
2021-10-02 15:07:02 +02:00
Blaz Kristan
46b66c76ef Merge pbolduc/WLED/feature/upd-ddp-send into network-bus 2021-10-02 10:48:48 +02:00
cschwinne
17c20276a9 Make sbuff local
This should save 4 bytes per ESPAsyncE131 instance
2021-10-01 20:26:23 +02:00
Blaž Kristan
dc9dedf220
Fixed pin reservations. (#2214)
* Fixed pin reservations.
Added ethernet pin reservations.
Minor tweaks in usermods.

* Optional ADA compile (not default, free GPIO3 use)

* Move ethernet definitions

Remove pin 3 used check

Co-authored-by: cschwinne <dev.aircoookie@gmail.com>
2021-09-30 16:30:44 +02:00
Gregory Schmidt
ccd3152b24 Add Basic Overlay support to Usermods. 2021-09-29 19:23:32 -08:00
Scott Bailey
3a874bc8c7 Add colorUpdated call 2021-09-28 09:56:00 -07:00
cschwinne
8453cd82e9 Fixed DMXmap 2021-09-27 22:51:40 +02:00
cschwinne
f62e56b7ec Merge branch 'master' of https://github.com/Aircoookie/WLED 2021-09-27 14:20:41 +02:00
cschwinne
2ac90bbb96 Fixed sunrise/set UTC offset 2021-09-27 14:20:21 +02:00
Blaž Kristan
f85f2d5d22
Merge pull request #2203 from protoplasma-mx/master
Updated links in files generated by cdata.js
2021-09-26 20:20:23 +02:00
Blaz Kristan
a94269ceb9 Novosibirsk time-zone. 2021-09-26 17:21:32 +02:00
Blaž Kristan
51a4f61a8f Add "on":true to playlist JSON 2021-09-24 12:20:20 +02:00
Blaz Kristan
267f5159a3 Wled math bugfix. 2021-09-23 20:38:50 +02:00
cschwinne
96422de031 0.13.0-b3 2021-09-21 23:37:35 +02:00
Blaž Kristan
e416ec9279 Removed dev types. 2021-09-21 12:05:28 +02:00
Blaž Kristan
5eb4ffb1cc Fix for missing inverted analog. 2021-09-21 11:59:23 +02:00
Christian Schwinne
8fae964ee8
Allocate segment data based on currently active segments (#2217) 2021-09-20 21:22:50 +02:00
cschwinne
baf49b88f4 Semi-working segment on/off transition 2021-09-20 21:22:04 +02:00
Phil Bolduc
3577da05ac
Avoid redundant localIP calls, each call takes 0.700 us on ESP32 240Mhz (#2206)
* Avoid redundant localIP calls, each call takes 0.700 us on ESP32 240Mhz

* Fall through to check Wifi local ip if not connected to ETH

* Changed local var from ipAddress to localIP to better reflect content
2021-09-19 19:51:54 +02:00
Christian Schwinne
b8e8028eb9
Merge pull request #2184 from Aircoookie/fx-mods
FX optimisations and segment names
2021-09-19 15:16:23 +02:00
Gabriel
10a52f8cf9 Updated cdata.js so generated files point to knoWLEDge 2021-09-18 09:02:37 -05:00
cschwinne
c5eac298e6 Do not delete name if segment bounds are unchanged 2021-09-18 01:20:17 +02:00
cschwinne
bc18eda336 Segment name UI changes
Text field accessible by edit icon
Replaced magnifier with iconfont
Use woff2 font format
Fix scaled checkboxes visible in UI settings header
2021-09-18 00:31:39 +02:00
cschwinne
d7e3765efe Fix segment creation 2021-09-14 23:35:04 +02:00
Christian Schwinne
3d51d1e345
Merge pull request #2175 from henrygab/revert_pr1902
Revert changes from PR1902
2021-09-14 00:29:59 +02:00
cschwinne
bd23942893 Fixed IR JSON cmd string (closes #2187 ) 2021-09-12 01:37:41 +02:00
cschwinne
c8610b8ad2 Small improvements to segment names 2021-09-12 01:15:51 +02:00
Christian Schwinne
8d4636bbab
Merge pull request #2170 from scottrbailey/error-12-fix
Fix error 12 issues
2021-09-11 14:32:06 +02:00
Christian Schwinne
c24ab1b21d
Auto create segments setting (#2183) 2021-09-11 01:17:42 +02:00
cschwinne
f1e2439e66 Slight IR JSON simplefication
Check for missing file
No duplicate cmd object
2021-09-09 12:05:02 +02:00
Blaz Kristan
4d89ed701d FX optimisations.
Added segment names.
2021-09-08 23:10:54 +02:00
cschwinne
83c6f72eb0 Fix segment runtime not reset on FX change via HTTP API 2021-09-05 01:28:00 +02:00
cschwinne
e26299b998 Revert some small syntactical changes 2021-09-05 00:39:47 +02:00
Scott Bailey
a839809eb8 change random mode choice on presetFallback 2021-09-03 00:14:07 -07:00
Scott Bailey
88ceba59cf Fix error 12 issues 2021-09-02 22:56:49 -07:00
Henry Gabryjelski
021c4ba68a Revert changes from PR1902 2021-08-29 11:49:06 -07:00
Christian Schwinne
54f4658dae
Added JSON API over serial support (#2156)
* Added JSON API over serial support

* Disable Serial API if pin 3 is used

Disable serial response if pin 1 is used
2021-08-26 11:04:27 +02:00
Blaž Kristan
dbc67e077d
Merge pull request #2134 from scottrbailey/sr_palettes
Add new palettes from SR branch
2021-08-26 06:52:56 +02:00
Scott Bailey
e968917dbc rename palette arrays 2021-08-25 10:16:30 -07:00
Scott Bailey
d8240bb683 Changing some palette names 2021-08-25 09:17:03 -07:00
Blaž Kristan
b481c13829
Sync groups (#2150)
* Added UDP sync groups.

* Shortened string.

* Changed sync default to group 1 only.

* Make packets with version < 9 group 1

* Send sync group options as bytes, parse in JS

Co-authored-by: cschwinne <dev.aircoookie@gmail.com>
2021-08-25 16:39:12 +02:00
Blaž Kristan
77c0ba990d Bugfix for calling FX=~ from within playlist preset. 2021-08-24 06:10:59 +02:00
Henry Gabryjelski
1d4487b6cd
Ethernet configuration fix, improve PinManager (#2123)
* Improved pin manager, ethernet config

* Ethernet is configured prior even to LED pins
* Pin Manager allocation / deallocation functions
   now take an "ownership" tag parameter, helping
   avoid accidentally free'ing pins that were allocated
   by other code
* Pin Manager now has ability to allocate multiple
  pins at once; Simplifies error handling

* Fix operator precedence error

Bitwise AND has lower precedence than the
relational "greater than" operator.

* PinManager update for some user modules

* don't build everything...

* Final step to reduce RAM overhead

* update comment

* remove macros

* Remove leftover allocated

* Init ethernet after settings saved

Co-authored-by: Christian Schwinne <dev.aircoookie@gmail.com>
2021-08-23 14:14:48 +02:00
Maximilian Mewes
f04c9d101e
Added usermod "battery status basic" (#2127)
* added usermod battery_status_basic

* test.. something is wrong

* Squashed commit of the following:

commit 0f845527c53f838e2c68d50ec3e9d6c68c4cee46
Author: itCarl <mewes.maximilian@gmx.de>
Date:   Tue Aug 10 18:35:15 2021 +0200

    updated readme and added image showing info modal

commit 055579fcf71796519d00566452030f31798121d0
Author: itCarl <mewes.maximilian@gmx.de>
Date:   Mon Aug 9 20:53:07 2021 +0200

    small map function fix

commit 811614cf9e73f4731acb234d0d210a7b19565e9a
Author: itCarl <mewes.maximilian@gmx.de>
Date:   Mon Aug 9 19:35:21 2021 +0200

    updated ui

commit cadf2e23b7
Author: itCarl <mewes.maximilian@gmx.de>
Date:   Mon Aug 9 16:07:32 2021 +0200

    added usermod battery_status_basic

* updated readme, changed USERMOD_BATTERY_MIN_VOLTAGE default to 2.6 volt

* fixed readme image file naming

* added usermod settings for runtime changes

* fixed copy and paste mistake

* undo ui changes

* reworked addToJsonInfo() to make it compatible with the standard Info page.

* removed images from readme

* added ESP32 support

* updated readme
2021-08-20 20:42:46 +02:00
Ahmed Shehata
2ecc53ba56
UDP Signal color correction (#1902)
* added ui changes for saturation in sync

* added setters/getters for hsv settings

* added color correction logic

* faster algorithm for color conversion

* added save/load config to fs

* adjusted value scale

* move color functions to colors.cpp

* remove unchecked file

* Various small changes

Moved settings location in sync settings
Changed wording from hyperion to live
Moved code into setRealtimePixel(), reducing duplication and enabling the functionality for DMX streams

Co-authored-by: Christian Schwinne <dev.aircoookie@gmail.com>
2021-08-19 18:24:41 +02:00
cschwinne
91e758f66f Fixed JSON IR remote not working with codes greater than 0xFFFFFF (fixes #2135) 2021-08-18 02:10:40 +02:00
cschwinne
441416b241 Fixed edge case with transition 0 2021-08-18 01:59:01 +02:00
cschwinne
4b817208aa Added application level pong websockets reply (#2139) 2021-08-17 12:47:01 +02:00
Scott Bailey
7fea0c3244 Add new palettes from SR branch 2021-08-12 12:58:51 -07:00
cschwinne
bd13336256 Fixed undesirable boot color transition 2021-08-06 02:08:36 +02:00
Blaž Kristan
2e9bd477d9
Upload files & skinning (#2084)
* Skinning WLED & uploading files.
Backup & restore configuration & presets.
External holidays.json

* Option for segment count instead of stop.

* Small fixes and improvements

* Further improvements

* Enable custom CSS by default

Co-authored-by: Christian Schwinne <dev.aircoookie@gmail.com>
2021-07-26 00:10:36 +02:00
Blaz Kristan
e1527fcbb9 White slider fix. 2021-07-22 15:36:33 +02:00
cschwinne
123bd0bb92 v0.13.0-b2
Reduced unneeded websockets pushes
2021-07-11 02:38:31 +02:00
cschwinne
6a8ed1192f Accept hex color strings in individual LED API
Version bump to 0.13.0-b2 "Toki"
Fixed transition property not applying unless power/bri/color changed next
Moved transition field below segments (temporarily)
2021-07-10 16:14:17 +02:00
Andy Hofmann
0862859f93
New usermod: Support for RGB Rotary Encoder Board (#2068)
* Added RGB Rotary Encoder usermod v1

* RGB rotary encoder UM: Readme; Added example video

* RGB rotary encoder UM: Readme; Added example video

* RGB rotary encoder UM: Fixed getJsonValue usage

* RGB rotary encoder UM: Removed spaces in JSON keys

* RGB rotary encoder UM: Cleanup readFromConfig

* RGB rotary encoder UM: Cleaned up type usages

* RGB rotary encoder UM: Fixed crash on re-enable
2021-07-09 20:25:35 +02:00
Henry Gabryjelski
3ad336a1eb
Bug 2064, 2063 - PinManager usage (#2066)
* Fix 2063 - Do not free pins unless allocated

* Fix 2064: Allocate pins used for Ethernet

* Fix obvious compilation errors.

* Fix multiple bugs...

* pinsAllocated[2] set twice due to copy/paste bug.
* wrong pin allocated for ETH_CLOCK_GPIO17_OUT due to copy/paste bug

* Stylistic change per PR review

* Stylistic change per PR review

* attempt to allocate pin for "default" button

* remove extra local variable

* check return value from ETH.begin()

Co-authored-by: Christian Schwinne <dev.aircoookie@gmail.com>
2021-07-09 20:06:48 +02:00
cschwinne
a17f83cedd Renamed NOTIFIER_CALL_MODE_ to CALL_MODE_ 2021-07-09 18:54:28 +02:00
cschwinne
2c6850f6e4 Fixed presets using wrong call mode (e.g. causing buttons to send UDP under direct change type)
Increased hue buffer
2021-07-09 18:42:52 +02:00
cschwinne
5da47636cf Busses extend total configured LEDs if required (closes #2056 )
Fixed extra button pins defaulting to 0 on first boot
2021-07-09 16:25:23 +02:00
cschwinne
e04b965659 Peek uses the main websocket connection 2021-07-08 02:01:17 +02:00
Aircoookie
17d2fb80f2 More robust initial resource loading in UI 2021-07-07 23:45:53 +02:00
Blaž Kristan
14b7ec2a80
Added support for ESP32 S2. (#2067)
Updated Wemos Shield parameters.
2021-07-07 01:56:07 +02:00
Louis Beaudoin
8c44147a45
Usermod Settings polishing/documentation (#2061)
* Testing new wrapper functions to read Usermod config

* Usermod Settings polishing
- remove getBoolFromJsonKey() (no longer needed), fix getValueFromJsonKey(element, destination, defaultvalue)
- Update Usermod Settings html "number" field to use step="any", and make wider to make maximum values fully visible
  - step="any" allows viewing/submitting full 7/8-digit float values, and the arrow buttons step by 1 now, instead of .00001 (which wasn't good for integers or floats)
  - html wasn't generated/compressed yet

* Update usermod_v2_example.h with more complete example and documentation for Usermod Settings
- readFromConfig() has three options for how to load values from the config JSON, we need to pick one

* Update/rename usermode_rotary_brightness_color, to be used as an example of more robust parsing Usermod Settings values

* Update Usermod example, rename getValueFromJsonKey() to getJsonValue()
- chose single readFromConfig() pattern
- demonstrating 3-argument getJsonValue()
- remove leftover printf in getJsonValue()

Co-authored-by: Louis Beaudoin <louis@embedded-creations.com>
2021-07-05 23:14:57 +02:00
cschwinne
ec05215a5e Update ArduinoJSON to 6.18.1 2021-07-04 18:52:05 +02:00
cschwinne
5903e8256f Fixed preset immediately deselecting when set via HTTP API PL= 2021-07-04 13:29:59 +02:00
cschwinne
c879351063 JSON IR improvements
Restored support for "PL=~" mistakenly removed in 2106300
2021-07-04 13:23:45 +02:00
cschwinne
1bb7e36a65 More compact playlist entries 2021-07-04 00:55:32 +02:00
Christian Schwinne
793a01f7ca
Bus wrapper simplification (#2054)
* Use RMTN method

* Simplify BusWrapper

* Update PlatformIO configuration

* Fix non-included dependencies
2021-07-03 13:52:23 +02:00
cschwinne
40c8fdbf64 Added WebSockets support to UI 2021-07-02 01:46:42 +02:00
cschwinne
dc01c907f1 Send websockets on every state change 2021-07-02 00:24:14 +02:00
cschwinne
0197d89976 Added MQTT button option 2021-07-01 20:51:52 +02:00
Christian Schwinne
e16a67242e
Merge pull request #2011 from blazoncek/multi-button-update
Added MQTT support for buttons and simplified switch.
2021-07-01 14:57:12 +02:00
cschwinne
4c678a5010 Fixed a minor visual issue with slider trail not reaching thumb on low values 2021-07-01 14:56:18 +02:00
Christian Schwinne
c4f084a991
Merge JSON ircodes (#2048)
* add decodeIRJson and JSON remote option

* handle JSON API commands also

* removed code that forced IR codes in a certain range to be decoded by decodeIR24. Generate default ir.json files for currently supported remotes.

* comment out printing API commands in IR handling

* refactor decodeIRJson to change how ir.json is loaded add support for calling several c functions

* Handle setting palette when effect is still on default solid and will not display it

* remove colorUpdated notifier that was pasted in accidentally

* Update to handle both 24-key and 24-key old remotes (#1969)

* Update readme.md

* Update ir.cpp

Handle both 24-key and 24-key old in decodeIR switch statement

* Re-add JSON remote option

Co-authored-by: Scott Bailey <scottrbailey@gmail.com>
Co-authored-by: Artacus <40248830+scottrbailey@users.noreply.github.com>
2021-07-01 00:17:07 +02:00
cschwinne
4c73df4ba6 Shorten input size class names 2021-07-01 00:01:27 +02:00
cschwinne
4aa53aa5a5 Adjust input field widths 2021-06-30 21:53:22 +02:00
cschwinne
7483d3b229 Fixed settings page broken by using "%" in input fields (fixes #1516 ) 2021-06-30 18:21:56 +02:00
cschwinne
8b6cc708e7 Fixed a problem with disabled buttons reverting to pin 0 causing conflict 2021-06-30 12:33:51 +02:00
cschwinne
200960899e Removed preset cycle 2021-06-30 01:48:38 +02:00
cschwinne
599a456c81 Version bump to 0.13.0-b0 "Toki"
-   Added playlist editor UI
-   Reordered segment UI and added offset field
-   Raised maximum MQTT password length to 64 (closes #1373)
2021-06-30 01:23:35 +02:00
Christian Schwinne
4b46502d22
Playlist UI (#2046)
* Test 1

* State 2

* Playlist UI progress

* Playlist saving

* Playlist saving

* Playlist object array

* Added Offset to segment options

* Positioning

* Playlist UI complete
2021-06-30 01:01:15 +02:00
cschwinne
7233c55428 Segment Offset 2021-06-30 00:45:36 +02:00
Christian Schwinne
a58c5cce78
Merge pull request #1967 from poelzi/max_segments
Allow to override the max segments setting when compiling
2021-06-29 23:43:20 +02:00
Blaz Kristan
bc0a3f8a47 Better number handling in Usermod settings. 2021-06-29 18:36:55 +02:00
Aircoookie
04b4ef6d85 Regenerate html_settings.h 2021-06-27 22:19:03 +02:00
Blaz Kristan
9e8aadb750 Usermod settings v2
- added POST field parsing
- simpler handling in readFromConfig()
2021-06-27 15:32:33 +02:00
cschwinne
af9aa7d201 Do not compile in example usermod 2021-06-25 12:15:23 +02:00
cschwinne
4cd3a614de Fixed preset only disabling on second effect/color change (fixes #2038 ) 2021-06-25 10:12:21 +02:00
cschwinne
1e5420e6a7 readFromConfig() update 2021-06-25 01:26:15 +02:00
cschwinne
660de0b4e5 Auto-create segments based on configured busses 2021-06-24 02:29:14 +02:00
cschwinne
c831d62bc3 Added 2 Ethernet boards and split Ethernet configs into separate file 2021-06-20 00:14:09 +02:00
cschwinne
1539e703e9 Use sprintf_P for color array generation 2021-06-19 11:13:05 +02:00
cschwinne
495f7f190f Fixed DOS on Chrome tab restore causing reboot 2021-06-18 13:50:22 +02:00
cschwinne
dfdb22f584 Optimized JSON buffer usage (pre-serialized color arrays) 2021-06-17 19:46:18 +02:00
cschwinne
7d2f5f0799 Fixed div by 0 when using palette on single LED segment 2021-06-15 20:12:20 +02:00
cschwinne
7610ab7a8d Update logo 2021-06-14 01:58:12 +02:00
cschwinne
623694ab73 Playlist additions 2021-06-10 02:52:20 +02:00
cschwinne
374457df70 A few small fixes 2021-06-09 12:57:16 +02:00
Blaz Kristan
8fdf84068d Optimisations. 2021-06-07 21:05:31 +02:00
Blaž Kristan
131625bb53 Endless playlist fix. 2021-06-07 14:16:29 +02:00
Blaž Kristan
d6337f7500 Added MQTT support for buttons and simplified switch.
Added PIR sensor option.
2021-06-03 12:18:11 +02:00
Dick Swart
344c9e9238 added SN_Photoresistor usermod 2021-06-02 12:01:06 +12:00
Christian Schwinne
89b2b066ef
Merge pull request #2004 from HyperAtlas/master
CRONIXIE check in json.cpp
2021-06-02 00:25:04 +02:00
Aircoookie
dfe065ef82 Fixed Pushbutton inverted not selectable 2021-06-02 00:22:57 +02:00
SpikeyHelmet
2178fd6ee9
CRONIXIE check in json.cpp 2021-06-01 06:37:35 +05:30
Christian Schwinne
9f13763637
Merge branch 'master' into toki 2021-05-30 13:22:42 +02:00
cschwinne
315d4f225a Added analog button hue control 2021-05-30 02:03:32 +02:00
cschwinne
85489458d8 Small improvements
Settings cosmetic changes (spaces, smaller pin inputs, moved analog legend to wiki)
Uncommented STATUSPIN code (still defined out by default)
Removed adalight pin 3 lock
Added define for PSRAM
2021-05-30 01:31:04 +02:00
cschwinne
bfc7f56c4d Accurate UDP sync for NTP enabled instances 2021-05-30 00:08:24 +02:00
Blaz Kristan
7685f9b73d Ignore analogue pin -1 on ESP8266 2021-05-28 17:45:14 +02:00
Blaž Kristan
664fad96fa Fixed error-prone use of shifting. 2021-05-28 14:14:50 +02:00
Christian Schwinne
669a610e36
Merge branch 'master' into multi-button 2021-05-28 10:03:27 +02:00
Blaž Kristan
7e0d9cb48c Added:
- analogue FX speed
- analogue FX intensity
- analogue palette selection
- UI legend
2021-05-28 08:47:15 +02:00
cschwinne
7cbc9d21b5 Fixed difference calculation 2021-05-27 23:29:11 +02:00
cschwinne
55b26751ae Cache CORS preflight request 2021-05-27 11:09:57 +02:00
cschwinne
c2892d7887 Add UDP sync of system time 2021-05-27 02:02:02 +02:00
cschwinne
6c8bf090fe Small optimizations 2021-05-27 00:09:52 +02:00
Blaz Kristan
13bc378069 Fixes for analog. 2021-05-25 23:59:43 +02:00
cschwinne
8431d0bd5c Replace Time with Toki 2021-05-25 09:59:19 +02:00
cschwinne
852f758be3 Subsecond accuracy NTP 2021-05-24 19:05:34 +02:00
cschwinne
b455f432d5 Toki 1st experiment 2021-05-24 14:34:03 +02:00
cschwinne
9b796531b2 Fixed Sunrise calculation (atan_t approx. used outside of value range) 2021-05-23 18:49:23 +02:00
cschwinne
08d7a1c123 Set Nixie contents via JSON API
Elekstube mod support a subset of the cronixie display patterns
2021-05-21 22:23:12 +02:00
cschwinne
adf5c8c278 Center smaller images 2021-05-21 15:19:18 +02:00
Blaž Kristan
5f86a8a15b
Merge branch 'master' into multi-button 2021-05-21 13:59:33 +02:00
Blaž Kristan
042c756be8 Added analog button support.
Inverted switch fix.
2021-05-21 13:33:22 +02:00
cschwinne
2d586406da First working Elekstube IPS and RTC mod 2021-05-21 10:10:29 +02:00
cschwinne
371c4e0051 Fixed WS281x output on ESP32
Fixed potential out-of-bounds write in MQTT
Fixed IR pin not changeable if IR disabled
Fixed XML API <wv> containing -1 on Manual only RGBW mode (see #888, #1783)
2021-05-20 21:41:39 +02:00
Blaz Kristan
69099fcdd7 Multi button support. 2021-05-20 19:54:07 +02:00
Daniel Poelzleithner
57e50d0c33 Allow to override the max segments setting when compiling 2021-05-20 11:46:12 +02:00
Blaž Kristan
1617658bfe
Per strip skip first LED implementation (#1871)
* Per strip "skip first LED".
Moved skip first led into bus manager.

* Update cfg.cpp

* Do not display Skip 1st on analog types

Rename skipFirstLed() to clarify what it does
Remove RGBW override

Co-authored-by: Aircoookie <dev.aircoookie@gmail.com>
Co-authored-by: Aircoookie <cschwinne@gmail.com>
2021-05-17 16:23:46 +02:00
Christian Schwinne
4bcfff780a
Merge pull request #1965 from blazoncek/usermod-update
Updated usermod readme and usability enhancements.
2021-05-17 13:05:11 +02:00
Blaž Kristan
12f9ad8f7f Updated usermod readme and usability enhancements. 2021-05-17 12:52:27 +02:00
cschwinne
6f843fcb27 Added experimental {"on":"t"} (resolves #1952 ) 2021-05-17 12:29:30 +02:00
cschwinne
e0f17e1778 Always copy MQTT payload 2021-05-17 10:38:07 +02:00
cschwinne
bfb27c49a2 Fixed possibility of non-0-terminated MQTT payloads 2021-05-13 01:04:33 +02:00
cschwinne
cb7b7f1dca Add notice if no usermod installed 2021-05-11 23:21:57 +02:00
cschwinne
5ca8bc3f2a Fixed various Codacy code style and logic issues 2021-05-11 14:54:03 +02:00
Aircoookie
9c5afda83a
Merge branch 'master' into tm1814 2021-05-11 11:59:35 +02:00
cschwinne
d94d3d4bc5 Added experimental /json/cfg endpoint for changing settings from JSON 2021-05-11 01:11:16 +02:00
Aircoookie
119826cb9b
Merge pull request #1951 from blazoncek/user-configurable-usermods
User configurable usermods.
2021-05-09 23:10:37 +02:00
cschwinne
6ab95ed4ef Remove Usermod inheritance from UsermodManager 2021-05-09 22:54:04 +02:00
cschwinne
4f1eb64ac6 Added changes to set.cpp and wled_server.cpp 2021-05-08 18:04:44 +02:00
Blaz Kristan
3f8dc76f84 Added missing config info. 2021-05-08 12:13:39 +02:00
cschwinne
f60579fd21 Remove outdated Visual Studio files (please make PR to re-add if still required) 2021-05-07 16:51:41 +02:00
Blaz Kristan
136a00a301 User configurable usermods.
- Utilizing addToConfig() & readFromConfig()
- UM configuration Settings page
- MQTT support for usermods
- A few sample usermods including rewritten Temparature and new Multi-Relay
2021-05-07 12:41:39 +02:00
cschwinne
fa075f6800 Revert TV reversion 2021-05-07 11:42:12 +02:00
cschwinne
e2061464a5 Fixed not turning on after pressing "Off" on IR remote twice (fixes #1950)
Fixed OTA update file selection from Android app (TODO: file type verification in JS, since android can't deal with accept='.bin' attribute)
2021-05-07 11:32:08 +02:00
Aircoookie
1a2543ddde Added FPS test utility 2021-04-30 00:00:46 +02:00
Eric Severance
8b759bc5d9 TM1814 requires refreshes to remain powered off and a slightly faster refresh speed. 2021-04-25 09:08:02 -07:00
acshef
9a0aac4745
Add IP Address to JsonInfo (#1912)
* Add IP Address to JsonInfo

The value is added to the JSON only if the device is connected to the network, and uses the JSON key `"sip"` to match [wled00/xml.cpp](wled00/xml.cpp#L249). The overarching goal of this is to expose the IP Address to the Home Assistant WLED Integration, so that Home Assistant can provide a link to the WLED device (either directly through the Integration/Device page 🤞 or *ad hoc* in Lovelace).

* IP in JSON info

Empty string if not connected

Co-authored-by: Aircoookie <cschwinne@gmail.com>
2021-04-25 01:37:16 +02:00
cschwinne
ced0cc1bac 0.12.1-b1 2021-04-22 01:12:31 +02:00
cschwinne
3c49f22266 Merge branch 'master' of https://github.com/Aircoookie/WLED 2021-04-22 00:47:58 +02:00
cschwinne
13ae99edec Reduce TV simulator flash usage 2021-04-22 00:47:50 +02:00
Andy Shinn
0f82730a78
Release engineering improvements (#1844)
* version set from package.json and release bin names

* support direnv virtualenv

* versioned PlatformIO environment

* matrix support for parralel CI

* gather artifacts

* release on tagging

* minor scripts formatting
2021-04-22 00:41:36 +02:00
cschwinne
ff083daf31 Merge branch 'master' of https://github.com/Aircoookie/WLED 2021-04-21 17:22:00 +02:00
cschwinne
7f6a554e1b Small adjustments 2021-04-21 17:21:55 +02:00
Eric Severance
eb99271120
Use 22.5 for the TM1814 max current (#1905)
* Configure TM1814 max current

* Use 22.5 mA as this seems to be a common value for the LEDs
2021-04-20 21:36:52 +02:00
Eric Severance
13e5c695c3
Initialize PixelSettings for TM1814 strips (#1847)
* Better handling for TM1814 strips

* Call SetPixelSettings after Begin as described on the NeoPixelBus wiki

* Use NeoTm1814Settings::MaxCurrent constant
2021-04-18 19:14:12 +02:00
Def3nder
12de47c923
Fix TV-Simmulator Effect flash usage (#1621)
* Add alternative TV-Sim version without tv_colors.h

...and safe 18k flash this way

* ...remove the define
2021-04-16 10:22:22 +02:00
cschwinne
afde7940d8 NUM_STRIPS no longer required with compile-time strip defaults 2021-04-16 01:01:24 +02:00
cschwinne
01dd41bdbf Added ability to add multiple busses as compile time defaults using the esp32_multistrip usermod define syntax 2021-04-15 10:55:22 +02:00
cschwinne
f3b84f1365 Switch trigonometric implementation, saves 460b memory 2021-04-14 16:49:47 +02:00
cschwinne
5751d5c1b0 Fixed Button, IR, Relay pin not assigned by default (resolves #1891)
Fixed instance discovery not working if MQTT not compiled in
2021-04-14 01:16:32 +02:00
Aircoookie
3d2336aac1
Merge pull request #1890 from blazoncek/holiday-list
Easier holiday/special events handling for background images.
2021-04-14 00:56:41 +02:00
cschwinne
afe5f19464 Update holiday BG durations
Fix semicolons
2021-04-14 00:44:07 +02:00
Blaz Kristan
f411e07fb4 Easier holiday/special events handling for background images. 2021-04-12 23:00:22 +02:00
Blaz Kristan
9bfe27dd5e Sunrise and sunset calculation and sunrise/sunset triggered presets. 2021-04-12 21:53:22 +02:00
cschwinne
48d5584491 Add switch support 2021-04-12 00:45:33 +02:00
Aircoookie
5786f1d057
Merge pull request #1863 from fishbone-git/running_dual
Running dual
2021-04-11 00:59:56 +02:00
cschwinne
87c6f3c757 Add gap for Running Dual 2021-04-11 00:50:14 +02:00
Aircoookie
48c0360877
Merge pull request #1850 from eg321/VL53L0X-gestures
Support of simple gestures for VL53L0X laser sensor
2021-04-08 15:31:37 +02:00
Aircoookie
daa77d40a3
Merge pull request #1862 from fishbone-git/drip
Drip: use constrain to keep in segment limits
2021-04-07 00:59:38 +02:00
cschwinne
789c00dde1 Change indexSet to signed 32 bit 2021-04-06 11:42:21 +02:00
Blaž Kristan
90da471084 Fix for mirrored segments. 2021-04-06 07:48:12 +02:00
Blaž Kristan
2d55056015
Merge branch 'master' into ledmap-multisegment-fix 2021-04-05 21:19:19 +02:00
Blaz Kristan
ffab9bb893 Ledmap multisegment fix. 2021-04-05 21:14:36 +02:00
fishbone-git
1192d04391 sync and merge master 2021-04-05 20:49:31 +02:00
fishbone-git
f18dced2f3 use constrain to keep in segment limits 2021-04-05 16:08:35 +02:00
cschwinne
ecdc0a3800 Fixed ESP32 crash on Drip effect with reversed segment (#1854) 2021-04-03 17:18:29 +02:00
cschwinne
46d66dded8 Release of WLED v0.12.0 2021-04-03 00:15:28 +02:00
Egor Chernodarov
601005f837 Support of simple gestures for VL53L0X laser sensor 2021-04-02 23:04:10 +07:00
cschwinne
fbe866198d Fixed iOS LED settings 2021-04-02 16:52:53 +02:00
cschwinne
8755a9bcda 0.12.0 Beta 5 (fixes #1837) 2021-03-30 02:04:02 +02:00
cschwinne
e46078286d 0.12.0 Beta 4 2021-03-29 02:28:34 +02:00
cschwinne
806221bc3f Move RGBW activation to wled.cpp 2021-03-28 17:31:05 +02:00
cschwinne
4264c2a173 Test for arcane curses 2021-03-25 20:00:31 +01:00
cschwinne
1f4a15ee6b Fixed current estimation 2021-03-23 14:08:01 +01:00
cschwinne
bab4f9963f Bump version code (never deploy at 3am) 2021-03-23 03:15:43 +01:00
cschwinne
1dbcac4f53 Framerate bug workaround 2021-03-23 03:10:24 +01:00
cschwinne
8d20a13776 Fixed chevron icon not included 2021-03-22 00:31:01 +01:00
cschwinne
213bc75ae1 Change cache control to revalidate each time 2021-03-21 02:40:12 +01:00
cschwinne
8a2256e0d8 0.12 beta 2021-03-20 18:43:05 +01:00
Aircoookie
eee2450c9e
Merge pull request #1786 from DerFetzer/fix_fx_sync
Send notification for HTTP API calls with only effects parameters
2021-03-19 09:09:17 +01:00
Aircoookie
e2242f5d99
Merge pull request #1804 from blazoncek/chunchun-fix
Slight modification of Chunchun effect.
2021-03-19 00:05:21 +01:00
Christophe Gagnier
4a20f43fbf
Search bar and palettes preview (#1637)
* Fix swipe behavior on firefox when clicking on palette selection input

When clicking on the palette select element on firefox, it would often swipe to the next tab due to a bug in firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1410816

* Update UI .h files and remove console log

* Fix indentation in requestJson

* Add palette preview
Add palette and effects search

* Add palette preview
Add palette and effects search

* Add palette preview

Add palette and effects search

* Add palette preview

Add palette and effects search

* Fix error with background image

* Add missing palettes

* Add expiration to cached palette data

* Remove extra console.log

* bug fixes for palettes

* Rename "Default" effect back to "Solid"

* Fix scrolling issue when selecting an effect

* Add sticky default and sticky selected item

* Change checkboxes for radio button

* build html .h files

* Design Iteration 1

* Palette preview style changes

* Add button for clearing search field

* Use version ID for caching palette data rather than 24h expiration

Co-authored-by: Aircoookie <dev.aircoookie@gmail.com>
2021-03-18 23:59:56 +01:00
Blaz Kristan
e06d269b82 Slight modification of Chunchun effect. 2021-03-15 17:01:56 +01:00
Aircoookie
ba4c3e3852
Merge pull request #1724 from blazoncek/playlist-fix
Playlist handling.
2021-03-13 22:46:32 +01:00
cschwinne
b8de36b340 Cleanup 2021-03-13 22:46:08 +01:00
cschwinne
26096bc136 Added options for Auto Node discovery
Optimized strings (no string both F() and raw)
2021-03-13 22:04:37 +01:00
cschwinne
3460f9d9cc Auto discovery follow-up 2021-03-09 18:00:02 +01:00
Aircoookie
20bebe98b1
Merge branch 'dev' into autodiscovery 2021-03-09 17:24:57 +01:00
cschwinne
91d885eae4 Fix node type 2021-03-09 17:21:19 +01:00
cschwinne
ea3358ecb2 Autodiscovery improvements 2021-03-09 16:23:19 +01:00
cschwinne
9b3e6270d5 Auto start field population in bus config 2021-03-07 00:42:21 +01:00
cschwinne
71edc3a084 Fixed incorrect over-memory indication in LED settings on ESP32 2021-03-06 02:35:49 +01:00
cschwinne
05521bfd3a Added destructor for BusPwm (fixes #1789) 2021-03-04 22:17:25 +01:00
Blaz Kristan
6c997f573a Added vrsion info to autodiscovery packet. 2021-03-04 14:34:36 +01:00
cschwinne
c0dd98b6d7 Fixed relay mode inverted when upgrading from 0.11.0 2021-03-04 12:10:18 +01:00
DerFetzer
56cf1c818b Send notification for HTTP API calls with only effects parameters 2021-03-01 22:44:28 +01:00
Blaz Kristan
5553964d52 Moved nodes from Info to separate tab. 2021-03-01 11:13:40 +01:00
Blaz Kristan
90808ac67e Power off playlist unload. 2021-02-28 15:34:18 +01:00
Aircoookie
195af002cf
Merge pull request #1779 from Aircoookie/fixwarnings
Fix warnings
2021-02-27 02:08:01 +01:00
cschwinne
44a9fed8a9 Fix more warnings 2021-02-27 01:50:08 +01:00
cschwinne
cfc346abad Fix warnings misc fixes 2021-02-27 01:16:06 +01:00
cschwinne
befeb55349 Memory check on bus creation 2021-02-27 00:57:12 +01:00
Louis Beaudoin
b460d0f533
Fix Warnings (#1744)
* Remove -w (Suppress all warnings, including those which GNU CPP issues by default.) and add back in -Wall (Turn on all optional warnings which are desirable for normal code.) from build_flags

* Fixes warning: suggest parentheses around '+' in operand of '&' [-Wparentheses]

* Fixes warning: "CONFIG_LITTLEFS_FOR_IDF_3_2" redefined

* Fixes warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'uint64_t {aka long long unsigned int}' [-Wformat=]

* Fixes warning: enumeration value 'onoff' not handled in switch [-Wswitch]

* Fixes warning: "ntohl" redefined, warning: "ntohs" redefined, warning: "htonl" redefined, warning: "htons" redefined
- Original fix: 858f8f4ee9

* Fixes warning: unused variable 'mainSeg' [-Wunused-variable]

* Fixes warning: unused variable 'start' [-Wunused-variable]

* (untested!) Fixes warning: operation on '...' may be undefined [-Wsequence-point]

* Fixes warning: unused variable

* Fixes warning: unused variable and warning: narrowing conversion

* Fixes warning: unused variable

* Fixes warning: unused variable

* (untested!) Fixes warning: statement has no effect [-Wunused-value]

* Fixes warning: control reaches end of non-void function

* Fixes warning: unused variable

* Fixes warning: left operand of comma operator has no effect

* Fixes warning: no return statement in function returning non-void

* (untested!) Fixes warning: ISO C++ forbids converting a string constant to 'char*' and fixes warning: unused variable 'nPins'

* Fixes warning: deleting array 'dmxData'

* Fixes warning: unused variable

* Remove all warning suppression buildflags

Co-authored-by: Louis Beaudoin <louis@embedded-creations.com>
Co-authored-by: Aircoookie <dev.aircoookie@gmail.com>
2021-02-27 00:20:31 +01:00
Rolf
746a8badac
Animated Staircase Usermod (#1763)
* Initial version of the PIR Staircase wipe up/down.

* Add pulldown reminder

* Workaround for missing D6 and D7 definitions on esp32dev

* Add pinouts for d1 mini (esp8266 and esp32) and NodeMCU (and Arduino)

* These IO pins on all these boards... NodeMCU and d1_mini esp32 supported. The others? Fingers crossed.

* Changed to not collide with led strip pins

* PIR on GPIO 15 and 16 on esp32 d1 mini

* Removed PIN number ifdefs, it is impossible to match all boards

* Settings in flash, info and API

* Update README.md

* Small doc changes

* Improved README

* Fixed error in reading configuration

* Add API documentation

* Documentation and code cleanup

* Add enable/disable to API settings

* Restore segment state when disabling plugin

* Add debounce

* Set segments in animation mode

* Set segments in animation mode

* Add support for HR04 sensors

* Add preliminary description for  using an HR04 sensor

* Fixed typenumber and linked to datasheet

* Moved config away from defines to prevent user error

* Trigger Sensors through API

* Rename scripts folder so that it's name doesn't clash with the `pio` command (prevents platformIO in VSCode to work properly on Mac)

* Bugfix for detection problems

* Separated config from code

* Renamed Signal to Trigger pin

* Filename adjusted

* Clarifications and additions to README

* Fixed references to pio scripts

* Fixed API trigger bug

* Adjustments to README.md

* More efficient use of flash cycles, better naming

* Bugfix: bottom sensor was not read properly

* Renamed to Animated_Staircase

* Add note on ultrasonic sensor and esp32

* Better naming of defines

* Bugfix: Swipe down started with two steps.

* Removed upload port in nodemcuv2 section

Co-authored-by: Rolf <rolf@phobos.local>
Co-authored-by: Rolf <>
2021-02-25 09:52:48 +01:00
cschwinne
d7790a04c5 5 configurable pins per bus (for analog) 2021-02-24 14:49:39 +01:00
cschwinne
2c0b07387b Added QuinLED-ESP32-Ethernet type
Set 19531 as default ESP32 PWM frequency
2021-02-23 00:47:48 +01:00
Aircoookie
37d5b9109f
Merge branch 'dev' into mergedev_210222 2021-02-22 22:31:12 +01:00
Aircoookie
76e269ee21
Merge pull request #1764 from k7bbr/master
Add support for WESP32 board, change default Ethernet type to none, add macro to specify default Ethernet type at compile time
2021-02-21 22:38:15 +01:00
k7bbr
e4cda4bb99 change default Ethernet board to none 2021-02-20 02:18:37 -07:00
k7bbr
f333f867c5 Updated platformio.ini to reference esp32_eth env
change default ethernet type to none
add macro option to change default eth board at compile time
2021-02-20 01:54:54 -07:00
Kevin Dorff
75c46f7a0e
Create the sorted index of modes and palettes at startup (#1741)
* Very incomplete work toward sorting.

* Sort modes and palettes upon startup so I don't have to maintain the static index array.

* Remove cpp test file I used for development

* Added ModeSortUsermod, modified the other two usermods to use it.

* Update platformio_override.ini.sample and readme for ModeSortUsermod

* restore methods accidentally removed.
2021-02-18 00:28:01 +01:00
Aircoookie
5c6cb41124
Merge pull request #1742 from WJCFerguson/geometric_IR_brightness_steps
IR: change to non-linear brightness steps
2021-02-17 23:59:38 +01:00
Louis Beaudoin
96d5c03a6d bus_wrapper improvements for SPI output
- Identifying ESP32 hardware SPI by pin number is broken and flawed, replace with temporary hack instead until a better method of assigned resources can be devised
  - NeoPixelBus doesn't support HSPI, only VSPI right now, so matching HSPI pins to enable a non-existent VSPI driver is broken
  - ESP32 SPI peripherals can use alternate pins, so choosing to use hardware SPI only on the default pins is flawed
- Specify pins during Begin() call to allow for alternate pins and avoid driving the chip select signal
- Dotstar Software/Hardware output tested on ESP32, other SPI protocols and ESP8266 support was not tested
2021-02-17 17:03:57 +00:00
Louis Beaudoin
3a03bc41a7 Fix bus_wrapper.h bugs:
- missing breaks in switch(busType identifying SPI LEDs)
- set correct pin order for begin()
2021-02-17 16:58:03 +00:00
Aircoookie
331844ff73
Merge pull request #1708 from Matchlighter/patch-1
Add DNRGBW Mode for Real Time UDP Control
2021-02-16 17:43:33 +01:00
James Ferguson
2bc38e3784 IR: change to non-linear brightness steps
Prior Incrementing/decrementing by fixed steps (typically 10) means large
perceptual jumps at low brightness and small jumps at high brightness.  This
change moves to a geometric progression, closer at the bottom of the range and
widely spaced at the top.

While it could be done as a relative jump (incrementing by bri/4 and
decrementing bri/5 works quite well), it makes for irregular behavior when
moving back and forth.
2021-02-13 18:29:56 -05:00
cschwinne
d580dedfc8 Remove stray endif 2021-02-13 01:48:05 +01:00
cschwinne
aa0f4c9985 Update dev branch (resolve conflicts) 2021-02-13 01:43:16 +01:00
b3nj1
aa242d897d
DHT22/DHT11 humidity/temperature sensor usermod (#1719)
* DHT22/DHT11 humidity/temperature sensor usermod

* cleanup - don't report when usermod is auto-disabled since report isn't persistent

* track error count; retry once after error occurs

* for esp32, use esp32DHT library

* fix unreliable ESP32 readings by switching DHT library to https://github.com/alwynallan/DHT_nonblocking

* change default pin to Q2; don't burst readings if error occurs

Co-authored-by: Aircoookie <dev.aircoookie@gmail.com>
2021-02-13 01:21:13 +01:00
cschwinne
2f7be3475d Updated mapping comment 2021-02-13 01:02:14 +01:00
Blaz Kristan
2544d2e068 Dynamic LED map creation from JSON file /ledmap.json in format {"map":[4,3,2,1,...]}.
Used for rearranging LEDs (matrices, awkward placement, ...)
2021-02-12 11:54:35 +01:00
k7bbr
a09f64aee5 Add Ethernet support for WESP32 board 2021-02-11 02:36:15 -07:00
Aircoookie
f7114fc2aa
Merge pull request #1729 from blazoncek/tetris-fx
Tetris (falling bricks) effect & Colortwinkles low brightness fix.
2021-02-10 00:42:35 +01:00
cschwinne
7092f337ef Faster Tetrix mode
- Replaced a letter in name (copyright)
- 2x speed
- Replaced Merry christmas mode
2021-02-10 00:37:05 +01:00
Kevin Dorff
8e71c3ae17
Rotary Encoder, Four Line Display, and Auto Save Usermods (#1722)
* Ability to lookup Usermod by id so Usermods can use other Usermods.

* Rotary Encoder UI using two Usermods

* Updates. More to come, probably.

* Updated rotary usermod to honor USE_FOUR_LINE_DISPLAY if you want to use four line display. It should be truly optional, now.

* minor logic improvement to showing the current time in clock mode.

* improved 24 hour display foratting and ability to use the FourLineDisplayUsermod without the RotaryEncoderUIUsermod (option disable sleep and clock modes).

* Improved ordering of defines in the FourLineDisplayUsermod to put options people might need to change together toward the top.

* relocate plugins. add mention of the Wire requirement.

* usermod filenames changed, updating comment in const.h

* fix usermod locations.

* fix usermods_list to include changed folder.

* Improved for both usermods: install, config, and docs. Included sample platform_override.ini.

* Updated name of SDA and SCL defines for config of display

* update docs.

* Wrong year. Fixed.

* Fix youtube link, improve config of sleep/clock when the rotary usermod isn't installed.

* Minor fixes to four line display. Addition of Auto Save v2 usermod.

* Allow config for auto-save to set the preset number to use. Load preset at startup (so brightness is set correctly).

* Updated docs for Auto Save.

* Updated docs for Auto Save.

Co-authored-by: Kevin Dorff <kevin@macbookpro-kevin-wifi.local>
2021-02-09 17:15:43 +01:00
Blaz Kristan
a9c211d66c Tetris (falling bricks) effect & Colortwinkles low brightness fix. 2021-02-07 14:45:34 +01:00