Wykres commitów

3957 Commity (a0c55c6406909f00c5217468994f0576dc201efe)

Autor SHA1 Wiadomość Data
Frank 262af0678f
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:35:14 +02:00
Frank 3765d558b6
akemi bugfix fix
map2 --> map
2024-09-30 18:26:00 +02:00
Frank 4ed8ded502
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:44:38 +02:00
Blaz Kristan ee380c5377 Replace uint16_t with unsigned for segment data
swap if statements in color_fade
2024-09-30 16:35:40 +02:00
Frank d3c401ed4e wu_pixel small optimization
5% faster
2024-09-29 19:29:12 +02:00
Will Miles cb8dae1ddb PWM: Revert always apply dead time 2024-09-29 10:13:19 -04:00
Will Miles 59deebc961 Improve PWM on ESP8266
- Better phase updates without dropping samples
- Make second pin duty cycle always after first, even inverted
2024-09-29 10:00:27 -04:00
Blaz Kristan 0ae73296cf Update comment 2024-09-29 15:19:37 +02:00
Blaz Kristan 8e78fb4caa Merge branch '0_15' into 0_15__speed_improvements 2024-09-29 14:31:00 +02:00
Blaz Kristan 336da25463 Private global _colorScaled 2024-09-29 14:14:07 +02:00
Damian Schneider ffbc8c5f70 Reverting addition of `bool unScale`, added new improvements and fixes
- Added pre-calculation for segment brightness: stored in _segBri. The impact on FPS is not huge but measurable (~1-2FPS in my test conditions)
- Removed `bool unScaled` from `setPixelColor()` function again (it has no/minimal impact on speed but huge impact on flash usage: +850 bytes)
- Removed negative checking in `setPixelColorXY()` and replaced it with a local typecast to unsigned, saves a few instructions (tested and working)
- Changed int8_t to int in `moveX()` and `moveY()`
- Removed a few functions from IRAM as they are now not called for every pixel but only once per segment update
- Removed a `virtualWidth()` call from `ripple_base()`
- Bugfix in `mode_colortwinkle()`
2024-09-29 13:55:00 +02:00
Blaz Kristan 10d8cfde85 Fix FX filter bug 2024-09-29 13:00:07 +02:00
Will Miles fe4b668107 Slightly reduce PWM jankiness 2024-09-28 23:12:03 -04:00
Will Miles cc87b32206 Support PWM phase shifts on ESP8266
Use the phase-locked soft PWM from the Arduino core to implement the
same PWM phase management as ESP32s are using.  The soft PWM code is
vendored in, as it was previously, to add the NMI workaround from #4035.

Completes #4034
2024-09-28 23:07:28 -04:00
Blaz Kristan 9114867578 Fix compiler error 2024-09-28 18:48:43 +02:00
Blaz Kristan c842994df5 Pre-calculate virtual
- move SEGCOLOR() to Segment class
- add SEG_H, SEG_W macros
- try to speed up virtualXxxxx()
- compile warning fixes
2024-09-28 18:14:43 +02:00
Damian Schneider 202901b09f bugfix, ESP32 compiler requires the color order to be identical 2024-09-28 15:38:41 +02:00
Damian Schneider 7c0fe1285a updated setPixelColor() and getPixelColor() functions
uint16_t to unsigned to make it consisten throughout the hand-down.
colorFromPaletteWLED now returns uint32_t which saves the conversion to CRGB and back to uint32_t (in most uses at least).
also added (preliminary) CRGBW struct. I tried to use it in place of uint32_t colors but it adds a lot of overhead when passing the struct so reverted to uint32_t in most places.
updated a few FX to use the CRGBW struct and also cleaned some code to improve flash useage.
2024-09-28 15:26:14 +02:00
Will Miles 9a4b56db6e Fix incorrect F-strings
A merge issue with end-oappend: some strings did not get correctly
converted from SET_F() to F(), which can cause crashes.
2024-09-27 21:06:21 -04:00
Damian Schneider a76a895f1d bugfix 2024-09-27 06:17:26 +02:00
Damian Schneider b404458369 fixed one forgotten replacement of rgb2hsv_approximate 2024-09-26 18:29:31 +02:00
Damian Schneider c44b9f8659 Merge remote-tracking branch 'upstream/0_15' into 0_15__speed_improvements 2024-09-26 18:07:33 +02:00
Damian Schneider bef1ac2668 Added HSV2RGB and RGB2HSV functions for higher accuracy conversions
- also added a struct to handle HSV with 16bit hue better (including some conversions, can be extended easily)
- the functions are optimized for speed and flash use. They are faster and more accurate than what fastled offers (and use much less flash).
- replaced colorHStoRGB() with a call to the new hsv2rgb() function, saving even more flash (new function is untested!)
- the 16bit hue calculations result in an almost perfect conversion from RGB to HSV and back, the maximum error was 1/255 in the cases I tested.
2024-09-26 18:06:41 +02:00
Blaz Kristan 906f8fc2e7 Fix C3 compiler issue. 2024-09-25 18:49:10 +02:00
Blaž Kristan c600c6da63 Bus length fix 2024-09-25 09:33:16 +02:00
Blaz Kristan 3f3c986932 Merge branch '0_15' into end_oappend_v2 2024-09-24 21:43:47 +02:00
Blaz Kristan 3ccc5babc1 Remov superfluous #if 2024-09-23 20:39:16 +02:00
Blaz Kristan fafb2eba69 Merge branch '0_15' into blending-styles 2024-09-23 20:36:08 +02:00
Blaz Kristan 33cf82a982 Indentations and a few optimisations
Restore addPixelColor() behaviour.
2024-09-23 18:03:17 +02:00
Blaz Kristan bd7cd32f91 Add mandatory refresh capability to remove type dependency. 2024-09-22 13:56:14 +02:00
Damian Schneider 0a5400263b removed IRAM_ATTR from inlined function
when the function is inlined into a IRAM_ATTR function, it will also reside in IRAM. Forced inlining is recommended by Espressif if I understand this correctly: https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/hardware-abstraction.html
2024-09-22 13:52:56 +02:00
Damian Schneider 17d59d3337 adding initialization to vStrip, added comment on padding bytes 2024-09-22 09:02:42 +02:00
Blaz Kristan 9cb3531e2d Remove erroneous file
Fix constant dependancy
2024-09-21 22:24:36 +02:00
Blaz Kristan b50e6e0d90 Static PinManager & UsermodManager
- saves a few bytes of flash
2024-09-19 21:44:11 +02:00
Damian Schneider a88436c620 revert removal of adding with saturation, renamed 'fast' to 'saturate'
- blurring now uses desaturated adding: it is faster most of the times and blurring adds scaled colors so should rarely (ever?) saturate, I saw no visual difference in tests.
- formatting
2024-09-19 08:49:18 +02:00
Will Miles 45cf90094a Rename destination for getSettingsJS
Use a name that makes it a bit clearer what the output is.  The new name
is applied consistently through most uses.
Usermods are not yet updated.
2024-09-18 23:35:36 -04:00
Blaz Kristan ae1df20893 New names 2024-09-18 23:32:15 -04:00
Will Miles 71148740d4 Replace sappend and sappends
Use named functions to describe what's being printed.
2024-09-18 23:31:19 -04:00
Will Miles 4ef583c844 xml: Print optimization
Reduce the total number of calls by using printf_P and skipping atoi().
2024-09-18 23:27:42 -04:00
Will Miles 16f61ea96d Usermod: Implement shim for oappend
Use a static Print* to transform old oappend calls to print calls.
2024-09-18 23:18:52 -04:00
Will Miles 32f9616b6e Remove oappend
Remove the large stack buffer as we're just going to copy it in to a
heap buffer anyways.  Later we can refine the length estimation or use a
rope-style dynamic data structure like DynamicBufferList.
2024-09-18 23:18:51 -04:00
Will Miles d4268ba070 handleFileRead: Skip duplicate FS check
Since we validate the file existence ourselves, no need to have
AsyncWebServer do it again.
2024-09-18 19:47:51 -04:00
Damian Schneider 696290527a cleanup and improved color_add()
- optimized color_add() again: now it is as fast with preserved ratio scaling than the "fast" variant was before (if no scaling is needed, it is even faster). plus it saves 250 bytes of flash
- bugfix in `color_fade()`
- removed a lot of whitespaces
2024-09-18 22:10:27 +02:00
Damian Schneider 686866c6f9 Merge remote-tracking branch 'upstream/0_15' into 0_15__speed_improvements 2024-09-18 08:10:45 +02:00
Blaz Kristan 72455ccde1 Missing "not" 2024-09-17 19:47:24 +02:00
Blaz Kristan 88fb860568 SAVE_RAM bugfix introduced by #4137 2024-09-17 16:34:38 +02:00
Blaz Kristan ceed494cf7 Introduce common.js in settings pages 2024-09-17 16:26:11 +02:00
Blaz Kristan ac8f919304 Serial improvements (can RX, canTX)
PinManager bugfix for unsigned long long
2024-09-17 16:21:52 +02:00
Blaž Kristan 7f1ec4802d
Merge pull request #4137 from felddy/feature/toggle_pallet_sync
Add the ability to toggle the reception of palette synchronizations
2024-09-16 16:19:19 +02:00
Blaz Kristan d5777b7bce Fix for missing WLED_NUM_PINS check 2024-09-15 20:34:05 +02:00
PaoloTK e34f179a82 fix pin conflict check logic 2024-09-15 20:27:44 +02:00
Blaz Kristan ce5ee65d60 Merge branch '0_15' into blending-styles 2024-09-15 11:05:16 +02:00
Blaz Kristan 65a8dbfe41 FX: Usermod Temperature effect 2024-09-15 11:04:02 +02:00
Blaz Kristan 5708d7a6b8 Build bump, changelog update 2024-09-14 22:30:56 +02:00
PaoloTK f16ed4697f fix isReadOnlyPin() logic 2024-09-14 18:58:53 +02:00
Blaz Kristan 81e412fe5b Use refernece to avoid ctor/dtor
Use PinManager to determine reserved pins
2024-09-14 14:54:42 +02:00
Damian Schneider f3137eb0a9 updated Segment::color_from_palette
- gamma correction only where needed
- paletteIndex should be uint8_t (it is only used as that)
note: integrating the new `ColorFromPaletteWLED()` into this would require  a whole lot of code rewrite and would result in more color conversions from 32bit to CRGB. It would be really useful only if CRGB is replaced with native 32bit colors.
2024-09-14 14:49:36 +02:00
Damian Schneider 0e5bd4ed74 remove test printout 2024-09-14 14:11:29 +02:00
Damian Schneider 6a37f25c5d memory improvement: dropped static gamma table
- there already is a method to calculate the table on the fly, there is no need to store it in flash, it can just be calculated at bootup (or cfg change)
2024-09-14 14:10:46 +02:00
Damian Schneider 2afff05014 minor tweak (break instead of continue in setPixelColorXY) 2024-09-14 11:45:27 +02:00
Blaz Kristan e3d9417b84 Minor fixes
- rely on HAL for RO pins and max pins
- remove isPinDefined() and do clash check inline
- JS fix to use HAL max pins
2024-09-14 11:39:56 +02:00
Blaz Kristan 6a188033c6 Merge branch '0_15' into compile_different_busses 2024-09-14 09:27:37 +02:00
Damian Schneider d45b4ad134 fixes and consistency 2024-09-13 19:01:54 +02:00
Damian Schneider ec938f254c removed old code 2024-09-12 21:25:08 +02:00
PaoloTK fa82e759bd bug fix 2024-09-12 18:27:51 +02:00
PaoloTK daf0bcfac3 bug fix on pin already defined check 2024-09-12 18:12:38 +02:00
Damian Schneider 09428dcade inlined getMappedPixelIndex, improved color_add, bugfix in colorFromPalette
inlining getMappedPixelIndex gets rid of function entry instructions (hopefully) so it should be faster.
also added the 'multi color math' trick to color_add function (it will not make much difference but code shrinks by a few bytes)
2024-09-12 16:34:55 +02:00
Blaz Kristan 49d51c5af8 Hot 2024-09-12 15:26:26 +02:00
Blaz Kristan ec7f69d559 Merge branch '0_15' into bus-config 2024-09-12 15:22:56 +02:00
Blaz Kristan a8c5bf2573 Ease IRAM 2024-09-12 15:22:37 +02:00
Blaz Kristan f12de61d7f Merge branch '0_15' into bus-config 2024-09-12 15:08:10 +02:00
Blaz Kristan e59b38a5d2 Fix unsigned long in debug printf 2024-09-12 15:04:10 +02:00
Damian Schneider b07658b460 improved Segment::setPixelColorXY a tiny bit
uses less flash so it should be faster (did not notice any FPS difference though)
also cleaned code in ColorFromPaletteWLED (it is not faster, same amount of code)
2024-09-12 14:09:09 +02:00
Blaž Kristan 5b8d9d1510 Merge branch '0_15' into bus-config 2024-09-12 08:49:04 +02:00
Blaž Kristan 6169c458bf Remove void 2024-09-12 08:48:31 +02:00
Blaž Kristan 23400d0449 Conditional IRAM for gamma 2024-09-12 08:30:46 +02:00
Damian Schneider 992d11be10 Improvements in get/set PixelColor()
-calculations for virtual strips are done on each call, which is unnecessary. moved them into the if statement.
2024-09-12 08:28:30 +02:00
Damian Schneider feac45fd0a improvement in color_add
its not faster but cleaner (and uses less flash)
2024-09-12 07:45:49 +02:00
Damian Schneider 934176818f more improvements to color_scale() now even faster.
tested and working, also tested video
2024-09-12 06:43:20 +02:00
PaoloTK c5435ec1fa Merge remote-tracking branch 'AC/bus-config' into compile_different_busses 2024-09-11 23:04:37 +02:00
Damian Schneider c3f472fbcb some improvements to consider
no real difference in FPS but code is faster.
also 160bytes smaller, meaning it is actually faster
2024-09-11 21:41:42 +02:00
Blaz Kristan 1cee1c3562 Merge branch '0_15' into blending-styles 2024-09-11 17:28:48 +02:00
Blaz Kristan eae5a74a11 color_fade bugfix
impure void remove
optimisations: hot
2024-09-11 17:14:59 +02:00
Blaz Kristan 5df1a223c2 Pre-allocate COM vector 2024-09-11 16:45:39 +02:00
PaoloTK 5869627b32 - More optimization on bus configuration logic.
- Renamed LEDPIN to DEFAULT_LED_PIN.
- Removed ability to override DEFAULT_LED_PIN, DEFAULT_LED_TYPE and DEFAULT_LED_COUNT. Use DATA_PINS, LED_TYPES and PIXEL_COUNTS instead.
2024-09-11 01:27:19 +02:00
Felddy 8ae09c3d02
Fix comment alignment 2024-09-10 18:16:00 +00:00
Felddy 83699bc5c3
Add support for toggle of palette sync 2024-09-10 18:02:29 +00:00
Blaz Kristan 3a5eb8c5d2 WLED 0.15.0-b5 release
- Audioreactive usermod always included
2024-09-10 16:07:37 +02:00
Blaz Kristan fd00e5eaae LED settings text update 2024-09-10 15:23:27 +02:00
Blaz Kristan 20444ee7d5 Debug optimisations 2024-09-10 15:20:34 +02:00
PaoloTK eb06e575c2 add check for pin reassigned conflict with pin defined for current bus 2024-09-10 01:03:19 +02:00
Blaz Kristan b4315152e2 Add numPins() 2024-09-08 11:07:53 +02:00
Blaz Kristan c5b31e2f63 Bugfix 2024-09-06 17:56:36 +02:00
Blaz Kristan ac689a9a2e Remove array, un-inline calculateCCT 2024-09-06 12:19:04 +02:00
Blaz Kristan 43cc4ec009 Increase oappend buffer on ESP8266 2024-09-05 22:18:50 +02:00
Blaz Kristan 9cc333b2bd Move LED types to individual bus type
- (credit @netmindz & @willmmiles)
Tuning.
2024-09-05 21:49:27 +02:00
Blaz Kristan dc90a4ed42 Mirroring bugfix. 2024-09-04 23:43:13 +02:00
Frank ef80abd885 8266 compatibility builds for older chips (another attempt t o solve #3690 and #3685)
some users have reported that releases after 0.14.0 are not working reliably. So we add a few "compat" for 8266 that try to reproduce the buildenv of 0.14.0 as much as possible.

* platform and platform_packages from 0.14.0
* not using PIO_FRAMEWORK_ARDUINO_MMU_CACHE16_IRAM48
* due to smaller IRAM, we had to move some functions back from IRAM to normal flash (may cause slowdown)
2024-09-04 23:42:58 +02:00
Blaz Kristan b9080f9479 Mirroring bugfix. 2024-09-04 21:17:21 +02:00
Blaz Kristan 092a5a1ca3 Unsigned fix 2024-09-04 20:54:44 +02:00
Damian Schneider d3c31c52a2 found a better way of deadTime subtraction, fixed inverted signals 2024-09-04 18:03:52 +02:00
PaoloTK 329173e145 added complete validation logic for pins and types 2024-09-04 13:28:43 +02:00
PaoloTK 8e4f8fcbc8 fix bug in reassignment logic 2024-09-04 13:27:04 +02:00
Frank c1c707c77a 8266 compatibility builds for older chips (another attempt t o solve #3690 and #3685)
some users have reported that releases after 0.14.0 are not working reliably. So we add a few "compat" for 8266 that try to reproduce the buildenv of 0.14.0 as much as possible.

* platform and platform_packages from 0.14.0
* not using PIO_FRAMEWORK_ARDUINO_MMU_CACHE16_IRAM48
* due to smaller IRAM, we had to move some functions back from IRAM to normal flash (may cause slowdown)
2024-09-04 11:38:03 +02:00
Blaz Kristan b1e58dd10d Optimisations
- renamed variables
- some tuning
2024-09-03 22:28:21 +02:00
Damian Schneider 2cc0aceac7 Bugfixes
- fixed maxBri value
- fixed overflow in dead time subtraction
- deadtime and offset now also work if signals are inverted (_reversed)
2024-09-03 19:14:50 +02:00
PaoloTK d79d5dbadd remove getReadOnlyPins() function 2024-09-03 17:29:38 +02:00
Blaz Kristan ebd8a10cef Prevent styles on 1px segments 2024-09-03 17:20:16 +02:00
Damian Schneider be7475fe66 bugfixes, removed debug printout 2024-09-02 22:06:46 +02:00
Damian Schneider 85e2f7eb34 fixed offsets and inverted signal plus dead time 2024-09-02 17:53:15 +02:00
PaoloTK 9bb979f2e8 bug fix 2024-09-01 21:46:30 +02:00
PaoloTK c942345453 bug fix 2024-09-01 21:35:09 +02:00
PaoloTK fcc344ba99 add read/only pin logic and check 2024-09-01 21:31:19 +02:00
Blaz Kristan a3b28871c6 Dirty fix for newer framework 2024-09-01 12:27:41 +02:00
Blaz Kristan 2ca034bfa8 Remove ledc_set_duty_and_update
Add semaphoring
Determine CCT overlap
2024-09-01 11:43:22 +02:00
Blaz Kristan 0d035a08d6 Dithering support & bugfix in UI
Thanks to @dedehai & @zalatnaicsongor
2024-08-30 15:21:16 +02:00
PaoloTK 6655e2664e rebase to bus-config 2024-08-29 13:18:48 +02:00
Blaz Kristan c51ce2eec7 Fix C/P error
Clarifications
2024-08-27 21:57:00 +02:00
Blaz Kristan b2e00eb868 Introduce network type (previous virtual)
- phase shifting correction (limit to PWM CCT)
2024-08-27 14:11:56 +02:00
Blaz Kristan 820df0c596 PinManager update
- LEDC: allocate same timer for CCT PWM
- use SOC constants
BusManager update
- use allocateMultiplePins for BusPwm
2024-08-27 00:21:24 +02:00
Blaz Kristan 865e3dcd0c getNumberOfPins 2024-08-25 12:53:23 +02:00
Blaz Kristan f55e2fc7b8 Merge branch '0_15' into bus-config 2024-08-25 12:41:16 +02:00
Blaž Kristan cb22e1933e
Merge pull request #4111 from DedeHai/0_15_PWM_CIEbrightnesscalc
replaced PWM LUT with calculation
2024-08-25 12:36:23 +02:00
Blaz Kristan 8818a9e82a Remove erroneous debug 2024-08-24 11:41:23 +02:00
Blaz Kristan dbb47d506c Bus manager rework
- move macros to constexpr methods
- introduce type capabilities for UI
- add phase shifting (POC) to PWM
- replace PWM CIE LUT with calculated curve
CIE & phase shifting credit @dedehai
2024-08-24 11:35:32 +02:00
ChuckMash dd52124765
Added some byte definitions to WiZmote ESP-NOW message 2024-08-22 20:24:03 -07:00
Blaz Kristan 6f3267aee9 Dynamic bus config
- provide LED types from BusManager for settings
Credit: @netmindz for the idea.
2024-08-22 17:15:12 +02:00
Blaz Kristan 0bbd6b7c4b Minor optimisation
- disable JSON live
- WS error string
- button irelevant check
2024-08-22 17:08:51 +02:00
Damian Schneider 1cc47b02cf use CIE brightness also for ESP8266 2024-08-21 08:06:32 +02:00
Damian Schneider e7babc071d replaced PWM LUT with calculation 2024-08-20 20:15:17 +02:00
Blaž Kristan 8a1df1e700
Merge pull request #4093 from axlan/pixel-dice-usermod
Added a usermod for interacting with BLE Pixels Dice.
2024-08-19 05:39:35 +02:00
Blaž Kristan cc298f56e2
Merge pull request #4081 from RobinMeis/0_15
Allow lower values for touch threshold
2024-08-18 13:49:03 +02:00
Robin Meis 665693a513 Remove minimum threshold according to https://github.com/Aircoookie/WLED/pull/4081#issuecomment-2295198219 2024-08-18 13:31:14 +02:00
Blaž Kristan c35e82e59f
Merge branch '0_15' into pixel-dice-usermod 2024-08-18 13:20:45 +02:00
Blaž Kristan 72d38f4cff
Merge pull request #3539 from Liliputech/pov_display
Added POV image effect
2024-08-18 13:15:34 +02:00
Blaz Kristan f6c47ac19c Fix some compiler warnings 2024-08-18 10:45:16 +02:00
Blaz Kristan 0430dc5a1f Merge branch '0_15' into blending-styles 2024-08-17 20:55:56 +02:00
srg74 79b3ce141c
correct spelling error xml.cpp 2024-08-17 14:42:44 -04:00
Blaz Kristan 011afd0910 Merge branch '0_15' into blending-styles 2024-08-17 15:24:20 +02:00
Blaz Kristan 8d00e4d31d Save some tiny amounts of RAM
- use `-D WLED_SAVE_RAM`
2024-08-17 15:09:41 +02:00
Blaž Kristan 8688777ae1
Merge pull request #4103 from netmindz/FX-cleanup
Remove repeating code to fetch audio data
2024-08-16 17:39:49 +02:00
FreakyJ ee1bf1c221
#3809 Loxone JSON parser doesn't handle lx=0 correctly 2024-08-15 20:18:06 +02:00
Will Tatam 24ecf1a166 Move getAudioData to static 2024-08-15 17:58:19 +01:00
Frank 5cb49c86a0
Merge pull request #4090 from willmmiles/ino-to-cpp
Rename wled00.ino to wled_main.cpp
2024-08-15 18:23:53 +02:00
Blaz Kristan 9940d2590b Arc expansion getPixelColor fix. 2024-08-15 17:22:59 +02:00
Blaz Kristan 577fce69e2 MQTT unification and cleanup 2024-08-15 16:18:34 +02:00
Will Tatam e68375a71e Remove repeating code to fetch audio data 2024-08-15 09:08:57 +01:00
Blaž Kristan fe7fb6c7a9
Merge pull request #4092 from Aircoookie/sm16825
SM16825 support
2024-08-14 22:21:01 +02:00
Blaz Kristan cec67d8eff Const and 2D box blur
- added 2D blur
2024-08-14 22:15:48 +02:00
Frank 2443e2ec7c wled00 -> wled_main 2024-08-14 11:16:46 +02:00
Frank bcf862044a Update wled00.cpp
* added #include <Arduino.h> - this is basically what the preprocessing tool (wled.ino -> wled00.ino.cpp) does
* added a comment that Arduino IDE is not supported, use platformIO.
2024-08-13 22:21:21 +02:00
jdiamond b73f049484 Clean up addEffect() changes. 2024-08-13 04:40:59 +00:00
Arthur Suzuki ed5eb28228
Added POV image effect
Setup is really easy, after first boot and WiFi/LEDs setup:
go to wled.local/edit and upload a couple image to WLed's filesystem.
Only PNG is supported right now, further support for GIF is planned.
The image should be as wide as the 1D segment you want to apply to.

When done, go to the Effect page on the UI, select "POV Image" effect.

You could also update the image with a post to the JSON-API like this:
curl -X POST http://[wled]/json/state -d '{"seg":{"id":0,"fx":114,"f":"/axel.png"}}'

The segment should move at around 120RPM (that's 2revolutions per seconds) for an image to showup.
More informations and pictures here : https://lumina.toys
2024-08-10 00:03:55 +02:00
Frank db5e66a9b0 playing with Fire2012
* speedup: add functions to only blur rows or columns (50% faster)

* fire2012: tinkering with bur options. Vertical blur only when slider < 64 (faster); extra blur for  slider values >192 (bush burn)
2024-08-09 12:53:41 +02:00
Blaz Kristan 77723b615f Fix compiler warning 2024-08-08 21:10:27 +02:00
jdiamond 96c7716d3e Added a usermod for interacting with BLE Pixels Dice. 2024-08-08 03:13:33 +00:00
Blaz Kristan ea80c1ed83 Swap WW & CW 2024-08-07 22:39:31 +02:00
Blaž Kristan 9d860c265c
Merge pull request #4089 from willmmiles/improved-locking
Improve jsonBufferLock management
2024-08-05 21:04:24 +02:00
Blaz Kristan d234b4b0f1 SM16825 support
- add WW & CW swapping
2024-08-05 20:56:12 +02:00
Blaz Kristan e1598a9966 Merge branch '0_15' into blending-styles 2024-08-05 16:47:25 +02:00
Blaz Kristan e82f38e277 Tuning 2024-08-05 16:42:21 +02:00
Will Miles 1d27aa2f18 Move .ino to .cpp
This fixes platformio continually recompiling this file.
2024-08-04 15:47:02 -04:00
Will Miles 113dbbdf94 Use DEBUG_PRINTF_P for jsonBufferLock
Tiny code space usage reduction.
2024-08-04 15:27:23 -04:00
Will Miles e701b5b5eb util: Print locking module when JSON lock fails
For debugging, also log who was trying to lock when it was contended.
2024-08-04 15:27:23 -04:00
Will Miles 6f01896d04 requestJSONBufferLock: Fix locking implementation
On ESP8266, it isn't permissible to call delay() in system context;
ensure this is legal before waiting.

On ESP32, use an operating system mutex to ensure consistent variable
state in a multicore environment, and manage the wait without needing
to loop.
2024-08-04 15:27:18 -04:00
Blaz Kristan 52548542d2 Remove clock/max bit overrides
Move contants into bus manager
2024-08-04 17:05:47 +02:00
PaoloTK 779744bd8e typo in comment 2024-08-03 15:56:29 +02:00
PaoloTK 1123d85fd2 removed float math and log(), added max bit width 2024-08-03 15:54:39 +02:00
PaoloTK 5c247d2833 first implementation 2024-08-01 20:25:18 +02:00
Robin Meis 17fdb4f5c9 Allow lower values for touch threshold 2024-08-01 19:49:47 +02:00
Blaž Kristan 365c1987ed Missing clipping fix
- small speed optimisations
2024-08-01 10:24:40 +02:00
Blaz Kristan c03422ee37 Push variants 2024-07-30 17:26:50 +02:00
Blaž Kristan 49976ae35a
Merge pull request #4078 from apanteleev/fire-blur-control
Add a parameter for blur amount in the Fire 2012 effect
2024-07-29 07:31:33 +02:00
Alexey Panteleev 0af1ec3bde Added a parameter for blur amount in the Fire 2012 effect. 2024-07-27 12:33:59 -07:00
Adrian Schröter 343d766ddd
2DGEQ: Getting same sized bar width on 32x32 display
before a x=32 (n times of 16) had not equal sized bars, but first was
a single pixel and later a bar had 3 pixel width. This solves it to
have always 2 pixel sized bars.

I have to admit that I did not test with other pixel dimensions.
2024-07-27 12:44:16 +02:00
Blaz Kristan 1975c9c34a Merge branch '0_15' into blending-styles 2024-07-24 14:18:16 +02:00
Frank 42decbddd9
Merge pull request #4060 from DedeHai/0_15_bootdelay
boot-up delay to fix wifi not starting in some setups

use
`-D WLED_BOOTUPDELAY=500` (or some other delay you want, in milliseconds)
in platformio env definition to add 500ms of delay before hardware init.
2024-07-22 11:25:00 +02:00
Blaz Kristan d88bb3c668 Merge branch '0_15' into blending-styles 2024-07-18 20:26:51 +02:00
Blaz Kristan b71467b9be LED settings remove output bugfix 2024-07-17 22:24:08 +02:00
Damian Schneider ac503ef72e adding boot-up delay define
use
-D WLED_BOOTUPDELAY=500
in platformio env definition to add 500ms of delay before hardware init.
2024-07-17 18:54:33 +02:00
Blaž Kristan bec1adf7ad
Merge pull request #4035 from willmmiles/esp8266_pwm_fix 2024-07-13 07:13:09 +02:00
Blaz Kristan 13ed78be96 Merge branch '0_15' into blending-styles 2024-07-11 21:30:10 +02:00
Blaz Kristan cd1ede38a7 Size & speed optimisations 2024-07-11 21:22:58 +02:00
Blaz Kristan efa32ed4f6 Size optimisations 2024-07-09 21:50:27 +02:00
Blaz Kristan 551b8af76d Hide 2D effects on 1D segments 2024-07-09 19:00:32 +02:00
Blaz Kristan 887254f5da Bugfixes
- LED memory calculation (not UI)
- potential fix for #4040
- compiler warning in FX
2024-07-07 14:18:51 +02:00
Blaz Kristan 0275bd1d45 On/Off blending respected 2024-07-05 21:23:59 +02:00
Blaz Kristan f3891c305d Merge branch '0_15' into blending-styles 2024-07-05 21:22:29 +02:00
Blaz Kristan 5874b78349 Bugfixes
- FX: Breathe, Meteor
- IR: use Segment
- UI: palette search, LED settings
2024-07-05 21:22:05 +02:00
Blaz Kristan 593970ed6d Merge branch '0_15' into blending-styles 2024-06-30 10:45:54 +02:00
Blaz Kristan 693bf4816b Minor tweaks. 2024-06-30 10:44:25 +02:00
Blaz Kristan 0ff4016250 WLED 0.15.0-b4 release
- LED settings update (limit to available outputs)
- minor fixes
2024-06-29 20:22:47 +02:00
Blaz Kristan e753f3849e Revert "WLED 0.15.0-b4 release"
Messed FX_fcn.cpp CRLF conversion
2024-06-29 20:18:30 +02:00
Blaz Kristan 7b248c8fb2 WLED 0.15.0-b4 release
- LED settings update (limit to available outputs)
- minor fixes
2024-06-29 16:36:27 +02:00
Blaž Kristan f0e4dd90ee
Merge pull request #4013 from wesleygas/0_15
Add LD2410 sensor usermod
2024-06-29 16:21:21 +02:00
Will Miles ff39a8db3f Fix PWM crashes on ESP8266
Vendor in the ESP8266 Arduino core PWM library, with a fix for a nasty
NMI crash bug.  Sometimes the NMI return instruction seems to fail,
resulting in an infinite loop as the PC gets stuck.  Work around this
by backing up and restoring the PC if needed.
2024-06-27 21:30:05 -04:00
Blaž Kristan 57b01c2711
Merge pull request #4030 from rorosaurus/0_15
add ETH support for LILYGO-POE-Pro
2024-06-26 12:01:36 +02:00
Blaz Kristan bee75a4508 Hide 2D blending styles on non-2D set-up 2024-06-23 14:14:26 +02:00
Blaz Kristan a4ac444bda Merge branch '0_15' into blending-styles 2024-06-23 14:10:43 +02:00
Blaz Kristan d13b8c8421 Move LED_BUILTIN handling to BusManager class
- reduce max panels
2024-06-23 14:09:18 +02:00
Blaz Kristan 0af3063127 Enhancements
- edit WiFi TX power (ESP32)
- keep current ledmap ID in UI
- limit outputs in UI based on length
- wifi.ap addition to JSON Info
- relay pin init bugfix
- file editor button in UI
2024-06-23 14:08:18 +02:00
Rory Hayes 17e1975dd8 add ETH support for LILYGO-POE-Pro
Also includes minor spelling corrections for CONTRIBUTING.md
2024-06-18 16:07:46 -07:00
Blaz Kristan 296df2660a Merge branch '0_15' into blending-styles 2024-06-16 18:22:21 +02:00
Blaz Kristan ed0e73803f Minor tweaks for ESP8266
- update was restarting device on some occasions
- a bit of throttling in UI
2024-06-14 22:12:09 +02:00
Blaz Kristan f4475b9d2a Dynamic parallel I2S output
- update NeoPixelBus to v2.8.0
- use single/mono I2S + 4x RMT for 5 outputs or less
- use parallel x8 I2S + 8x RMT for >5 outputs (limit of 300 LEDs per output)
2024-06-12 18:00:00 +02:00
wesleygas 9cfb56d9c6 Add LD2410 sensor usermod 2024-06-04 21:39:31 -03:00
Blaz Kristan 25ade86994 Filter/sort bugfix 2024-06-04 17:05:11 +02:00
Blaz Kristan da484b07f5 Use transition style for palette and color change
- as requested by @willmmiles & @tkadauke
2024-06-02 21:30:44 +02:00
Blaz Kristan 20c0916adc Merge branch '0_15' into blending-styles 2024-06-02 21:25:24 +02:00
Blaz Kristan c10ec2962b Fix custom palette reorder on search 2024-06-02 21:25:05 +02:00
Blaz Kristan de5632b1cf Merge branch '0_15' into blending-styles 2024-06-01 17:54:57 +02:00
Blaz Kristan 68a7282b27 Speed and size optimisations in FX.cpp
- replace uint8_t and uint16_t with unsigned
- replace in8_t and int16_t with int
- reduces code by 1kB
- WARNING may break effects that rely on overflow/narrow width (most fixed)
2024-05-31 15:58:18 +02:00
Blaz Kristan 5732b66c5a Add UI error description. 2024-05-31 15:50:10 +02:00
Blaz Kristan 501f988b0f ESP-NOW usermod hook 2024-05-25 20:01:38 +02:00
Blaž Kristan 9f581c6181
Merge pull request #3994 from gsieben/0_15-Usermod-BME68X-Pull-Request
Usermod BME68X Sensor Implementation rebased for WLED 0.15
2024-05-21 21:20:47 +02:00
Blaž Kristan 85702a8142
Merge branch '0_15' into feature/aht10_usermod 2024-05-21 18:21:16 +02:00
Blaž Kristan bfd1bdfc64
Merge branch '0_15' into 0_15-Usermod-BME68X-Pull-Request 2024-05-21 18:14:23 +02:00
Blaž Kristan c1fed6d469
Merge pull request #3986 from LordMike/feature/ina226_usermod
Add INA226 usermod for reading current and power over i2c
2024-05-21 18:12:03 +02:00
Gabriel Sieben 63f481d498
Update wled.h
Accidentally included changes removed.
2024-05-20 22:09:20 +02:00
Gabriel Sieben 56e0bde8ab Rebase of the user mode BME68X sensor in WLED 0.15 2024-05-20 14:45:01 +02:00
Gabriel Sieben db2cdca71b Revert "First implementation of the user mods for the BME68X sensor in WLED 0.15"
This reverts commit faa2fba6b9.
2024-05-20 14:25:08 +02:00
Gabriel Sieben faa2fba6b9 First implementation of the user mods for the BME68X sensor in WLED 0.15 2024-05-20 14:10:25 +02:00
Gabriel Sieben f727ea2874 Update wled.h
OTA_PASS
2024-05-20 13:13:40 +02:00
Blaž Kristan 4a7ef07089 Fix for #3991 2024-05-20 12:24:26 +02:00
Blaz Kristan 2f6f0d2f3e WLED 0.14.4 2024-05-18 15:17:08 +02:00
Blaz Kristan fae5938b0a Build bump, changelog update 2024-05-18 13:01:28 +02:00
Blaz Kristan 2ec3639900 Merge branch 'main' into 0_15 2024-05-18 11:24:18 +02:00
Blaz Kristan 4513404629 Fix for #3987 2024-05-18 11:15:16 +02:00
Blaz Kristan 13bfda56ef Auto segment creation bugfix
- additional debug
- minor optimisation
2024-05-18 11:11:40 +02:00
Michael Bisbjerg 3d34802ab2 Initial ina226 2024-05-17 14:36:27 +02:00
Blaz Kristan 2aec21a6d0 Palette loading optimisation
- fixes #3978
- FX: Firenoise can use selected palette
2024-05-16 06:23:15 +02:00
Blaz Kristan ccce0f2d3b Merge branch '0_15' into blending-styles 2024-05-15 20:59:41 +02:00
Blaz Kristan 77ca2ec0e9 Compiler warning fix 2024-05-15 15:35:14 +02:00
Blaz Kristan 77e6ea8a6f Palette loading optimisation
- fixes #3978
- FX: Firenoise can use selected palette
2024-05-15 15:34:53 +02:00
Frank e33299bbd7
Merge pull request #3961 from Brandon502/0_15
Added Pinwheel Expand 1D ->2D effect mapping mode
2024-05-15 14:22:10 +02:00
Michael Bisbjerg f71d839009 Address comments 2024-05-14 18:02:39 +02:00
Brandon502 3cb6b17316 Pinwheel fix 2024-05-14 11:46:52 -04:00
Brandon502 c0cb677a4c Pinwheel cleanup 2024-05-14 11:30:33 -04:00
Frank a5a6a8eaee pinwheel : fix holes on large matrix, minor code cleanup
there were still two holes in my 52x52 setup --> added "XL" size for bigger than 50x50 - achieves 18fps on 52x52
2024-05-14 11:30:25 +02:00
Frank ecb861de56 pinwheel code cleanup
reducing code duplication between sPC and gPC
2024-05-14 10:36:50 +02:00
Brandon502 1d20f18d3f Pinwheel bugfix
Fixed getPixelColor.
2024-05-13 17:43:31 -04:00
Michael Bisbjerg 68f6b3452e Initial implementation of the AHT10/AHT15/AHT20 sensors 2024-05-13 23:12:57 +02:00
Frank 1d7789f544 pinwheel bugfixing
* setPixelColor: ensure that 0/0 is used
* getPixelColor: accuracy improvements

unfortunately, "scrolling" audioreactive effects are still not working properly - they end after 1/4 of the circle. Could be due to limited resolution of getPixelColor.
2024-05-13 19:27:41 +02:00
Blaz Kristan 1ceeed38bc Another fix for fix :rolleyes: 2024-05-13 14:30:30 +02:00
Brandon502 2e1e917952 Merge branch '0_15' of https://github.com/Brandon502/WLED into 0_15 2024-05-12 17:46:52 -04:00
Brandon502 9e0b91ac17 Pinwheel changes.
Jump distance for odd rays fixed. Removed holes on rectangular matrices.
2024-05-12 17:46:42 -04:00
Frank ea83ec496b pinwheel - parameter tuning to fix some holes
fixing holes that appeared during testing
* at 52x52 (big 296 -> 304)
* at 24x32 (medium 192 -> 208)
* at 12x16 (small 72 -> 82)

... there is still one hole at 14x16 ... well wtf
2024-05-12 23:05:58 +02:00
Frank f26bb26ffa Update FX_fcn.cpp
* minor cleanup, moved prevRay into setPixelColor
* removed experimental code (too slow)
* comments cleanup
2024-05-12 22:35:33 +02:00
Frank 28348f919b Merge branch '0_15' into pr/3961 2024-05-12 21:30:59 +02:00
Brandon502 c84d4c637d Pinwheel Expand 1D Optimization
Changed method for drawing odd numbered rays.
2024-05-12 11:52:31 -04:00
Blaz Kristan 04706cfa9c JS fix & warning 2024-05-12 16:34:07 +02:00
Frank 3078bea7cc Pinwheel optimization: do nor repaint "same" pixels in a line
avoids back to back duplicates within the same line
2024-05-12 13:29:04 +02:00
Frank c91e0fc988 Merge branch '0_15' into pr/3961 2024-05-12 13:25:46 +02:00
Blaž Kristan 5183af4e8a Typo. 2024-05-12 11:30:57 +02:00
Blaž Kristan 1ff5cb0596 Experimental parallel I2S support for ESP32
- increased outputs to 17
- increased max possible color order overrides
- use WLED_USE_PARALLEL_I2S during compile

WARNING: Do not set up more than 256 LEDs per output when using parallel I2S with NeoPixelBus less than 2.9.0
2024-05-12 11:12:13 +02:00
Blaž Kristan f441ce9c17 Merge branch '0_15' into blending-styles 2024-05-12 08:12:58 +02:00
Brandon502 9e468bd059 Pinwheel Expand 1D Optimizations
Added small pinwheel size. Adjusts medium and large values.
2024-05-11 13:57:21 -04:00
Brandon502 d3492b5b6c Pinwheel Expand 1D Bug Fix
Removed holes on 31x31 and 32x32 grids.
2024-05-10 16:06:37 -04:00
Blaž Kristan 3682cd6a5e
Merge pull request #3913 from Aircoookie/tm1914
Tm1914 chip support
2024-05-10 21:44:40 +02:00
Blaz Kristan b209b1e481 Peek on/off fix 2024-05-10 16:01:47 +02:00
Blaz Kristan 4afed48f58 Use libc trigonometric functions on ESP32 by default
- use custom (space saving) functions on ESP8266
2024-05-10 15:59:11 +02:00
Brandon502 6a18ce078e Pinwheel Expand1D changes
cosf/sinf changed to cos_t/sin_t. int_fast32_t and int_fast_16_t changed to int.
2024-05-09 20:38:41 -04:00
Blaz Kristan 4dbe9a7015 Antialiased line & circle 2024-05-10 00:02:28 +02:00
Blaz Kristan a320f16404 Real math fix 2024-05-09 23:58:58 +02:00
Brandon502 da79b93387 Added Pinwheel Expand 1D Effect 2024-05-07 18:04:29 -04:00
Blaz Kristan 88372cd516 Brighter peek (ignore strip brightness) 2024-05-07 16:34:15 +02:00
Blaž Kristan b3206121cc
Merge pull request #3942 from gaaat98/audioreactive-analog
Enabled some audioreactive effects for single pixel strips/segments
2024-05-07 07:35:46 +02:00
gaaat98 5bccb5fc42
removed commented checks 2024-05-07 00:31:37 +02:00
Blaž Kristan 5ab1b14d6b
Merge pull request #3946 from freakintoddles2/0_15
Adds an API parameter to allow the user to skip to the next preset in a playlist at any time
2024-05-03 23:25:36 +02:00
Todd Meyer 379f181362 Further simplification 2024-05-03 11:51:47 -07:00
Todd Meyer dd19aa63d0 Forgot F[], added it 2024-05-03 08:47:14 -07:00
Todd Meyer 6df3b417a9 Updated based on more feedback 2024-05-03 08:30:37 -07:00
Blaz Kristan fa76431dd6 Changelog update 2024-05-03 16:08:20 +02:00
Blaz Kristan 6504fb68b6 Minor MQTT optimisation. 2024-05-03 15:46:16 +02:00
Blaz Kristan 2ff49cf657 Fix for #3952
- included IR optimisations & code rearrangement
2024-05-03 15:45:15 +02:00
Blaž Kristan fa1aa1fe80
Merge pull request #3944 from paspiz85/pas4
Using brightness in analog clock overlay
2024-05-03 09:56:14 +02:00
Blaž Kristan 85b95a2940
Merge pull request #3945 from w00000dy/Webpage-shortcuts
Add Webpage shortcuts and Fix resizing bug
2024-05-03 09:53:00 +02:00
Todd Meyer 5e38039c4d Updated based on more feedback 2024-05-02 14:36:18 -07:00
Blaz Kristan 4df936a437 Fix for unfortunate prior CRLF coversion. 2024-05-02 10:33:10 +02:00
Blaz Kristan 736a8b1b80 Fix for rotating tablet into PC mode. 2024-05-02 10:31:50 +02:00
Pasquale Pizzuti 22f6128bc4 using global brightness 2024-05-02 09:05:37 +02:00
freakintoddles2 db475b6998
Update playlist.cpp 2024-05-01 10:09:17 -07:00
freakintoddles2 6daf7f6322
Update wled.cpp
reworked based on PR feedback
2024-05-01 10:07:52 -07:00
freakintoddles2 16086c0961
Update wled.h
reworked based on feedback from original PR
2024-05-01 10:05:26 -07:00
freakintoddles2 e88c81ad0d
Update set.cpp
reworked based on feedback
2024-05-01 10:04:02 -07:00
freakintoddles2 a2b9aed40d
Update playlist.cpp
reworked approach based on feedback
2024-05-01 10:03:16 -07:00
freakintoddles2 caa4fe1ec4
Update json.cpp
reworked approach based on feedback
2024-05-01 10:02:27 -07:00
freakintoddles2 25fb878e54
Update fcn_declare.h
reworked approach based on feedback
2024-05-01 10:01:30 -07:00
freakintoddles2 a1d6ffadad
Update json.cpp
adds support for np boolean parameter to skip to next preset
2024-04-30 16:49:52 -07:00
freakintoddles2 3b89814b69
Update set.cpp
added new NP command to API to allow user to skip to next preset in a playlist. Example use is win&NP in a preset.
2024-04-30 16:33:30 -07:00
freakintoddles2 071e0be445
Update fcn_declare.h
Updated to add the optional skipNext bool to handlePlaylist() which allows people to skip to the next preset when desired
2024-04-30 16:23:43 -07:00
freakintoddles2 bed364d75e
Update playlist.cpp
Updated to allow a user to optionally skip to the next preset in the playlist anytime they desire.
2024-04-30 16:21:40 -07:00
Woody d2984e9e16
add Webpage shortcuts, resolves #2362 2024-04-30 18:57:53 +02:00
Pasquale Pizzuti fd9570e782 using color_fade 2024-04-30 17:52:35 +02:00
Woody ff10130176
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-04-30 16:53:47 +02:00
Pasquale Pizzuti c7d292a716 using brightness in analog clock overlay 2024-04-30 14:09:12 +02:00
gaaat 74bc159a52 enabled some audioreactive effects for single pixel strips/segments 2024-04-29 20:19:10 +02:00
Frank 9f99a1896d presets.json PSRAM caching: consider cacheInvalidate
* trying to make the caching mechanism bulletproof.
`cacheInvalidate` is changed when
- autosave usermod updates presets
- a file was upload
* (coding style) fixed some unitialized variables
2024-04-29 16:51:27 +02:00
Blaž Kristan 8110259d1c
Merge pull request #3892 from askask/pollreply 2024-04-28 09:32:04 +02:00
Blaž Kristan 3eba0f4e0d
Merge pull request #3933 from gaaat98/0_15
Improved brightness change via long button presses
2024-04-27 12:53:56 +02:00