Commit Graph

5657 Commits

Author SHA1 Message Date
Frank
d66720ade8 HUB75 128x64 (untested)
128x64 panels are normally "64x64 with chain length 2". But some newer ones appear to be native "128x64"
2024-10-14 13:19:24 +02:00
Frank
3fa5d0c5ba HUB75 on S3: workaround for not working runtime reconfiguration
* instead of deleting the driver object, we keep a "secret" reference and re-use it
* prevent having more than one HUB75 object
2024-10-14 13:05:27 +02:00
Frank
db983d80ca fir for 8266 build 2024-10-14 11:34:56 +02:00
Frank
68536635d7 show toast when reboot is needed, or error restart happened
less WTF, more information
2024-10-14 11:25:41 +02:00
Frank
0dd036cdce AR: trying to improve coexistence with HUB75
Hub75 is very memory hungry. So we try to make a bit more RAM available
* use 16bit samples when compiling with HUB75 support --> 3KB saved
* avoid using aPLL (HUB75 needs it)
* move audio buffers from BSS (always allocated) to heap (only allocated when FFTtask runs) --> 10Kb saved
* suspend live preview for 6 seconds when out-of-memory
2024-10-13 23:06:50 +02:00
Frank
d21b9b0687 typo
fixo
2024-10-12 23:05:08 +02:00
Frank
06590890bd HUB75: remove driver double-buffer support (obsolete)
We use our own memory-optimised buffer rather than the driver's own double-buffer.
2024-10-12 23:00:35 +02:00
Frank
54467473f8 HUB75: fix for crash on -S3
* use a fork of the HUB75 with fixed Bus_Parallel16::release()
* prevent accessing an invalid display object
2024-10-11 21:19:22 +02:00
Frank
98bdbd1eb2 AR: trying to improve co-existance with HUB75 DMA
bad news: wifi still crashes very frequently when I2S audio is in use.
2024-10-08 21:24:06 +02:00
Frank
1fcb15bcc0 build number 2410080 2024-10-08 19:02:55 +02:00
Frank
5381119f9e AR: new input type 'None' for network receive only 2024-10-08 19:00:59 +02:00
Frank
bda6dedfa8 popcorn FX minor rework
* made effect time dependent (instead of framerate dependent)
* speed tuning
* add a small trail to prevent jumping dots and blank rows
2024-10-07 15:54:04 +02:00
Frank
5b1f3e1eba make all compilers happy
fixing CI build error
2024-10-07 13:35:31 +02:00
Frank
7740c7dc62 drip effect rework
* made effect time-defendant (instead of framerate dependent)
* made effect a bit slower
* fixed physics
* made dropping more random (avoids skipped rows)
* drop traces look better now
* made bounce more realistic
* prevent off-screen drawing
2024-10-07 13:14:50 +02:00
Frank
a84216947b forgot one 2024-10-06 22:19:08 +02:00
Frank
e400720e40 correct code comment 2024-10-06 21:44:19 +02:00
Frank
8a0888ba88 Pinwheel update for 128x128 pixels 2024-10-06 21:38:09 +02:00
Frank
1656400746 bugfix for broken presets when segment name is very long
another off-by-one
2024-10-06 21:32:07 +02:00
Frank
1b7cae0c59 comment added 2024-10-06 20:12:56 +02:00
Frank
4fadcade93 fix for off-by-one error in Lissajous (float version) 2024-10-06 19:59:59 +02:00
Will Tatam
d429293741 WLEDMM*.bin only 2024-10-04 23:10:35 +01:00
Will Tatam
e665b34236 Move bins to single directory 2024-10-04 23:02:03 +01:00
Will Tatam
2bbb890fb9 tweak caching of build 2024-10-04 22:51:10 +01:00
Will Tatam
f4e9292849 Download all artifacts 2024-10-04 22:49:00 +01:00
Frank
e103a96eea Merge pull request #147 from Brandon502/mdev
2D Effect Snow Fall
2024-10-03 00:21:33 +02:00
Frank
1e5b246871 small fixes
very minor changes:
* HUB75 bus don't leave _len uninitialized, handle display == nullptr before using display members
* __attribute__((pure)) was in the wrong location
* wled00.ino: made lps (loops-per-second) calculation a bit more accurate
2024-10-03 00:19:18 +02:00
Brandon502
ebd16f6be4 Snow Fall - Minor Changes 2024-10-02 18:12:03 -04:00
Brandon502
18e22f5b5f Merge remote-tracking branch 'upstream/mdev' into mdev 2024-10-02 17:43:15 -04:00
Blaz Kristan
3a38d0cfed Fix for #4005 2024-10-02 23:22:27 +02:00
Will Tatam
16644f838a Remove stray commma from _data_FX_MODE_2DGAMEOFLIFE 2024-10-02 19:20:40 +01:00
Frank
b436a595ef bugfix for holes in 2D DNA Spiral
Holes were visible at height > 32. Root cause: "lerp8x8" seems to be inaccurate --> replaced by a simple linear calculation.
2024-10-02 17:09:29 +02:00
Frank
79f5db6d65 fadePixelColorXY bugfix 2024-10-02 16:12:48 +02:00
Frank
9ed787c086 colored burst effect bugfix (swapped XY dimensions)
fixing a bug where width and height got swapped (visible on non-square panels)
2024-09-30 18:54:32 +02:00
Frank
b0a7330a31 Akemi memory saver
lossless getPixelColor buffer is not needed for Akemi.
2024-09-30 17:35:14 +02:00
Frank
813b3705c1 Akemi bugfix for panel width > 32
due to a math accident, Akemi did not show proper GEQ bands in its hands when width>32.
2024-09-30 17:33:25 +02:00
Frank
63ff7205d6 wu_pixel small optimization
5% faster
2024-09-29 18:37:18 +02:00
Frank
3110b0a476 fix for XL builds
some usermod still seems to used sPC(float, float, c).

> Linking .pio/build/esp32_4MB_XL/firmware.elf
.pio/build/esp32_4MB_XL/src/usermods_list.cpp.o:(.literal._ZN7Frame3DD5Ev[Frame3D::~Frame3D()]+0x4): undefined reference to `Segment::setPixelColorXY(float, float, unsigned int, bool, bool)'
2024-09-29 18:02:39 +02:00
Frank
7e9474e78c depricate sPC(float, float)
the function is already removed in upstream.
You can use wu_pixel() instead, which is much faster and more accurate.
2024-09-29 17:51:44 +02:00
Frank
a0f07cabcb make a few getters "constexpr" as they just return a constant
constexpr ensures that the compiler will replace the "getter" call with the value return, saving function call overhead.

based on an idea from @blazoncek
2024-09-29 14:59:54 +02:00
Frank
b650c15997 platformio.ini updates for HUB75
* -D WLEDMM_SLOWPATH prevents using I2S#1 for ws281x leds
- matrixPortal S3: minor update to use more PSRAM (and keep more RAM availeable)
2024-09-29 02:01:57 +02:00
Frank
559d86256c live preview speedup 2024-09-28 02:56:46 +02:00
Frank
59ca792c9d HUB75: trade bit depth against memory needs
gradually reduce bitdepts on esp32
2024-09-28 02:45:16 +02:00
Frank
2aa0d47036 adding getPixelColorRestored()
similar to getPixelColor, but returns the original pixel without brightness adjustments.

* getPixelColorRestored is used by segment::sPC and segment::gPC
* getPixelColor is still used by ABL (auto brightness limiter)
2024-09-28 02:43:12 +02:00
Frank
b245112d2a some drawing speedups
* speedups for addPixelColorXY, fadePixelColorXY, fadeToBlackBy
2024-09-28 02:19:53 +02:00
Frank
0555b8e5f2 HUB75: avoid allocating ledMap
based on an idea by @troyhacks : fight heap fragmentation by avoiding to allocate ledMap when not needed.
2024-09-28 02:18:24 +02:00
Frank
8338b58b88 HUB75 memory usage info on serial 2024-09-28 02:15:41 +02:00
Frank
3a506aded2 trying to keep scrolling text readable
the problem (partly solved) is that scrolling text does not erase any previous text, but simply paints pixels in addition.

* add a "shadow" area around each letter, which is explicitly painted black
* only possible when  Trail=0, and overlay option selected
2024-09-28 02:12:53 +02:00
Frank
0ca3f136b1 ws error printing improvement
* limit to 3 messages per second
* print size when alloc failed
2024-09-28 02:06:48 +02:00
Frank
bc11ec4b4e HUB75 bugfixes
* exclude HUB75 from ABL (bad macro in const.h; "pwr" item in json.cpp)
* show HUB75 as "physical" (LEDs preferences)
* minor corrections
2024-09-26 17:33:40 +02:00
Frank
1ddc9e38a2 HUB75 bugfix - preserve chain length parameter
chain length was always replaced with "4"
2024-09-26 16:55:40 +02:00