Commit Graph

4216 Commits

Author SHA1 Message Date
Frank
6ce663784d bugfix to prevent random corruption of presets.json
accroding to the docs of setBufferSize() and svbuf():
> setBufferSize() has to be called right after opening file before any other operation!

so changing buffer sizes on an already opened and partially read file can cause file corruption as the internal buffer is exchanged "mid-flight".

Fix: move all f.setBufferSize() so they appear directly after f.open().
2025-10-24 16:24:33 +02:00
Will Tatam
79d03a2c61 Remove unused code - direct hub75 rather than via our own buffer 2025-08-20 22:32:44 +01:00
netmindz
daa810346c Merge pull request #252 from DedeHai/ParticleSystem_MM
bugfix for very low brightness in PS FX
2025-07-10 22:17:00 +01:00
Damian Schneider
0ea505e69c bugfix for very low brightness in PS FX 2025-07-10 22:47:35 +02:00
Will Tatam
b63e72e861 Add Particle System to genPresets 2025-07-06 15:02:30 +01:00
netmindz
a9cdc56f51 Merge pull request #226 from netmindz/gif-MM
GIF Playback
2025-06-29 20:12:20 +01:00
Will Tatam
c5a28c2977 only call endImagePlayback if reset true in resetIfRequired 2025-06-15 12:13:16 +01:00
netmindz
cf8aacb4b8 Merge branch 'mdev' into gif-MM 2025-06-15 12:05:18 +01:00
Damian Schneider
f7eba5506f Bugfixes in PS, improvements to PS Fireworks 1D (#4673)
- fixed inconsitencies in size rendering
- fixed palette being wrapped in color by position and color by age modes
- Fixed bug in memory layout: for some unknown reason, if flags come before particles, last flag is sometimes overwritten, changing memory laout seems to fix that
- New color modes in PS Fireworks 1D:
 - custom3 slider < 16: lower saturation (check1: single color or multi-color explosions)
 - custom3 slider <= 23: full saturation (check1: single color or multi-color explosions)
 - custom3 slider > 23: color by speed (check 1 has not effect here)
 - custom slider = max: color by age or color by position (depends on check1)
2025-05-04 12:24:28 +02:00
Damian Schneider
1cb2a6658e fixed wrong gravity setting, added option for no trail (#4665) 2025-05-04 12:21:06 +02:00
Damian Schneider
d6406540a2 reverted FX re-enumeration 2025-04-27 12:19:36 +02:00
Damian Schneider
4f688a428d fixed init sequence bug 2025-04-19 23:02:48 +02:00
Damian Schneider
56d7d84110 cleanup and minor improvements
- removed local buffer for ESP8266 in 1D system to save on RAM
- increased particle brightness in PS Impact
- minor tweak in collision binning (might improve speed)
- removed comments and some other unused stuff
- fixed a few compiler wranings
2025-04-19 10:30:04 +02:00
Damian Schneider
66e2e4d900 Adding Particle System (port from AC)
- port from AC
- also adding hardware random functions
2025-04-18 17:04:14 +02:00
Troy
4a3b7b58b0 Art-Net ocnfig improvements 2025-04-16 15:47:54 -04:00
Troy
5fcb3fc843 Show Art-Net starting universe 2025-04-16 15:29:58 -04:00
Troy
18b33df5a4 Use "start universe" from Sync Setup for Art-Net output start universe. 2025-04-16 14:34:57 -04:00
Troy
528b47ae50 Merge branch 'MoonModules:mdev' into mdev 2025-03-03 08:40:51 -05:00
Will Tatam
d9ab878503 Swap to WLED_ENABLE_GIF 2025-02-22 12:56:47 +00:00
Christian Schwinne
6d67dc9828 Proper debug statements 2025-02-22 12:55:43 +00:00
Will Tatam
132244cb42 Fix build errors 2025-02-22 12:53:37 +00:00
Christian Schwinne
9caa7cb4e9 Fix missing GIF enable macros 2025-02-22 12:40:42 +00:00
Christian Schwinne
255be30b38 Working GIF support 2025-02-22 12:37:59 +00:00
Christian Schwinne
b8a29bcbf8 GIFs work again in principle 2025-02-22 12:37:13 +00:00
Christian Schwinne
e8c09104e1 GIF testing 2025-02-22 12:21:59 +00:00
Will Tatam
e9d07d6020 Add dmxInput.isConnected() 2025-02-21 20:40:16 +00:00
Troy
55e9c3d7a2 IDF v4 Ethernet Fixes 2025-01-29 14:01:29 -05:00
Troy
a24491003c IDFv4 logic for f.setBufferSize() 2025-01-23 14:15:53 -05:00
Troy
46a2bed5b1 f.setBufferSize(FS_BUFSIZE); for buffered file functions 2025-01-23 14:04:11 -05:00
Frank
df55650c84 build 2501170 2025-01-17 21:44:52 +01:00
Frank
985fa1fd3f inline frequently used color utilities (up to 15% faster)
* moving color_blend, color_add, and color_fade to a seperate file, to allow the compiler to inline the functions.

* inlining slightly increases firmware size - original non-inline functions get used on 8266, or when WLEDMM_SAVE_FLASH is defined.
2025-01-17 21:42:26 +01:00
Frank
0eec8e46c9 robustness: prevent negative transitions
fix for a corner case that might lead to unexpected math overflow
2025-01-17 21:36:51 +01:00
Frank
2c0063dc5b tiny optimization
* use bitmask operations in getBitFromArray, setBitInArray
* make currentBri "const"
2025-01-17 21:13:27 +01:00
Frank
7bf7ac0c33 build 2501162 2025-01-16 21:01:40 +01:00
Frank
4221ed1859 LEDs driver: slowmode optimization
* isValid() -> isOk()
* removed unneeded "lastBus != nullptr" checks
* re-enable lastBus optimization in getPixelColor() and getPixelColorRestored()
* remove duplicate checks for _valid== true from busses (already done at BusManager level)
2025-01-16 20:58:32 +01:00
Troy
db2d50e6cd Change to 100 microsecond delay for Art-Net
Seems like a 10 microsecond delay on boards like the ESP32-P4 may not be enough, causing some issues with UDP audio sync being delayed or appearing "buffered".  Oddly 10 microseconds was fine with the ESP32 and ESP32-S3, so it may also be an underlying IDF v5.3 change. 

Practically, 10 microseconds or 100 microseconds isn't a real difference when we're dealing in frames per second.
2025-01-16 13:15:10 -05:00
Frank
8daf9d9ffb transition optimization (small speedup)
* move "progress()" into FX.h so the compiler can inline it
* removed redundant checks in  currentBri()
2025-01-16 18:26:10 +01:00
Frank
bd31dd2508 increase E131 max universes from 12 to 112 (esp32 boards only)
* use a more meaningful max universes limit of 112 (safe up to 128x128 pixels)
* accept more universes, but only track sequences for the configures max universes
* made e131LastSequenceNumber[] local (its only used in e131.cpp)
2025-01-16 14:48:54 +01:00
Frank
63db2c9fc1 prepare pinmager for -P4
support up to 56 GPIO pins (0 thru 55)
2025-01-16 13:07:43 +01:00
Frank
c96b2d7249 platformio.ini - re-introduce platform_packages for compatibility
MM builds are still using the standard arduino platform - we'll "flip the switch" later
2025-01-16 12:03:08 +01:00
Frank
e7614321e5 build 2501100 2025-01-10 18:57:40 +01:00
Frank
771f110b14 experimental: prevent strip flickering when loading presets from UI
* wait until strip.service() is done
* blank strip
* wait until all LEDs are updated
* load new preset
2025-01-10 18:48:47 +01:00
Frank
c144c77b81 S3: don't wait for serial to initialize
... allows to start effects a bit aerlier. Enabled by default on -S3. for your own builds, add `-DWLEDMM_NO_SERIAL_WAIT` to build_flags.
2025-01-10 15:50:52 +01:00
Frank
8317c891c1 better transitions overspeed bugfix
when the user wants less than 42 fps, respect this limit during transitions.
2025-01-10 13:50:25 +01:00
Frank
d9153854c4 bugfix: avoid effect speedups during transitions 2025-01-10 13:09:19 +01:00
Frank
6caa9d78b8 avoid glitches at relay power-on
* switch on relay _after_ the current leds transmission is complete.
2025-01-10 12:49:46 +01:00
Frank
c0d8e256ae WLEDMM: we need the same delay when initially switching the relay on 2025-01-09 23:51:03 +01:00
Damian Schneider
f4061e671b added a delay after switching relay (#4474)
- helps to stabilize power on the LEDs before sending data
2025-01-09 23:09:13 +01:00
Frank
79c26db4fa MM-specific handling of PICO reserved pins
this complements the previous commit
2025-01-07 16:45:42 +01:00
Frank
b4aa6a13a1 Merge pull request #4450 from adafruit/main
Add correct pin availability for ESP32 Mini modules
2025-01-07 16:32:18 +01:00