6580 Commits

Author SHA1 Message Date
Frank
7883474404 postProcessFFTResults minor refactoring
* limiter on/off : made the logic a bit clearer.
* use a simpler way of writing filters: a = n*a + (1-n)*b --> a = a+ n*(b-a)

no functional impact.
2024-07-04 18:37:31 +02:00
Frank
eaf6117f31 Merge branch 'mdev' into Full_audio_FastPath 2024-07-04 17:55:12 +02:00
Troy
28cb5c88b6 Skeleton, not working yet. 2024-07-03 16:20:44 -04:00
Frank
73a7ff1cdd Merge pull request #142 from MoonModules/Reduced_Stackbuffer
reduce stack buffer usage for AudioReactive settings page
Total savings: from 3530 down to 2566 bytes = 970 bytes
2024-07-03 21:40:40 +02:00
Frank
27dd6bddac AudioReactive:digitalmic:pin[] --> uxp
before: String buffer usage: 2805 of 4037 bytes
after:    String buffer usage: 2566 of 4037 bytes
2024-07-01 22:56:18 +02:00
Frank
8cfd0df710 Update xml.cpp 2024-07-01 22:54:51 +02:00
Frank
29013a3f83 auto-replace long functions with short names
adI = addInfo
adD = addDropdown
adO = addOption
adF = addField

before: String buffer usage: 3183 of 4037 bytes
after:    String buffer usage: 2805 of 4037 bytes
2024-07-01 22:54:24 +02:00
Frank
31a12f5098 AudioReactive -> ux
before: String buffer usage: 3530 of 4037 bytes
After:    String buffer usage: 3183 of 4037 bytes
2024-07-01 21:10:45 +02:00
Frank
a317af42fc trying to make effects respond to changes quicker in fastpath mode
filter parameter tuning
2024-07-01 16:37:44 +02:00
Frank
e98858c751 audio FASTPATH, part 2
* introducing sliding window FFT, which effectively doubles the rate of samples - and FFT results - produced per second. As a side-effect, it also makes FFT a bit less noisy.

As sliding window FFT requires double the number of FFT runs, the feature is only enabled on esp32 and esp32-S3.
2024-07-01 16:29:09 +02:00
Frank
61afb26d21 Update audio_reactive.h - fix compile error 2024-07-01 15:53:20 +02:00
Frank
2987f0d045 SR_STATS: filter time
adding "Filtering Time" to SR statistics (info page)
2024-07-01 15:46:51 +02:00
Frank
9803cecee2 new idea to reduce stack buffer usage
the JS string can be shortened, by putting the usermod into a variable `ux` that is used instead of repeating the string 'Aduioreactive'.

For now its just an experiment, to see if the idea works on several browsers.
2024-07-01 02:46:14 +02:00
Frank
f3cbe75506 remove support for old ArduinoFFT library < 1.9.2
there is no reason any more to still use the old arduinoFFT library version.
2024-07-01 02:39:44 +02:00
Frank
4f9f250a1d only run FFT.dcRemoval() when no filtering was applied
FFT.dcRemoval() may introduce unwanted artifacts into the FFT result.
2024-07-01 02:29:14 +02:00
Frank
f432cb20dc remove experiments:freqRMS option
the default value seems to work well.
2024-07-01 02:14:00 +02:00
Frank
c07658a7cb post-merge
* fix drawLine prototype
* a few more "inline"
* typo
2024-06-26 23:41:38 +02:00
Blaz Kristan
2aad3f5356 Antialiased line & circle 2024-06-26 22:40:59 +02:00
Blaž Kristan
87b5badd5b Merge pull request #3944 from paspiz85/pas4
Using brightness in analog clock overlay
2024-06-26 22:08:03 +02:00
Pasquale Pizzuti
c22c5b75a0 using global brightness 2024-06-26 22:07:18 +02:00
Woody
383c797746 add Webpage shortcuts, resolves #2362 2024-06-26 21:45:53 +02:00
Pasquale Pizzuti
b01f3118b4 using color_fade 2024-06-26 21:43:20 +02:00
Woody
feac33653f Fix resizing bug
The bug was that when resizing the window, it always jumped to the Colors tab instead of staying on the currently selected tab.
2024-06-26 21:43:20 +02:00
Pasquale Pizzuti
74e999b1e5 using brightness in analog clock overlay 2024-06-26 21:43:20 +02:00
Blaz Kristan
c5283da32a Fix for #3878 2024-06-26 21:38:02 +02:00
Blaz Kristan
3df3b9acaf ArduinoFFT update
shadow variables
2024-06-26 21:35:19 +02:00
thatdonfc
543dfd206d Fix palette names when palette ID > 58 and not custom 2024-06-26 21:21:54 +02:00
Will Miles
775e07c6d6 serveLiveLeds: Use dynamic buffer
There were three problems here:
- AsyncWebServer is going to copy to a heap buffer anyways, so we might
   as well just pass it one it can use
- The buffer size estimate was wrong -- we need 9 bytes per pixel
   ("RRGGBB",), so the buffer could overflow, and it was not
   considering the extra 2D requirements
- On ESP8266, the stack allocation was overflowing the stack, causing
  corruption and crashes.
2024-06-26 21:20:41 +02:00
Will Miles
9103f6a4df Update for new AsyncWebSocketBuffer
Eliminate the extra indirection and allocate shared buffers directly.
2024-06-26 21:08:21 +02:00
Troy
93ec9b9151 Stop double first pixel on waterfall effect 2024-06-25 23:28:33 -04:00
Frank
2dd9a8232e kicking gh build re-run 2024-06-24 22:32:33 +02:00
Frank
c67d5dbdc4 build 2406240 - release v0.14.1-b32 2024-06-24 21:51:34 +02:00
Frank
bc006268ae new MM build for -C3 with 2MB flash (no OTA) 2024-06-24 21:50:49 +02:00
Frank
2510292d1a ws preview: better handling of RGBW
avoid over-saturation in preview
2024-06-24 18:04:18 +02:00
Frank
c876267c95 Update audio_reactive.h - debug fix 2024-06-24 17:14:09 +02:00
Frank
899899094f sound sync: use last remaining gap to transmit soundPressure
* use last remaining two bytes in audioSyncPacket for transmitting soundPressure
* 0x0 is treated as "legacy value" --> soundPressure = volumeSmth;
* decodeAudioData: ensure receivedPacket struct members  are correctly aligned -
strictly speaking it is not safe to cast a uint8_t* as it does not offer any alignment guarantees.
* remove 8266 special handling in audioreactive::setup()
2024-06-24 17:01:43 +02:00
Frank
e28fa67bf0 version bump -b32.40 2024-06-23 00:38:27 +02:00
Frank
6dd8f6e34f Merge pull request #133 from Brandon502/mdev
Game of Life Memory Leak Fix + Other Changes

Fixed memory leak using new. Removed gameoflife struct and reverted back to using pointers to segenv.data (similar to starLeds version).

Added Blur slider. Blurs dead cells slowly to bgColor depending on slider instead of immediately dying. Doesn't effect game logic.

Removed confusing pauseFrames, uses .step to pause now.

Keeps track of last palette used and immediately recolors cells if new palette/color selected. Can be improved.

Changes gameSpeed slider to be more consistent. Speed = updates/second now in increments of 4.
2024-06-23 00:17:15 +02:00
Frank
2edfcb3343 small optimization for color_blend
* Early exit when color1 == color2 (nothing to blend)
* pre-calculate `blendmax - blend` (repeated 4 times)
2024-06-20 12:26:43 +02:00
Brandon502
9ef8ff6a16 GoL - Redraw loop changes
Merged generation == 1 checks into standard checks.
2024-06-20 01:07:52 -04:00
Brandon502
086b0e3e0e GoL - Game start transition
Starting alive cells are randomly colored in and bg fades on game start.
2024-06-19 23:09:31 -04:00
Brandon502
4aee7eb6c6 GoL - Small fix
Remove redundant check
2024-06-19 19:00:14 -04:00
Brandon502
e8e784ddcd GoL CRGB changed to uint32 & color_blend()
Other small changes.
2024-06-19 15:25:51 -04:00
Brandon502
3d12f0f8ed Merge remote-tracking branch 'upstream/mdev' into mdev 2024-06-16 21:39:31 -04:00
Brandon502
015260c5ad GoL - Small color fix and glider detection change.
Wrap is disabled if only 5 remaining alive cells (Glider).
2024-06-09 15:50:07 -04:00
Troy
72e8fca943 Merge branch 'MoonModules:mdev' into Strip_Level_Color_Adjust 2024-06-06 11:57:03 -04:00
Frank
fc173b3bc0 fix compiler warning for matrixportal buildenv 2024-06-06 14:39:56 +02:00
Frank
578c6bb9d8 make sure that HUB75 is recognized as "adressable leds"
when IS_DIGITAL and IS_PWM are false, palettes and color wheel are not shown in UI
2024-06-05 23:05:34 +02:00
Brandon502
5a6d80f30b GoL - Correct data allocation
Fixed overlooked data allocation after switching gliderLength to uint16.
2024-06-05 12:41:36 -04:00
Brandon502
c655db3864 GoL - gliderLength switched to uint16_t 2024-06-05 11:46:23 -04:00