Commit Graph

4266 Commits

Author SHA1 Message Date
Frank
237286f224 npm run build 2023-05-08 18:00:25 +02:00
Frank
d8bd451ceb Merge branch 'mdev' into audio_fastpath 2023-05-08 17:53:49 +02:00
Ewoud
e9a1c1e74f Small changes 2023-05-08 16:47:53 +02:00
netmindz
7f2c5832ab Update platformio.ini
Use monitor_filters = esp32_exception_decoder for all image build targets
2023-05-07 21:16:29 +01:00
Frank
04b55a5f2a back to NeoPixelBus @ 2.7.1
due to build errors on some esp32 envs.

Build Environments (esp32_16MB_M_eth)
In file included from wled00/bus_manager.cpp:9:0:
wled00/bus_wrapper.h: In static member function 'static void PolyBus::begin(void*, uint8_t, uint8_t*)':
wled00/bus_wrapper.h:187:61: error: 'DotStarEsp32DmaHspi5MhzMethod' was not declared in this scope
 #define B_HS_DOT_3 NeoPixelBrightnessBus<DotStarBgrFeature, DotStarEsp32DmaHspi5MhzMethod> //hardware HSPI with DMA (ESP32 only)
                                                             ^
wled00/bus_wrapper.h:300:37: note: in expansion of macro 'B_HS_DOT_3'
       case I_HS_DOT_3: (static_cast<B_HS_DOT_3*>(busPtr))->Begin(pins[1], -1, pins[0], -1); break;
                                     ^
wled00/bus_wrapper.h:187:90: error: template argument 2 is invalid
 #define B_HS_DOT_3 NeoPixelBrightnessBus<DotStarBgrFeature, DotStarEsp32DmaHspi5MhzMethod> //hardware HSPI with DMA (ESP32 only)
                                                                                          In file included from wled00/bus_manager.cpp:9:0:
wled00/bus_wrapper.h: In static member function 'static void PolyBus::begin(void*, uint8_t, uint8_t*)':
wled00/bus_wrapper.h:187:61: error: 'DotStarEsp32DmaHspi5MhzMethod' was not declared in this scope
 #define B_HS_DOT_3 NeoPixelBrightnessBus<DotStarBgrFeature, DotStarEsp32DmaHspi5MhzMethod> //hardware HSPI with DMA (ESP32 only)
                                                             ^
wled00/bus_wrapper.h:300:37: note: in expansion of macro 'B_HS_DOT_3'
       case I_HS_DOT_3: (static_cast<B_HS_DOT_3*>(busPtr))->Begin(pins[1], -1, pins[0], -1); break;
                                     ^
wled00/bus_wrapper.h:187:90: error: template argument 2 is invalid
 #define B_HS_DOT_3 NeoPixelBrightnessBus<DotStarBgrFeature, DotStarEsp32DmaHspi5MhzMethod> //hardware HSPI with DMA (ESP32 only)
2023-05-07 21:26:51 +02:00
Frank
50b3c9dc62 library updates
* FastLED 3.5.0 #master (up to 50% faster)
* All ESP32 env use NeoPixelBus 2.7.3 (slightly faster)
* Weather usermod: small update, as fastLED wants an explicit conversion from CRGB -> uint32_t
* weather usermod: avoid using palette color #0 = black
2023-05-07 21:15:31 +02:00
Ewoud
2077515b05 Bugfix: set colorwheel default on (for 1D) 2023-05-07 20:22:42 +02:00
Frank
9a4c020630 reduce file search buffer, to reduce file access delays 2023-05-06 16:05:30 +02:00
Frank
d4fb54256c Merge branch 'mdev' into audio_fastpath 2023-05-06 15:42:19 +02:00
Frank
b22d94f154 Freqmatrix math optimizations
* avoid over-complicated math stunts (pixVal to intensity to value)
* more accurate handling of sensitivity
* better default values
2023-05-06 15:40:27 +02:00
Frank
61bbea0e5e bugfix for large JSON files (>64Kb)
WLED was using uint16_t internally to index files, which leads to random behaviour when the real filesize is above 64Kb.

Better to use size_t which is the "right" type that can hold the largest possible size.
2023-05-05 18:07:00 +02:00
Frank
3df6f286a6 game of life: minor change to stay compatible with newer FastLed versions
added explicit conversion operator CRGB -> uint32_t
2023-05-05 13:32:35 +02:00
Frank
63ffc6e7a6 Update platformio.ini
small fix - wrong keyword
2023-05-04 23:16:21 +02:00
Frank
f57c39cd57 new pio environment for ESP32 rev3 with PSRAM (faster)
* disables PSRAM fixes that are not necessary any more on "revision 3" boards.
2023-05-04 20:33:02 +02:00
Ewoud
ca5a54bb72 Merge branch 'mdev' into audio_fastpath 2023-05-04 17:52:21 +02:00
Ewoud
642dbfed85 GFX default on, if set off it stays off (until page refresh) 2023-05-04 17:51:33 +02:00
Frank
4341d36885 move main JSON doc into PSRAM (experimental)
this should move the main JSON doc into PSRAM on WROVER boards.
* free heap should increase by ~60kb
* PSRAM use should go up by the same amount.
2023-05-04 17:09:43 +02:00
Frank
7d0e627e14 some effect optimizations
* getpixelcolor: attribute pure - it reads memory, but does not write
* some optimizations for SEGMENT.blur() and SEGMENT.fadeToBlackBy()

* FX.c:pp remove double calls to blur() and fade_out()
* FX.cpp: SEGMENT.setUpLeds() added to effects, to enable LED buffering (safe some time because getPixelColor does not need to access NeopixelBus)

* a few other optimizations to safe time and avoid "expensive" operations
* set I2C bus speed to 400kHz (default is 100Khz)

* a few other small optimizations and tweaks
* pio: esp32 V4 builds use "patch5" toolchain version, which contains a few bugfixes especially for memory management.
2023-05-03 20:33:23 +02:00
Frank
91d36fa269 fastpath: use i2s#1 for 5th LED pin
use 4 RMT channels, then I2S#1, then RMT 5-8. This allows to have up to 5 "fast" LED pins.

"Even though the ESP32 has 8 channels of RMT hardware, using beyond 4 has shown to cause sending delays." (https://github.com/Makuna/NeoPixelBus/wiki/ESP32-NeoMethods#rmt)
2023-05-03 00:29:14 +02:00
Frank
56b6290fdd Update audio_reactive.h
small oops
2023-04-30 21:03:00 +02:00
Frank
e1cadbc337 (experimental) reduced websocket frequency
fastpath: reduced websocket frequency, to have more time for physically attached LEDs.

fingers crossed that this won't break anything....
2023-04-30 21:00:28 +02:00
Frank
0c58c12d0f audio fastpath: reduce filter delay
- reduced filter strength, which also reduces delays
- increased I2S buffer count, and reduced I2S cycle time to recover from delays faster.
2023-04-30 20:58:06 +02:00
Frank
ac5aed8e36 websocket bugfix from upstream
web response buffer size (corruption when websockets not used)

432c5837f0
2023-04-30 19:28:44 +02:00
Frank
f69142d5be optimization for AA setPixelColorXY() 2023-04-30 19:09:38 +02:00
Frank
40c96c14f5 a bunch of smaller speedups to core functions
*  make local functions "static"
* use fast_ int types where possible
* use native min/max instead of MIN/MAX macros. Macros evaluate each parameter TWICE!!
* adding __attribute__((pure)) and __attribute((const)) to help the compiler optimize
* ws.cpp: reduce max "live leds" in fastpath mode
2023-04-30 18:41:30 +02:00
Frank
fb03a37b08 fps help in LED settings
led settings: added hint on max leds per pin
fx.h: faster FRAMERATE_FIXED
2023-04-30 18:37:14 +02:00
Frank
c0a0f66aa4 trying to revive github ci build for new MCUs (#38)
as suggested here:
* https://github.com/platformio/platform-espressif32/issues/1081#issuecomment-1518601054
2023-04-30 16:45:11 +02:00
netmindz
62910038e4 Merge pull request #37 from netmindz/mdev
Update FX.cpp
2023-04-28 13:17:55 +01:00
netmindz
d4bdb3037c Update FX.cpp
Assign proper attribution of DJLight to Stefan Petrick
2023-04-24 18:37:15 +01:00
Frank
fb3477e5f6 soundreactive effect updated
* blurz: some visual improvements
* Matripix: improved color smoothness, Color by frequency (instead of volume), option to use sound pressure
* pixelwave: improved color selection, use sound energy instead of volume
* freqwave: some speedups, option to show frequency with "musical scale"

* gravfreq: fixed some math accidents that lead to horrible flickering
* default setting improved for some effects
2023-04-21 23:27:14 +02:00
Frank
d5a7f5dd74 scrolling text bugfix
effect was crashing with too long or undefined segment names.
2023-04-21 19:27:37 +02:00
Frank
8e9db0adde more accurate FPS forESP32
the standard millis() code is very inaccurate in the "high FPS" ranges. This replaces it with the esp32 high resolution timer.
2023-04-21 17:34:01 +02:00
Frank
9130e4be54 minor optimization of core LED functions
* use _fast_ integer types in loops - in contrast to "uint16_t" etc, the compiler can leave out range/overflow corrections, so it might run faster.
* fcn_declare.h: revive "WLED_USE_REAL_MATH" option, which can be a bit faster on ESP32.
2023-04-21 16:44:58 +02:00
Frank
363567434d audio effects: allow to run at full speed
* set the "speed" slider to 255, for running at full speed
* #FPS (framerate) and #POW (ampere) added to scrolling text
2023-04-21 15:57:31 +02:00
Frank
00661de7fc accept up to 250 fps target in LED preferences
warning included.
2023-04-21 15:26:35 +02:00
Frank
63a597b987 pio: same for -S3 .....
Tool Manager: toolchain-xtensa-esp32s3@8.4.0+2021r2-patch3 has been installed!
Tool Manager: Installing espressif/toolchain-riscv32-esp @ 8.4.0+2021r2-patch3
Error: Could not find the package with 'espressif/toolchain-riscv32-esp @ 8.4.0+2021r2-patch3' requirements for your system 'linux_x86_64'
Error: Process completed with exit code 1.
2023-04-20 01:10:54 +02:00
Frank
b35cd2140a pio: disable -C3 and -S2 builds until github fixes their build toolds
Tool Manager: toolchain-xtensa-esp32s2@8.4.0+2021r2-patch3 has been installed!
Tool Manager: Installing espressif/toolchain-riscv32-esp @ 8.4.0+2021r2-patch3
Error: Could not find the package with 'espressif/toolchain-riscv32-esp @ 8.4.0+2021r2-patch3' requirements for your system 'linux_x86_64'
2023-04-20 01:05:43 +02:00
Frank
33a78bef4d a little less buffer for -S2
the last change caused a build error for ESP32-S2: region `dram0_0_seg' overflowed by 5064 bytes
2023-04-20 00:58:31 +02:00
Frank
1b3d9a1a53 more JSON buffer for boards with PSRAM
allows to load ledmaps with > 15000 positions!
2023-04-20 00:34:01 +02:00
Frank
bcbc0fbda4 Update platformio.ini
* temporarily remove esp32c3dev_4MB_M from nightly builds, as the github action build currently has strange problems with it
* -D WLED_USE_PSRAM_JSON for ESP32 boards, as using PSRAM for LED Buffers and Segment Buffers causes slow-down
2023-04-19 18:19:37 +02:00
Frank
d90ee766f6 PSRAM: you can have it, and eat it or not eat it
*This patch allows to compile with BOARD_HAS_PSRAM, but not set WLED_USE_PSRAM - reserved pins will be protected, and PSRAM usage will be shown in info.
* if you add `-D WLED_USE_PSRAM_JSON` then PSRAM will be used for some JSON buffers, but not for LEDs and Segments.
2023-04-19 17:58:50 +02:00
Frank
e2d3800fc3 woraround for spurious crash in serializePalettes
the root cause of the crash is not really clear, as the problem seems to occur randomly, mosr frequent with fresh installations.
This workaround prevents the array bounds violation, by re-using the last valid  gGradientPalettes entry.
2023-04-19 15:34:35 +02:00
Frank
a2f15c775b WIFI_POWERON_HACK for AP mode
reduce TX power - required for C3 mini v1.0.0 (wemos), see https://www.wemos.cc/en/latest/c3/c3_mini_1_0_0.html#about-wifi
2023-04-19 11:56:29 +02:00
Troy
0558865cf5 Merge pull request #36 from Fonta/patch-1
Fix invalid environment error in PlatformIO
2023-04-17 21:44:20 -04:00
Troy
2e1189381d Merge pull request #35 from troyhacks/DDP-RGBW-Transmit-Fix
DDP Transmit RGBW Fix
2023-04-17 19:52:36 -04:00
Frank
8d85a52449 correct some stupid peak detection defaults
parameters C1 and C2 control peak detection. Previous defaults (c2=0 !!!) did not make any sense.
2023-04-17 21:35:47 +02:00
Frank
3f4294398a Blurz effect: back to original SR code
Modifications from upstream have made the effect kind of boring non-reactive. So we go back to the original effect.

HINT: Effect looks best with _segment_ brightness set to max (use _global_ brightness to reduce brightness as you like).
2023-04-17 21:22:11 +02:00
Fonta
45da3121d6 Update platformio.ini 2023-04-16 03:08:18 +02:00
Fonta
6b6c961a00 Fix invalid environment error in PlatformIO
PlatformIO gives error on codm environments
``Error: Invalid environment name 'codm-controller-0.6'. The name can contain alphanumeric, underscore, and hyphen characters (a-z, 0-9, -, _)``
2023-04-16 03:05:20 +02:00
Frank
28c737df87 small fix
Serial0 does not exist without ARDUINO_USB_CDC_ON_BOOT
2023-04-15 23:37:54 +02:00