Arne
aed03cd03b
hack: disable dmx receiver while wifi is being activated
...
This fixes a crash in the dmx receiver. The dmx receiver cannot work while cache is disabled. For some reason activating wifi disables the cache. In theory, the driver is placed in iram and should work, but it doesn't. This might be a bug in the driver.
2025-01-16 11:35:04 +00:00
Arne
a3bcf92ea5
Turn dmx_into into class with state.
...
This is much nicer to read and in the future more state will be added to support all the rdm stuff.
2025-01-16 11:29:39 +00:00
Will Tatam
0ad31c90f6
fix merge error
2025-01-16 11:26:42 +00:00
Arne
f06a1e8b49
Extract dmx_input from dmx.cpp into dmx_input.cpp.
...
This greatly improves readability because it gets rid of most of the
ifdefs.
2025-01-16 11:21:41 +00:00
Arne
a0ca243955
Move dmx_input pin allocations from wled.cpp to dmx.cpp
2025-01-16 11:20:19 +00:00
Arne
702d085117
rename global dmx... variables to dmxInput...
...
This is the first step in supporting both dmx input and dmx output on different pins.
2025-01-16 11:16:39 +00:00
Blaž Kristan
adead9b578
Bus wrapper modifications
...
- NeoPixelBus update 2.8.3
- automatic selection of appropriate I2S bus (`X1xxxxxxMethod`)
- removed I2S0 on ESP32 (used by AudioReactive)
- renumbered internal bus numbers (iType)
- added buffer size reporting
Bus modifications
- WWA strip support
- bus initialisation rewrite
- optional parallel I2S (ESP32, S2 & S3)
2025-01-12 15:17:22 +01:00
Will Miles
b8685f2c39
Convert usermods to static libraries
...
Redesign the usermod system so that usermods are implemented as
PlatformIO libraries instead of headers. This permits them to call for
dependencies, and eliminates the compiler flags for enabling each one,
allowing the build cache to behave better.
The usermod list is built using some linker magic to construct a static
list in ROM memory. This eliminates the need for wasting SRAM on
something fixed at build time.
2025-01-11 12:08:29 -05:00
Blaž Kristan
272129f66c
Add ability to enter desired BSSID
...
- add event handling (debug)
- fixes #2151
2024-12-25 15:54:50 +01:00
Damian Schneider
5f77478841
Replace PRNG with hardware RNG ( #4225 )
...
Both ESP8266 and ESP32 have a hardware random register. This update makes use of that. It is slightly faster than the fastled variants but mostly it is truly random, even when the timing limitations stated in the datasheet are disregarded. Also saves a bit on code size.
- Replaced all random8() and random16() calls with new hw_random() versions
- Not replaced in FX where PRNG is required
2024-12-20 19:12:29 +01:00
Damian Schneider
cae98451e3
Merge remote-tracking branch 'upstream/main' into 0_15__speed_improvements
2024-12-20 09:12:01 +01:00
Damian Schneider
fd3b47908b
renamed functions, changed timeout to 24ms
2024-12-19 17:41:44 +01:00
Damian Schneider
e16d3bf040
Fix: output-glitching on ESPNow remote command reception
...
Processing of received button command is no longer processed in the callback, instead the value is saved to a variable and processed in the main loop.
The actual fix is to not access the file system while data is being sent out: even just trying to open a non-existing file causes glitches on the C3. Waiting for the bus to finish fixes this BUT it causes a frame-delay which is the lesser evil than random color flashes.
2024-12-13 07:40:04 +01:00
Blaž Kristan
1c220d25ca
WiFi reconnect bugfix
...
- additional debug info
2024-12-07 16:47:50 +01:00
Blaž Kristan
5c2bac4b9d
Merge branch '0_15' into 0_15__speed_improvements
2024-11-09 10:53:27 +01:00
Frank
d98ca9a202
show correct flash mode in WLED_DEBUG
2024-11-01 21:51:46 +01:00
Blaz Kristan
a4c49aa35e
Fix for #4005
2024-10-02 20:15:58 +02:00
Blaz Kristan
ba3a61f623
Reduced code size by:
...
- removing WS2812FX::setMode()
- removing WS2812FX::setColor()
- removing floating point in transition
- color handling modification in set.cpp
- replaced uint8_t with unsigned in function parameters
- inlined WS2812FX::isUpdating()
- (MAY BE BREAKING) alexa & smartnest update
2024-10-02 20:14:25 +02:00
Blaz Kristan
b50e6e0d90
Static PinManager & UsermodManager
...
- saves a few bytes of flash
2024-09-19 21:44:11 +02:00
Blaz Kristan
ac8f919304
Serial improvements (can RX, canTX)
...
PinManager bugfix for unsigned long long
2024-09-17 16:21:52 +02:00
Blaz Kristan
f12de61d7f
Merge branch '0_15' into bus-config
2024-09-12 15:08:10 +02:00
Blaz Kristan
e59b38a5d2
Fix unsigned long in debug printf
2024-09-12 15:04:10 +02:00
Blaž Kristan
5b8d9d1510
Merge branch '0_15' into bus-config
2024-09-12 08:49:04 +02:00
Blaz Kristan
20444ee7d5
Debug optimisations
2024-09-10 15:20:34 +02:00
Blaz Kristan
dbb47d506c
Bus manager rework
...
- move macros to constexpr methods
- introduce type capabilities for UI
- add phase shifting (POC) to PWM
- replace PWM CIE LUT with calculated curve
CIE & phase shifting credit @dedehai
2024-08-24 11:35:32 +02:00
Damian Schneider
ac503ef72e
adding boot-up delay define
...
use
-D WLED_BOOTUPDELAY=500
in platformio env definition to add 500ms of delay before hardware init.
2024-07-17 18:54:33 +02:00
Blaž Kristan
bec1adf7ad
Merge pull request #4035 from willmmiles/esp8266_pwm_fix
2024-07-13 07:13:09 +02:00
Blaz Kristan
887254f5da
Bugfixes
...
- LED memory calculation (not UI)
- potential fix for #4040
- compiler warning in FX
2024-07-07 14:18:51 +02:00
Will Miles
ff39a8db3f
Fix PWM crashes on ESP8266
...
Vendor in the ESP8266 Arduino core PWM library, with a fix for a nasty
NMI crash bug. Sometimes the NMI return instruction seems to fail,
resulting in an infinite loop as the PC gets stuck. Work around this
by backing up and restoring the PC if needed.
2024-06-27 21:30:05 -04:00
Blaz Kristan
0af3063127
Enhancements
...
- edit WiFi TX power (ESP32)
- keep current ledmap ID in UI
- limit outputs in UI based on length
- wifi.ap addition to JSON Info
- relay pin init bugfix
- file editor button in UI
2024-06-23 14:08:18 +02:00
Blaz Kristan
f4475b9d2a
Dynamic parallel I2S output
...
- update NeoPixelBus to v2.8.0
- use single/mono I2S + 4x RMT for 5 outputs or less
- use parallel x8 I2S + 8x RMT for >5 outputs (limit of 300 LEDs per output)
2024-06-12 18:00:00 +02:00
Blaz Kristan
2ff49cf657
Fix for #3952
...
- included IR optimisations & code rearrangement
2024-05-03 15:45:15 +02:00
Blaz Kristan
aa970d6ca5
Extend JSON API info object
...
- add "clock" - CPU clock in MHz
- add "flash" - flash size in MB
Fix for #3879
2024-04-05 19:26:09 +02:00
Blaz Kristan
a106342439
PICO & WROVER runtime support
...
return of GPIO16
2024-04-04 23:09:59 +02:00
Blaz Kristan
f21ab3588d
Individual color channel control for JSON API
...
- fixes #3860
- debug verbose
- PSRAM detection
2024-03-29 16:43:37 +01:00
Blaz Kristan
5f37c19d42
PSRAM fix & CCT IC
...
- prevent PSRAM use on ESP32 rev.1 without compile fix
- add runtime selection for CCT IC (Athom 15W bulb)
2024-03-28 16:03:06 +01:00
Blaz Kristan
47f44680a3
Multi-update
...
- 0.15.0-b2
- WS2805 support (NeoPixelBus 2.7.9)
- generic PSRAM support (ESP32 rev.1 still needs compile fix)
- BREAKING: default LEDPIN 2 (due to PSRAM)
- PinManager optimisations
2024-03-24 17:37:11 +01:00
Will Miles
505d319e01
Fix avgLoopMillis
2024-03-18 19:50:54 -04:00
Blaz Kristan
da6d64e581
Multiple fixes
...
- compile time button configuration #3792
- remove IR config if not compiled
- additional string optimisations
2024-03-05 16:27:28 +01:00
Blaz Kristan
41129cf379
Sqeeze every byte
2024-02-25 17:08:01 +01:00
Blaz Kristan
989bdfb0d5
Reduce string RAM usage for ESP8266 debug builds
2024-02-17 11:33:42 +01:00
Blaz Kristan
95e2e574b8
ESP-NOW packet modification
...
- include up to 5 segments in 1st packet
- header contains total number of packets (instead of segments)
web server code reorganise
2024-02-15 20:40:55 +01:00
Blaz Kristan
aa24e5d284
Preset caching on chips with PSRAM
...
- credit @akaricchi
2024-02-13 11:12:04 +01:00
Blaz Kristan
276a93605d
Multiupdate
...
- allow DMX for S2 & C3 (ESPDMX, needs testing)
- (debug) string cleanup & optimisation
- WLED_BRAND for AP SSID
2024-02-09 22:15:29 +01:00
Blaz Kristan
7eae8f68d8
Merge branch 'main' into 0_15
2024-02-06 14:47:20 +01:00
Blaz Kristan
8ab621bc91
Another unsigned
2024-02-06 11:43:57 +01:00
Blaz Kristan
d1910e4274
Merge branch '0_15' into multiwifi
2024-02-01 16:49:55 +01:00
Blaz Kristan
df750c2a71
Fix for single wifi
2024-01-27 08:39:54 +01:00
Blaz Kristan
3eb412b750
Add rescan & selection on disconnect
2024-01-26 18:38:56 +01:00
Blaz Kristan
5c7b7e4182
Constant & override
2024-01-26 15:31:09 +01:00
Blaz Kristan
8817d41275
Wrong return value
2024-01-25 19:57:04 +01:00
Blaz Kristan
fbe26e13ae
Remove erroneous wifi selection
2024-01-25 19:46:47 +01:00
Blaz Kristan
4408dffa87
Better invalid password handling
...
Changed function return value
2024-01-25 19:42:23 +01:00
Blaz Kristan
07495f6621
Merge branch '0_15' into temporary-AP
2024-01-24 20:22:50 +01:00
Blaz Kristan
5952edc550
Some fixes
2024-01-24 19:52:41 +01:00
Blaz Kristan
3e2aebcd10
Remove regression
...
Init wifi for scan
Always save WiFi name
2024-01-24 15:43:59 +01:00
Blaz Kristan
1bebf3d3d6
Optimise wifi scan
...
- prioritize strongest signal
- prune removed networks
- fill present networks
2024-01-23 20:44:43 +01:00
Blaz Kristan
8868ecd11a
Cleanup 2
2024-01-22 20:48:03 +01:00
Blaz Kristan
bfb217c203
Implement multiple WiFi
...
- similar to #3705
- solves #2845 , #2974 , #852 , #1228
2024-01-21 00:30:15 +01:00
Blaz Kristan
21d21ea7f0
Orange flash fix ( #3196 ) for transitions
2024-01-14 17:40:04 +01:00
Blaz Kristan
f070dc5527
Cosmetic & needsUpdate()
2024-01-04 17:40:23 +01:00
Blaz Kristan
fc6e7c81d3
Merge branch '0_15' into suspend
2024-01-04 17:33:07 +01:00
Blaž Kristan
301bdf2186
Merge pull request #3610 from Aircoookie/psram-4-json
...
Allow PSRAM (SPI RAM) to be used for JSON buffer
2023-12-30 11:00:53 +01:00
Blaz Kristan
1c1b67e000
Full per-port ABL implementation and bugfix.
...
Update of BusManager class (static)
2023-12-29 23:07:29 +01:00
Blaz Kristan
bc85520f5e
Merge branch '0_15' into suspend
2023-12-28 23:38:42 +01:00
Blaz Kristan
d3be7a3edf
Merge branch '0_15' into psram-4-json
2023-12-28 23:38:27 +01:00
Blaz Kristan
6cd0da821a
Reduce heap fragmentation when switching ledmaps
2023-12-28 23:32:47 +01:00
Blaz Kristan
08d9f7d967
Fix for #2922
2023-12-23 21:05:01 +01:00
Blaz Kristan
cf3f6ede72
Suspend strip during operations
2023-12-22 15:39:07 +01:00
Woody
7af5b24b03
Fix bug that welcome page was not shown
2023-12-21 22:17:43 +01:00
Blaz Kristan
1f81fb9284
Implement JSON buffer in PSRAM to free up DRAM.
2023-12-21 21:30:17 +01:00
Blaz Kristan
2944b2a8f6
Merge branch '0_15' into temporary-AP
2023-12-16 13:07:40 +01:00
Blaz Kristan
6f3b5fc559
Add JSON API for AP toggle
2023-12-10 09:59:36 +01:00
TripleWhy
25c5e823d9
Seed FastLED's random functions during startup
...
This allows effects or color palettes that use FastLED's RNG to be
different each time the device is powered on.
2023-11-27 18:44:09 +01:00
Blaz Kristan
27532a4237
Add new AP type to prevent user frustration.
2023-11-22 15:30:04 +01:00
Blaz Kristan
467f69f50e
Switch off AP after 5min
...
- when no clients are connected in "No connection after boot" mode
2023-11-21 17:23:51 +01:00
Blaz Kristan
db881ee011
Small optimisations.
...
2D liveView (non-WS) core
soundSim fix
2023-10-25 20:27:01 +02:00
Blaz Kristan
cc68e6b6e6
Squashed commit of the following:
...
Remove sync receive
Disallow 2D effects on non-2D segments
Optimisations
Sync clarification
AR palettes
Return of 2 audio simulations
Bugfix in sync #3344
- remove excessive segments
- ignore inactive segments if not syncing bounds
- send UDP/WS on segment change
- pop_back() when removing last segment
Add pairing support for ESP-NOW sync
Reduce string RAM footprint
UDP parse optimisation
Make WizMote work with sync.
ESP-NOW wireless sync POC.
- caveat: devices have to be on the same channel
- clashes with WizMote handling ATM
2023-09-10 18:52:14 +02:00
Blaz Kristan
d1b00ba95d
Bugfix.
...
- feed WDT even if strip is updating
- provide custom palette names
- handle interface cooldown properly
- rotary encoder ALT fix for custom palettes
2023-08-28 17:58:30 +02:00
Frank
1ed817932b
esp-now remote: reduce number of exported functions
...
too many global variables and functions ... this makes stuff 'static' that can remain at file scope
2023-07-30 21:47:18 +02:00
Frank
050489dd80
allow Lolin Wifi Fix on -S3
2023-07-20 22:09:48 +02:00
Blaz Kristan
fa6070c680
Multiple updates:
...
- additional debug timings
- removed local leds[] buffer
- async segment bounds change (crashes seen otherwise)
- added isActive() check to Segment drawing methods
- ABL simplification
- palette option for Black hole (FX)
- (possible) crash mitigation is Segment handling (rapid preset changes)
2023-07-12 20:52:34 +02:00
Christian Schwinne
822298ab66
Merge branch 'main' into alt-buffer
2023-07-09 11:31:02 +02:00
Blaz Kristan
f437fd6cd6
Code readability.
...
Fix for peek.
Loop timing.
2023-07-06 21:16:29 +02:00
Blaz Kristan
59a144baed
Disable global buffer on ESP8266 by default
...
Remove global dependency from Bus class and subclasses
Remove timings
2023-07-05 23:57:46 +02:00
Blaz Kristan
ad825b80b0
Added a few debug timings.
2023-07-05 17:16:54 +02:00
Blaz Kristan
272f96b405
Double buffering at bus level.
2023-06-30 21:12:59 +02:00
Christian Schwinne
481bd6f57a
Add WiFi network scan RPC command to Improv Serial ( #3271 )
2023-06-27 01:51:44 +02:00
Christian Schwinne
61ba16b779
Global buffer and ABL fixes
2023-06-27 00:38:30 +02:00
Clayton Sims
e4ee392c27
Support for ESP-NOW Wireless Remote Control ( #3237 )
...
* Initial checkin for ESP-NOW remote feature
* cleanup irrelevant comment
* don't bring in espnow package includes when feature disabled
* Formatting and removing inaccurate call mode hardcoding
* Fork ESP Now code by platform (8266 v. esp32)
* compiled html update
* Disable ESP-NOW remote by default on ESP32 until tested
* Enable ESP-NOW remote for ESP32
* Rename ESP NOW define
---------
Co-authored-by: cschwinne <dev.aircoookie@gmail.com>
2023-06-22 10:06:19 +02:00
Aircoookie
dd9da2853a
Support settings pin unlock via JSON
...
Also supports locking by providing any incorrect pin
2023-06-14 11:53:39 +02:00
Blaz Kristan
82e448de7c
Beta-3 changes
...
- remove I2C init from usermods
- PCF8574 (&co) port expander support
- refactor PIR & Rotary encoder & 4LD
- reboot race condition
- optimisations
2023-05-30 19:36:14 +02:00
Blaz Kristan
9f3520cba5
Update comments.
2023-05-30 16:09:51 +02:00
Blaz Kristan
5a8a8dc292
Feature implementation
...
- #2236
- #1984
Better PSRAM handling
platformio.ini update
On/Off bus handling
2023-05-28 22:50:19 +02:00
Blaž Kristan
8e79bd8785
Merge pull request #3162 from wled-install/main
...
Add LAN8720 reset and new ethernet board
2023-05-05 21:32:06 +02:00
Blaz Kristan
432c5837f0
Bugfix
...
- WiFi power for Lolin S2 & C3 (use -DLOLIN_WIFI_FIX)
- web response buffer size (corruption when websockets not used)
2023-04-30 17:30:36 +02:00
wled-install
599ff66522
Add files via upload
2023-04-28 17:15:31 +02:00
Christian Schwinne
fb1999c474
Merge pull request #3107 from Aircoookie/onepx-segment
...
Tweaks & bugfixes.
2023-03-20 23:42:30 +01:00
Frank
cded92662f
workaround for issue #3128
2023-03-16 13:08:34 +01:00
Blaz Kristan
763b64cc57
Combat low memory condition on ESP8266.
2023-03-10 15:20:50 +01:00