Commit Graph

4280 Commits

Author SHA1 Message Date
Frank
6317dcb757 swapped-channel workaround needed a bit longer
It seems that ESP-IDF 4.4.5 will (finally) fix this old bug.  hallelujah.

73ca054b80 (diff-02a5aef0ab7d8485b0a165910efaab3dfc450b473eef0bab1b32bccb4ea85c69)
2023-05-12 19:10:51 +02:00
Frank
d5c33df64f file buffer size: back to default
After some experiments, it seems that 256 is indeed the optimal buffer length.
2023-05-12 17:26:36 +02:00
Frank
f147d7939a Merge branch 'mdev' into audio_fastpath 2023-05-11 13:35:17 +02:00
Frank
692d30048d four-line-display: SSD1309 I2C driver
* SSD1309 I2C driver added (SPI driver was already included)
* minor cleanup to avoid exhaustive "if" for isSPI
2023-05-11 13:34:40 +02:00
Blaz Kristan
cb740d34d7 Bugfix
- SHT enable/disable crash
2023-05-11 12:20:07 +02:00
Frank
50061ddae8 UM BH1750 adapted to "MM style", 8266 build fixes
* UM BH1750 adjustments to use new MM features
* UM BH1750 check sensor status before tryig to read new value (avoids blocking LED updates)
* UM temperature: ensure that measurements continue with many LEDs running (strip.isUpdating() will be true all the time)
* all usermods: solved compile problems on 8266
2023-05-10 20:14:10 +02:00
Frank
3aad3a8ff7 sht: replace _enabled by "enabled"
... so the usermod status shows correctly in UM overview.
2023-05-10 18:08:26 +02:00
Frank
d79fa92e6c SHT usermod added to MM "XL" config
... but commented out (experimental)
2023-05-10 17:12:48 +02:00
Frank
9e9d10618b SHT usermod MoonModules upgrade
Use MM specific features in SHT usermod:

* Join global I2C bus with pinManager.joinWire()
* allow to compile without MQTT
* use extended Usermod class features
* prevent sensor starvation when running with > 600 LEDs
2023-05-10 15:15:25 +02:00
Frank
c4664e530c Merge branch 'mdev' into audio_fastpath 2023-05-10 12:16:38 +02:00
Frank
fdf25d046a well-defined version (hash) for arduinoFFT 2023-05-10 12:12:36 +02:00
Frank
f050e60e15 well-defined fastled version
using the latest hash from master, so we get predictable builds.
2023-05-10 11:58:16 +02:00
Frank
4810a85401 Merge branch 'mdev' into audio_fastpath 2023-05-09 15:33:04 +02:00
Frank
dc5400a9d4 platformio.ini: small update for -S3
added MSC_ON_BOOT=0 and DFU_ON_BOOT=0 to generic -S3 flags. These mode make no sense with WLED.

(same as upstream)
2023-05-09 15:31:13 +02:00
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