Giter VIP home page Giter VIP logo

moonmodules / wled Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aircoookie/wled

185.0 185.0 54.0 65.8 MB

Control WS2812B and many more types of digital RGB LEDs with an ESP8266 or ESP32 over WiFi! MoonModules adds features on top of upstream.

Home Page: https://mm.kno.wled.ge

License: GNU General Public License v3.0

Shell 0.01% JavaScript 5.43% C++ 73.11% Python 0.29% C 12.88% CSS 1.61% HTML 6.63% Batchfile 0.01% Dockerfile 0.03%

wled's People

Contributors

aircoookie avatar albarlow avatar arneboe avatar blazoncek avatar def3nder avatar dependabot[bot] avatar ewoudwijma avatar ewowi avatar ezcgman avatar fishbone-git avatar garyd9 avatar huksley avatar jeffresc avatar lost-hope avatar moonmodules avatar mxklb avatar netmindz avatar pbolduc avatar proto-molecule avatar scottrbailey avatar softhack007 avatar srg74 avatar stringandstickytape avatar tonyxforce avatar travisdean avatar troyhacks avatar viknet365 avatar w00000dy avatar werkstrom avatar wiesendaniel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wled's Issues

Backing up config & presets .. no extension added

What happened?

When you go to backup presets, or config .. Wled does not add the .json extension to file being saved.

you can either .. when saving, manually , in save as dialog box, change format to All Files, then manually add the .json, to make file(s) able to be loaded later ..

Or, you can rename the files, adding the ,json, from the desktop, to make them work.

So, this means the files are being saved in json format, it's just that Wled is not adding the extension when saving.

To Reproduce Bug

Save your presets or config in ...

Config ---> Security & Updates

Expected Behavior

That the files would have the proper ,json extension.

Install Method

From MoonModules Release Page

What version/release of MM WLED?

WLEDMM_0.14.0-b27.31_esp32_4MB_XL.bin

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Unable to set segment name

What happened?

I am not able to set a segment name anymore.

To Reproduce Bug

Clicking in the pencil icon and setting the text field, then using the check mark (I guess that is like the APPLY button in 0.13.3 ?), but the name is not applied

Expected Behavior

In 0.13.3 you can set the name of a segment, there is an apply button that is not present anymore to apply the changes.

Install Method

From srg74 firmware repository

What version/release of MM WLED?

(WLEDMM_0.14.0.10 esp32_16MB_max.bin) build 2212060

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

I installed this version to get the scrolling text function going, that's why I want to change the segment name.

Code of Conduct

  • I agree to follow this project's Code of Conduct

Maximum current and 2D configuration are reset on power cycle

What happened?

I set up max current to 4500mA for my use case.
My LED matrix is 16x16, so this is also the setup in my 2D configuration.

After each power cycle, I can find that max current is changed to 5000mA and setup in my 2D configuration is changed to 8x8.
I didn't noticed so far that anything else is messing except above 2 things.

Firstly I mean, maybe is problem with me, cause I mess a lot with different presets, so maybe it pulling these values who knows where from, but I also tried with factory reset => fresh installation and basic manual config for 16x16. However, I'm still not sure is it ESP32 keep something even after factory reset, so I would be graceful if someone could try to reproduce this. Below video explains more than my post. Issue is recorded in (atm) last commit 500, but I noticed it before in 476 (maybe even before that), but I was lazy to sit here and type 😁

https://cloud.stiw47.cloud/s/wTATwEGP52Ny28y

To Reproduce Bug

Power cycle LED matrix => check max current and 2D layout => compare it with previous values.

Expected Behavior

It should keep settings between power cycles 😁

Install Method

From MoonModules Release Page

What version/release of MM WLED?

Change library for ArtiFX 500

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

Unfortunately, I haven't it. Never catch a log for WLED before, I heard it is not that simple. On the other hand, I saw on MM repo there are some binaries with _debug in the file name, so if log is necessary, I can try.

Anything else?

Thanks for great software.

Code of Conduct

  • I agree to follow this project's Code of Conduct

Improve Peek/liveview2D

image
As you can see from the picture liveview2D is not as clear as peek . Might be tweak liveview2D to make clear .
In those tests we used Firefox and Edge browsers and not really sure if browsers setting could effect that but if so then that is good to share your own examples so we might be able to use as is .

Version tested is WLEDMM 0.14.0-b1.18 (build 2302110)

Sorry for the mess ,we have few other suggestions related to peek and liveview2D , if you wish we can keep each in a separate requests as that could be easier to track or wait to make one big post .

Analog Mic not working on ESP32, works with AnalogRead, though.

What happened?

I tried a simple sketch in the Arduino IDE:

Serial.println(analogRead(35));

which does output seeminly correct (though super noisy) values. If I blow into the microphone I can clearly see it.

Now, if I try to use this fork, the I2S ADC stuff doesn't seem to work. and is always at max. I cannot figure out why.

(micReal always stays at 512
VolumeSmth goes to 0 at some random point in time,
DC_Level counts up to 512 and stays there. )

I added the "using audio input" line to make sure, but ADC1_CH7 seems correct.

How do I debug this?

To Reproduce Bug

use my custom PCB :/

Expected Behavior

work

Install Method

Self-Compiled or other

What version/release of MM WLED?

WLEDMM_0.14.0.10 esp32_4MB_max, build 2212060

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

---WLED 0.14.0.10 2212060 INIT---
 WLEDMM_0.14.0.10 esp32_4MB_max, build 2212060.

Usermods setup ...
Finding temperature pin...
temperature usermod initialized.
Starting display.
AR: Analog Microphone (left channel only).
AR: Using audio input: 7
AR: sound input driver initialized successfully.FFT started on core: 
0
MPU6050 connection failed
mpu6050: DMP Initialization failed (code 1)
Ada

GPIO    | Assigned to           | Info
--------|-----------------------|------------
i/o   0   Button                  
i/o   1   ./.                     Serial TX
i/o   2   ./.                     
i/o   3   ./.                     Serial RX
i/o   4   ./.                     
i/o   5   ./.                     
i/o  12   ./.                     
i/o  13   ./.                     
i/o  14   ./.                     
i/o  15   usermod (UM)            
i/o  16   ./.                     (default) LED pin
i/o  17   ./.                     
i/o  18   Temperature (UM)        (default) SPI SLK  / SCK
i/o  19   ./.                     (default) SPI POCI / MISO
i/o  20   ./.                     
i/o  21   I2C (hw)                (default) I2C SDA
i/o  22   I2C (hw)                (default) I2C SCL
i/o  23   ./.                     (default) SPI PICO / MOSI
i/o  25   ./.                     
i/o  26   LEDs (digital)          
i/o  27   ./.                     
i/o  32   ./.                     
i/o  33   ./.                     
in   34   ./.                     
in   35   AudioReactive (UM)      
in   36   ./.                     
in   37   ./.                     
in   38   ./.                     
in   39   ./.                     
WLED initialization done.

Ada
No WiFi connection configured.
Opening access point WLED-AP
micReal:512.00  volumeSmth:8.54 DC_Level:0.04
micReal:512.00  volumeSmth:169.26       DC_Level:0.92
micReal:512.00  volumeSmth:250.26       DC_Level:2.00
micReal:512.00  volumeSmth:254.55       DC_Level:3.12
micReal:512.00  volumeSmth:254.94       DC_Level:4.11
micReal:512.00  volumeSmth:255.00       DC_Level:5.26
micReal:512.00  volumeSmth:255.00       DC_Level:6.38
micReal:512.00  volumeSmth:255.00       DC_Level:7.49
micReal:512.00  volumeSmth:255.00       DC_Level:8.55
micReal:512.00  volumeSmth:255.00       DC_Level:9.66
micReal:512.00  volumeSmth:255.00       DC_Level:10.72
...
micReal:512.00  volumeSmth:53.67        DC_Level:501.92
micReal:512.00  volumeSmth:53.59        DC_Level:501.94
micReal:512.00  volumeSmth:53.52        DC_Level:501.96
micReal:512.00  volumeSmth:53.44        DC_Level:501.98
micReal:512.00  volumeSmth:52.71        DC_Level:502.00
micReal:512.00  volumeSmth:34.41        DC_Level:502.03
micReal:512.00  volumeSmth:16.12        DC_Level:502.05
micReal:512.00  volumeSmth:0.00 DC_Level:502.07
micReal:512.00  volumeSmth:0.00 DC_Level:502.09
micReal:512.00  volumeSmth:0.00 DC_Level:502.11
micReal:512.00  volumeSmth:0.00 DC_Level:502.14
micReal:512.00  volumeSmth:0.00 DC_Level:502.16
micReal:512.00  volumeSmth:0.00 DC_Level:502.18
micReal:512.00  volumeSmth:0.00 DC_Level:502.20

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Global I2C pin setting being overwritten

What happened?

Saving changes on the 4LineDisplay config page overwrites the global I2C pin settings when "use global" option is used. Even though the correct pins are shown in "use global" drop down, before the save.

Rebooting after setting global I2C pins and before saving 4LineDisplay page does not make a difference. This bug doesn't impact upstream because all settings are on the same page.

And while your in the code here, maybe you could swap the order of the inputs so they match the order on Usermods page. Usermods (Data, Clock), 4LineDisplay (Clock, Data).

To Reproduce Bug

  • set global I2C pins on usermods page
  • save 4LineDisplay config page

Expected Behavior

global I2C settings should be preserved.

Install Method

From srg74 firmware repository

What version/release of MM WLED?

WLEDMM_0.14.0-b1.18_esp32_4M_max

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Add MCU temperature info

This is already tested thanks to @lost-hope , It would be nice if the MCU temperature output is available or published via MQTT
https://discord.com/channels/473448917040758787/757254961640898622/1105586635195809932
One use case is to switch all our MCUS powers to 3.3v to reduce heat and I do not like to walk around the building to do thermal imagery . In all cases that may be useful to indicate possible hw or wiring issues or even could help to see if MCU is stressed . It is also available with others like Tasmota so could be common to open source .

Default power-on is invalid.

What happened?

After flashing the firmware, all functions are normal, but in the configuration and LED settings, check the LED box after power-on reset.

To Reproduce Bug

After disconnecting and reconnecting the power supply.the default power is still off.

Expected Behavior

NULL

Install Method

From MoonModules Release Page

What version/release of MM WLED?

WLEDMM_0.14.0-b15.21_esp32_4MB_M.bin

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

WLEDMM_0.14.0-b27.31_esp8266_4MB_M.bin Battery Auto Off is enabled by default

What happened?

I OTA'd an earlier 0.14.0 esp8266 module with binary WLEDMM_0.14.0-b27.31_esp8266_4MB_M.bin. Build 2308250 Everything worked as expect after the firmware upgrade—for 30 seconds. Then the LEDs went off. After a good night sleep and a bit of troubleshooting, I determined that the problem was that in the UI /settings/Battery->Auto Off is enabled by default Interval is also set to 30000 ms, which exclaims the 30 sec. This was confirmed on 3 copies of the same esp8266 dev. bd. No other binaries have been investigated.

To Reproduce Bug

Install WLEDMM_0.14.0-b27.31_esp8266_4MB_M.bin on a ESP8266EX via OTA or esptool.

Expected Behavior

Expect WLEDMM to have start up defaults that turn the LEDs on, and leaves them on. If having the Battery->Interval set to 30000, and Auto Off enabled by default is a feature and not a bug, then the expected behavior is the observed behavior, and this is a feature request, and not a bug report

Install Method

From MoonModules Release Page

What version/release of MM WLED?

WLEDMM version 0.14.0-b27.31 Build 2308250

Which microcontroller/board are you seeing the problem on?

ESP8266

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

[dev report] Matrix + Long strip -> saving 2D settings or reloading presets reduces free RAM by 50%

What happened?

Hi @ewoudwijma, @troyhacks, @netmindz,

I have a test setup with an unusual, however perfectly "legal" 2D config - a matrix running several effects in segments, plus a 1x144 strip that does nothing.
image

when first starting WLED, free ram (after loading the preset) is about 111 Kb.

allocLeds 2112 from 0
allocLeds 96 from 0
Free heap: 119224

after saving 2D settings (no change), WLED gets unstable and slow. Free heap goes down to 60 Kb.

settings resp10
handleSettingsSet(): strip is still drawing effects.
strip.waitUntilIdle(): strip idle after 7 ms. (task async_tcp)
Matrix ledmap:
( skipped )
resetSegments 1 178x24
allocLeds 12816 from 2112
allocLeds 12816 from 0
allocLeds 12816 from 96
allocLeds 12816 from 0
Free heap: 54356
JSON buffer locked. (11)
JSON buffer released. (11)
*** heap_caps_malloc failed to allocate 1536 bytes with Internal Default capabilities - largest free block: 1524; available: 6612 (frag 76.95%).
*** heap_caps_malloc failed to allocate 1622 bytes with 8-Bit_Aligned DMA Internal capabilities - largest free block: 1620; available: 8420 (frag 80.76%).

Observations

I think that the json magick for saving 2D settings does something wrong.

complete LOG files:
serial_console.txt

To Reproduce Bug

Code: audio_fastpath branch (should also work on mdev) - just commented out the "slow strip" warning (wlep.cpp).
buildenv [env:esp32_16MB_V4_M_debug]

presets and cfg from the zip attached.
my_esp32_16M_V4.zip

  • start WLED
  • open presets tab, re-load preset 12
  • goto main UI page (colors)
  • open 2D setting, press "save"

--> low memory, slow effects, more problems.

Expected Behavior

The preset load fine at startup. Re-Loading it, or re-saving existing 2D settings should not cause instability.

Install Method

Self-Compiled or other

What version/release of MM WLED?

WLEDMM audio_fastpath (tag 0.14.0-b15.25_neoPixelBus-273)

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

ArtiFX on ESP8266

Feature Request:
Add ArtiFX support for ESP8266 platform

Additional Info:
When adding the ArtiFX usermod to the env of the ESP8266, the main issue seems to be that the function esp_get_free_heap_size() is not present for ESP8266 (https://github.com/espressif/ESP8266_RTOS_SDK/blob/35375c17be0b7837239c330d9a411a0ad46196b8/components/esp8266/source/system_api.c#L378)
That function itself needs the heap_caps_get_free_size function (https://github.com/espressif/ESP8266_RTOS_SDK/blob/35375c17be0b7837239c330d9a411a0ad46196b8/components/heap/src/esp_heap_caps.c#L69)
That function uses two global variables, that need to be properly initialized: g_heap_region_num and g_heap_region most of it seems to be initialized here (https://github.com/espressif/ESP8266_RTOS_SDK/blob/35375c17be0b7837239c330d9a411a0ad46196b8/components/heap/port/esp8266/esp_heap_init.c#L21)

Changing effect removes segment options

What happened?

Changing the effect clears "Reverse Direction" / "Mirror effect" options on segments.

To Reproduce Bug

Choose "Reverse direction" and/or "Mirror effect" on any segment and then change the effect. This removes the previosly chosen segment configuration.

Expected Behavior

Maintain segment configuration on effect change.

Install Method

Self-Compiled or other

What version/release of MM WLED?

WLEDMM_0.14.0-b2.19 esp32_4MB_XL.bin (ESP32-D0WDQ6 build 2303111)

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

DMX serial input isn't transmitted via sync feature

What happened?

I have a master esp32 which is connecter over DMX serial to my DMX interface. When I change some DMX values they where transmitter to my master esp but not to the synced clients.

To Reproduce Bug

Take 2 esp's. One as master with activate
sync, connected over DMX serial to an DMX interface and the other as client.

Expected Behavior

After changing an DMX value both devices should receive the change (the client over the sync feature)

Install Method

Binary from WLED.me

What version/release of MM WLED?

0.14.0b27

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

I posted a video of the problem in discord DMX input

Code of Conduct

  • I agree to follow this project's Code of Conduct

Analogue microphone audio reactivity not working with Lolin32lite

What happened?

Thanks for this great WLED branch, I really like all the extra functionality! I have an analogue microphone connected to VP/IO36 on my Lolin32lite. With the SR branch binary (soundReactive_WLED_0.13.3_ESP32.bin) audio reactivity works just as expected.
With MM, there is no audio reactivity. Although I have not modified the hardware setup at all, the system reacts as if no audio is received. I have set the analogue input to IO36, the digital microphone type to analogue and all the digital pins to n/a. I am using WLEDMM_0.14.0-b15.21_esp32_4MB_M.bin and everything else works as expected. Any ideas?

To Reproduce Bug

Install WLEDMM_0.14.0-b15.21_esp32_4MB_M.bin on a Lolin32lite, connect an analogue microphone to VP/IO36. No sound reactivity (although the same setup works with SR 0.13.2).

Expected Behavior

The system should react to sound.

Install Method

From MoonModules Release Page

What version/release of MM WLED?

WLEDMM_0.14.0-b15.21_esp32_4MB_M.bin

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

Thank you for your great work!

Code of Conduct

  • I agree to follow this project's Code of Conduct

ESP32-C3 Error 19: filesystem error when connecting to Wifi network

What happened?

ESP32-C3 build fails to save Wifi information and gets stuck loading (UM ☾) settings.

To Reproduce Bug

Board used: ESP32-C3 Super Mini
BIN used: WLEDMM_0.14.0-b28.34_esp32c3dev_4MB_M.bin

  1. Manual OTA via WLED update page
  2. Connect to WLED-AP, input wifi settings, save & connect

Expected Behavior

Expected: C3 will connect to wifi. Sound settings page should be visible on settings page

Actual: after wifi settings page timeouts, returns to color wheel main screen and red error message appears at bottom: "Error 19: A filesystem error has occured." Settings page is missing Temperature, 4LineDisplay, Rotary-Encoder, Autosave, AudioReactive, Animartrix (UM ☾) pages.

Install Method

From MoonModules Release Page

What version/release of MM WLED?

WLEDMM_0.14.0-b28.34_esp32c3dev_4MB_M.bin

Which microcontroller/board are you seeing the problem on?

ESP32-C3

Relevant log/trace output

Happy to gather this, I just don't know how 😅 I thought there was an easy way to gather log from the web interface?

Anything else?

I've confirmed that my standard ESP32 dev board does not experiences these issues when OTA updating using WLEDMM_0.14.0-b28.34_esp32_4MB_M.bin.

Code of Conduct

  • I agree to follow this project's Code of Conduct

Cannot rotate through Playlists via Preset. No issue rotating through other Presets via Preset

What happened?

Trying to implement tactical button where short press with rotate through Presets (1-42) and long press will rotate through Playlists (100-105). I can set a Preset to rotate through other Presets, but cannot set a Preset that will rotate through other Playlists. Every time I either press the button to activate the Preset or manually click the Preset, it only selects the first Playlist(100) and will not move to the next one in the sequence (101/102/103...). Note: works without issue in the AC firmware.

To Reproduce Bug

Create Playlists with IDs 100/101/102/103 (or any other IDs)
Create Preset with API command: P1=100&P2=103&PL=~
Each time you click Preset it selects/reselects Playlist 100. It will not move to Playlist 101

Expected Behavior

Expectation is that each click will move to next Playlist in the sequence ie: 100, then 101, then 102....

Install Method

From MoonModules Release Page

What version/release of MM WLED?

WLEDMM_0.14.0-b27.31_esp32_4MB_S

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Include ledmaps for 2D

Hi ,
Some use custom maps a lot as a practical way of customizing the effects on the fly for custom fixtures like cubes , it is currently working fine with WLED 0.14.0-mdev (build 2210201) when the matrix is set to 1D but not when you setup the unit with 2D . In that case ledmaps are ignored .

Is your feature request related to a problem? Please describe.
Low priority feature request as it seems little user base

Describe the solution you'd like
Ledmaps are available with 2D

Describe alternatives you've considered
na

Additional context
Add any other context or screenshots about the feature request here.

Thank you for your ideas for making WLED better!

Mixed mode 2D / 1D works upstream but not in MM

What happened?

In AC you can do mixed 2D/1D configurations by adding a new segment beyond the bounds of your 2D matrix. With MM, when you add a new segment and set the start X beyond the last pixel of your matrix, the UI correctly switches to 1D segment. However, once saved, it reverts back to 2D.

To Reproduce Bug

  1. set up 100 pixels in LED prefs
  2. configure an 8x8 matrix on 2D settings page
  3. add an additional segment and set start X to 64 or higher
  4. (the UI will revert to a 1D segment view) enter 100 for the stop X and save.
  5. After save, segment will be 2D.

Expected Behavior

Segment beyond 2d bounds would remain 1d.

Install Method

From srg74 firmware repository

What version/release of MM WLED?

WLEDMM_0.14.0-b27.31_universal_shield_esp32_4MB_M

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Rotary (alt): effects skipped when no speed/intensity slider exists

What happened?

Some effects (example, Hiphotic) seem to not allow editing of "Effect Speed" and "Effect Intensity" - they are just skipped over
I'm guessing it's due to these lines:

case  1: if (!extractModeSlider(effectCurrent, 0, lineBuffer, 63)) newState++; else changedState = true; break; // speed
case  2: if (!extractModeSlider(effectCurrent, 1, lineBuffer, 63)) newState++; else changedState = true; break; // intensity

Thanks to Troy for reporting this problem.
It seems to also happen like this in upstream

Install Method

Self-Compiled or other

What version/release of MM WLED?

2303150

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

Code of Conduct

  • I agree to follow this project's Code of Conduct

ARTI-FX infinite loop due to empty renderFrame (bricks controller until reflash)

What happened?

When setting an effect script in the ARTI-FX editor with "Save and Run", the controller sometimes crashes (after the first . is printed to the "Compile and Run Log") and ends up in a boot loop. To fix it, I need to reflash and reconfigure WLED.

To Reproduce Bug

It seems to depend on the number of (global?) variables and/or the number of conditions, but I wasn't able to exactly pinpoint. Here's a simple repro:

program CrashRepro
{
  fr01 = 0
  fr02 = 0
  fr03 = 0
  fr04 = 0
  fr05 = 0
  fr06 = 0
  fr07 = 0
  fr08 = 0
  fr09 = 0
  fr10 = 0
  fr11 = 0
  fr12 = 0
  fr13 = 0
  fr14 = 0
  fr15 = 0
  fr16 = 0
  fr17 = 0
  fr18 = 0
  fr19 = 0
  fr20 = 0
  fr21 = 0
  fr22 = 0
  fr23 = 0
  fr24 = 0
  fr25 = 0
  fr26 = 0
  fr27 = 0
  fr28 = 0
  fr29 = 0
  fr30 = 0
  fr31 = 0
  fr32 = 0

  function renderFrame()
  {

  }
}

Expected Behavior

No bricking, i.e., graceful error handling.

Install Method

From MoonModules Release Page

What version/release of MM WLED?

WLEDMM_0.14.0-b27.31_esp32_4MB_M.bin

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

ets Jul 29 2019 12:21:46

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DOUT, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1084
load:0x40078000,len:11220
load:0x40080400,len:5360
entry 0x4008067c
 
---WLED 0.14.0-b27.31 2309170 INIT---
 WLEDMM_0.14.0-b27.31 esp32_4MB_M, build 2309170.
CPU:   ESP32-D0WDQ5 rev.3, 2 core(s), 240MHz.
CPU    Restart due to power-on event (code 1). Core#0 power-on (1); Core#1 restart (14).
FLASH: 4MB, Mode 3, speed 40MHz.

Mount FS
done Mounting FS
Successfully inited strip 0 (len 30) with type 22 and pin 16 (itype 21)
Usermods setup ...
AR: sound input driver initialized successfully.
Ada

GPIO	| Assigned to		| Info
--------|-----------------------|------------
i/o   0	  Button            	  
i/o   1	  ./.               	  Serial TX
i/o   2	  ./.               	  
i/o   3	  ./.               	  Serial RX
i/o   4	  ./.               	  
i/o   5	  ./.               	  (default) Rotary CLK pin
i/o  12	  ./.               	  
i/o  13	  ./.               	  
i/o  14	  AudioReactive (UM) 	  
i/o  15	  AudioReactive (UM) 	  
i/o  16	  LEDs (digital)    	  (default) LED pin
i/o  17	  ./.               	  
i/o  18	  Temperature (UM)  	  (default) Rotary DT  pin
i/o  19	  ./.               	  (default) Rotary SW  pin
i/o  20	  ./.               	  
i/o  21	  ./.               	  (default) DHT temperature pin
i/o  22	  ./.               	  
i/o  23	  ./.               	  
i/o  25	  ./.               	  
i/o  26	  ./.               	  
i/o  27	  ./.               	  
i/o  32	  AudioReactive (UM) 	  
i/o  33	  ./.               	  
in   34	  ./.               	  
in   35	  ./.               	  
in   36	  ./.               	  
in   37	  ./.               	  
in   38	  ./.               	  
in   39	  ./.               	  
WLED initialization done.

Ada
Connecting to UPC1306744 / ************ ...
Connected! IP address: <removed>
           ArduinoOTA: wled-ea4bc0
mDNS started: wled-ea4bc0.local
Client request done
File uploaded: /presets.json
File uploaded: /cfg.json

WLED RESTART

ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DOUT, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1084
load:0x40078000,len:11220
load:0x40080400,len:5360
entry 0x4008067c

---WLED 0.14.0-b27.31 2309170 INIT---
 WLEDMM_0.14.0-b27.31 esp32_4MB_M, build 2309170.
CPU:   ESP32-D0WDQ5 rev.3, 2 core(s), 240MHz.
CPU    Software restart via esp_restart() (code 3). Core#0 SW restart (12); Core#1 SW restart (12).
FLASH: 4MB, Mode 3, speed 40MHz.

Mount FS
done Mounting FS
Successfully inited strip 0 (len 26) with type 22 and pin 16 (itype 21)
Usermods setup ...
AR: sound input driver initialized successfully.
Ada

GPIO	| Assigned to		| Info
--------|-----------------------|------------
i/o   0	  Button            	  
i/o   1	  ./.               	  Serial TX
i/o   2	  ./.               	  
i/o   3	  ./.               	  Serial RX
i/o   4	  ./.               	  
i/o   5	  AudioReactive (UM) 	  (default) Rotary CLK pin
i/o  12	  ./.               	  
i/o  13	  ./.               	  
i/o  14	  ./.               	  
i/o  15	  ./.               	  
i/o  16	  LEDs (digital)    	  (default) LED pin
i/o  17	  ./.               	  
i/o  18	  Temperature (UM)  	  (default) Rotary DT  pin
i/o  19	  ./.               	  (default) Rotary SW  pin
i/o  20	  ./.               	  
i/o  21	  AudioReactive (UM) 	  (default) DHT temperature pin
i/o  22	  ./.               	  
i/o  23	  ./.               	  
i/o  25	  ./.               	  
i/o  26	  AudioReactive (UM) 	  
i/o  27	  ./.               	  
i/o  32	  ./.               	  
i/o  33	  ./.               	  
in   34	  ./.               	  
in   35	  ./.               	  
in   36	  ./.               	  
in   37	  ./.               	  
in   38	  ./.               	  
in   39	  ./.               	  
WLED initialization done.

Ada
Connecting to UPC1306744 / ************ ...
Connected! IP address: <removed>
           ArduinoOTA: wled-ea4bc0
mDNS started: wled-ea4bc0.local
Client request done
File uploaded: /wledv033.json
File uploaded: /body.wled
closing Arti 110344
closed Arti 110344 ✓
Destruct ARTI
          Error: parseTree should be array or object null (9)
          Error: parseTree should be array or object null (9)
          Error: parseTree should be array or object null (9)
          Error: parseTree should be array or object null (9)
          Error: parseTree should be array or object null (9)
          Error: parseTree should be array or object null (9)
          Error: parseTree should be array or object null (9)
          ...repeated 1875 times!

File uploaded: /body.wled
closing Arti 65616
Destruct ScopedSymbolTable renderFrame (65852)
Destruct Symbol selectedBinIndex (66072)
Destruct Symbol selectedBinValue (66144)
Destruct Symbol lastMillis (66212)
Destruct Symbol millisSinceLastFrame (66284)
Destruct Symbol bassLuminance (66348)
Destruct Symbol bassColorIndex (66420)
Destruct Symbol bassAverage (66484)
Destruct Symbol bassAverageSampleCount (66552)
Destruct Symbol maxBpm (66620)
Destruct Symbol minBeatDuration (66688)
Destruct Symbol beatDetectState (66756)
Destruct Symbol beatDetectStateTime (66824)
Destruct Symbol beatDetectAttackDuration (66892)
Destruct Symbol fr01 (66960)
Destruct Symbol fr02 (67028)
Destruct Symbol fr03 (67100)
Destruct Symbol fr04 (67164)
Destruct Symbol fr05 (67232)
Destruct Symbol fr06 (67300)
Destruct Symbol fr07 (67368)
Destruct Symbol fr08 (67436)
Destruct Symbol fr09 (67504)
Destruct Symbol fr10 (67572)
Destruct Symbol fr11 (67640)
Destruct Symbol fr12 (67708)
Destruct Symbol fr13 (67776)
Destruct Symbol fr14 (67844)
Destruct Symbol fr15 (67912)
Destruct Symbol fr16 (67980)
Destruct Symbol renderFrame (68048)
Destruct ScopedSymbolTable SpotV1 (68120)
definitionJson  5154 / 62% (26 0 6)
parseTree       5882 / 17% (1 0 13)
closed Arti 109444 ✓
Destruct ARTI
abort() was called at PC 0x4008fac0 on core 1

ELF file SHA256: 0000000000000000

Backtrace: 0x4008a818:0x3ffb1da0 0x4008ab75:0x3ffb1dc0 0x4008fac0:0x3ffb1de0 0x4008fd39:0x3ffb1e00 0x40170c1b:0x3ffb1e20 0x40170c6d:0x3ffb1e60 0x40132a3f:0x3ffb1ea0 0x40132d00:0x3ffb1f50 0x401335c7:0x3ffb1f90 0x4015711d:0x3ffb1fb0 0x4008c5fe:0x3ffb1fd0

Rebooting...
ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DOUT, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1084
load:0x40078000,len:11220
load:0x40080400,len:5360
entry 0x4008067c

---WLED 0.14.0-b27.31 2309170 INIT---
 WLEDMM_0.14.0-b27.31 esp32_4MB_M, build 2309170.
CPU:   ESP32-D0WDQ5 rev.3, 2 core(s), 240MHz.
CPU    Software reset due to panic or unhandled exception (SW error) (code 4). Core#0 SW restart (12); Core#1 SW restart (12).
FLASH: 4MB, Mode 3, speed 40MHz.

Mount FS
done Mounting FS
Successfully inited strip 0 (len 26) with type 22 and pin 16 (itype 21)
Usermods setup ...
AR: sound input driver initialized successfully.
Ada

GPIO	| Assigned to		| Info
--------|-----------------------|------------
i/o   0	  Button            	  
i/o   1	  ./.               	  Serial TX
i/o   2	  ./.               	  
i/o   3	  ./.               	  Serial RX
i/o   4	  ./.               	  
i/o   5	  AudioReactive (UM) 	  (default) Rotary CLK pin
i/o  12	  ./.               	  
i/o  13	  ./.               	  
i/o  14	  ./.               	  
i/o  15	  ./.               	  
i/o  16	  LEDs (digital)    	  (default) LED pin
i/o  17	  ./.               	  
i/o  18	  Temperature (UM)  	  (default) Rotary DT  pin
i/o  19	  ./.               	  (default) Rotary SW  pin
i/o  20	  ./.               	  
i/o  21	  AudioReactive (UM) 	  (default) DHT temperature pin
i/o  22	  ./.               	  
i/o  23	  ./.               	  
i/o  25	  ./.               	  
i/o  26	  AudioReactive (UM) 	  
i/o  27	  ./.               	  
i/o  32	  ./.               	  
i/o  33	  ./.               	  
in   34	  ./.               	  
in   35	  ./.               	  
in   36	  ./.               	  
in   37	  ./.               	  
in   38	  ./.               	  
in   39	  ./.               	  
WLED initialization done.

Ada
Connecting to UPC1306744 / ************ ...
CORRUPT HEAP: Bad head at 0x3ffdf214. Expected 0xabba1234 got 0x4b7d0002
abort() was called at PC 0x4008fc79 on core 1

ELF file SHA256: 0000000000000000

Backtrace: 0x4008a818:0x3ffb1dd0 0x4008ab75:0x3ffb1df0 0x4008fc79:0x3ffb1e10 0x40085fca:0x3ffb1e30 0x40086395:0x3ffb1e50 0x4000bec7:0x3ffb1e70 0x401d307d:0x3ffb1e90 0x4012caad:0x3ffb1eb0 0x4012efe1:0x3ffb1ee0 0x400ede77:0x3ffb1f30 0x40133032:0x3ffb1f50 0x401335c7:0x3ffb1f90 0x4015711d:0x3ffb1fb0 0x4008c5fe:0x3ffb1fd0

Rebooting...
ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DOUT, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1084
load:0x40078000,len:11220
load:0x40080400,len:5360
entry 0x4008067c

---WLED 0.14.0-b27.31 2309170 INIT---
[...loop continues...]

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

ES8388 - AiThinker - broken

What happened?

I'm getting silence. Another user is only capturing from mic.

I'm getting no audio passthru

To Reproduce Bug

Linein on AiThinker v2.2

Expected Behavior

Line-in

Install Method

From MoonModules Release Page

What version/release of MM WLED?

B25

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Weird bin selection behaviour?

What happened?

Not sure if this behaviour is to be expected?
Also happens with E.G. Puddlepeak where you can select a bin.

See gif:
Screenshot 2023-05-08 at 21 15 11

To Reproduce Bug

Select a effect where you can set a bin, try to set bin to 0.

Expected Behavior

To stay on 0?

Install Method

Self-Compiled or other

What version/release of MM WLED?

WLEDMM_0.14.0-b15.23_esp32_4MB-max (build 23050700)

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

2D effects shown despite only 1D strip configured

What happened?

The effects list shows 2D effects, but only a 1D strip is configured.

To Reproduce Bug

Configure a 1D strip.

Expected Behavior

Only 1D effects are shown.

Install Method

From https://wled-install.github.io/

What version/release of MM WLED?

WLEDMM_0.14.0-b2.20_esp32_4MB_M.bin (build 2303260)

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

(audio feature) detect frozen / stuck input signal

development note for a future feature

Is your feature request related to a problem? Please describe.

To help diagnose wrong configuration, it would be useful to make a difference between "silence" (some signal but below thresholds) and "frozen" signal (constantly at the same value for long time).

Describe the solution you'd like

Implementation should be straight forward, with some potential for optimizations as we only need to consider "sample batches" that are all at the same value.

  • static unsigned long timeOfLastChange=0; that stores the millis() from the last changing sample batch (special case "0" = never changed since startup)
  • static float previous_sample =0; for comparing with new samples. If all samples in the batch == previous_sample, we are stuck at a value. If at least one is different, update timeOfLastChange to indicate "not stuck". And update previous_sample to a randomly picked sample, like the 16th in a batch (does not matter which one we use).
    • edit: previous_sample is not strictly needed. Just take the first one from a batch of 512, and compare if all other 511 are the same value. If yes--> potentially frozen.
  • check timeOfLastChange when showing info page. If silence and timeOfLastChange - now() > 5 seconds --> show "frozen".

Additional context

I2S is basically single-direction from programming perspective, so you set pins, then start reading values. There is no feedback available about bad configuration, for example missing/broken MCLK signal.

Thanks @netmindz and a few other discord users who suggested a detection scheme for "frozen" signals.

At the moment it feels like there are too many failure possibilities that all just result in the info page saying silence. For example, you can set the wrong pin for master clock and just get Silence, when surely without clock we are getting no meaningful data at all, so reading the same sample value all the time?

The 'MoonModules/WLED-Effects' repository doesn't contain the 'CustomEffects/wled' path in 'master'.

What happened?

Hi guys. First of all, big thanks for the great mod! I'm not sure should this be reported here or on WLED-Effects repo, but anyway....
On WLED-Effects repo, name of the folder was changed from CustomEffects to ARTIFX, so download of custom effects code from Custom Effects Editor is not working any more.

To Reproduce Bug

In the MM WLED web UI, go to Segment, then to Custom Effects Editor and click on Download button - nothing will happen. I figured out what is going on when I clicked on Custom Effects Library button:

image

==>

image

==>

image

Expected Behavior

As you guess, custom effect code should be downloaded.

Install Method

From MoonModules Release Page

What version/release of MM WLED?

WLEDMM_0.14.0-b1.13_esp32_4MB_max.bin

Which microcontroller/board are you seeing the problem on?

Other

Relevant log/trace output

not relevant

Anything else?

Thank you to the Moon and back for such a great fork!

Code of Conduct

  • I agree to follow this project's Code of Conduct

Individual areas flicker

What happened?

When I mix segments with different effects, individual areas flicker. The error appears in different configurations.
0904

To Reproduce Bug

Configuration 1:
ESP32
Maximum current: 4000mA
GPIO 2: 42 LEDs
GPIO 19: 26 LEDs
GPIO 18: 250 LEDs
GPIO 21: 24 LEDs
GPIO 4: 178 LEDs

Segment 0: 0 - 42
Segment 1: 42 - 150
Segment 2: 150 - 229
Segment 3: 229 - 318
Segment 4: 318 - 342
Segment 5: 342 - 520

Segment 0: Effect: Solid Color Palette: default Fx=white
Segment 1: Effect: Solid Color Palette: default Fx=blue
Segment 2: Effect: Solid Color Palette: default Fx=blue
Segment 3: Effect: Wavesins Color Palette: default Fx=blue
Segment 4: Effect: Solid Color Palette: default Fx=white
Segment 5: Effect: Wavesins Color Palette: default Fx=white

In this configuration the LEDs 69 - 150 (parts of the solid segments) flicker even on the display.
With WLED AC there is no problem.

Expected Behavior

I expected the solid segments solid.

Install Method

Self-Compiled or other

What version/release of MM WLED?

build 2308250 WLED v0.14.0-b27.31 "This is the way"

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

Maybe an error in brightness limiter?

Code of Conduct

  • I agree to follow this project's Code of Conduct

Animartrix effects: weird colors in some effects

What happened?

Some effects give me colors that do not match the rest of the effect. Nomally is a solid green color that is superimposed on the effect, like some limit has been reached.
Namelly:

  • Complex _Kaleido_3:
    image
  • Hot_Blob:
    image
  • Lava_1:
    image
  • Module_Experiment_2:
    image
  • Module_Experiment_3:
    image
  • Module_Experiment_6:
    image
  • Module_Experiment_7:
    image
  • Module_Experiment_8:
    image
  • Module_Experiment_9:
    image
  • Parametric_Water:
    image
  • SM_10:
    image
  • Water:
    image
  • Zoom_2:
    image

To Reproduce Bug

Don't know if anyone more has this problem, but is shows for me in the UI and it reflects on the LEDs. This shows for me like this since the initial implementation of Animartrix in WLED, and no matter what version I use (_M _S, custom, ...) No change with any version, and I update almost weekly in my test setup with 'mdev'.

Expected Behavior

Smooth and continuous effects, they change abruptly using solid colors, and seem broken somehow.

Install Method

Self-Compiled or other

What version/release of MM WLED?

WLEDMM_0.14.0-b27.32 esp32_4MB_M.bin
build 2310081

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

I don't think this is the expected normal behaviour. If this is intentional, the please close the issue. Thank you!

Code of Conduct

  • I agree to follow this project's Code of Conduct

Prevent effects from changing the defaults for Segments or Palette

We have noticed that some of the effects do not default to pixels (in expand 1D FX ) in segment setting even when manually changed .Also some of the effects will change the default Palette , We think an effect should not change the segment setting or Palette but here it will change which will apply to the next effect selected .

Some examples of effects that will change segment options : ( fixable by m12=0 for 1DFX part )
Android ( default to Bar )
Bouncing balls ( default to Bar )
DJ Lights ( default to Arc )
Drip ( default to Bar )
Fire 2012 ( default to Bar )
Flow ( default to Bar )
Freqmatrix ( default to corner )

Also an example of an effect that will change Palette is Aurora effect ( we just got blaz answer in discord but looking for my dictionary to translate to English as I do not get how to fix that )

This is tested on MM 0.14.0.10 (build 2212060) . Sorry for the messy post as this is just a reminder for what was discussed in discord . Thanks a lot for the help as this fork is keeping us busy with new features that we really like as it seems cutting edge

2D can't be disabled if the custom effect mod is enabled

What happened?

If you use -D DISABLE_2D in the build flags, it will fail compiiling the custom effect usermod.

image

To Reproduce Bug

Add -D WLED_DISABLE_2D to common_mm -> build_flags_max.

image

Expected Behavior

Succesful build when you disable 2d

Install Method

Self-Compiled or other

What version/release of MM WLED?

Latest commit

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

Compiling .pio/build/esp32_4MB_max/src/usermod.cpp.o
Compiling .pio/build/esp32_4MB_max/src/usermods_list.cpp.o
Compiling .pio/build/esp32_4MB_max/src/util.cpp.o
Compiling .pio/build/esp32_4MB_max/src/wled.cpp.o
Compiling .pio/build/esp32_4MB_max/src/wled00.ino.cpp.o
In file included from wled00/../usermods/customeffects/usermod_v2_customeffects.h:14:0,
                 from wled00/usermods_list.cpp:189:
wled00/../usermods/customeffects/arti_wled.h: In member function 'float ARTI::arti_external_function(uint8_t, float, float, float, float, float)':
wled00/../usermods/customeffects/arti_wled.h:193:19: error: '__gnu_cxx::__alloc_traits<std::allocator<Segment> >::value_type {aka class Segment}' has no member named 'drawArc'
           SEGMENT.drawArc(par1, par2, par3, par4);
                   ^
wled00/../usermods/customeffects/arti_wled.h:195:19: error: '__gnu_cxx::__alloc_traits<std::allocator<Segment> >::value_type {aka class Segment}' has no member named 'drawArc'
           SEGMENT.drawArc(par1, par2, par3, par4, par5); //fillColor
                   ^
Compiling .pio/build/esp32_4MB_max/src/wled_eeprom.cpp.o
Retrieved `.pio/build/esp32_4MB_max/src/wled_math.cpp.o' from cache
*** [.pio/build/esp32_4MB_max/src/usermods_list.cpp.o] Error 1
Compiling .pio/build/esp32_4MB_max/src/wled_serial.cpp.o
========================================================================== [FAILED] Took 22.41 seconds ==========================================================================

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Webserver? crashing after some time

What happened?

The webserver or something related to it is crashing after some time. It happened to me changing effects, saving presets, turning on and off etc. The devices web interface is not reachable but the esp stays connected to wifi and is controllable through mqtt. If i force a wifi reconnection on my router for that device the webserver is reachable again.

To Reproduce Bug

Just play around with settings, effects, presets etc. After some time the web interface isn't reachable anymore.

Expected Behavior

Being able to open the web interface 100% of the time without my router forcing a wifi reconnection or to reboot my esp.

Install Method

Self-Compiled or other

What version/release of MM WLED?

WLEDMM_0.14.0-b2.19 esp32_4MB_M.bin build 2302231

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

PDM Mic works great and so cheap price

hello
thanks for this fork.
i using in a 16x16 matrix
and i used ADC pin to analog sound input. its works fine. but i saw some videos and search in wled wiki and found out that its works so good with I2S mics
but there is some modules like INMP441 in amazon very costy. here india its 400INR
then i found out a new trick and its costs me only 10INR (40 times less price)
I work mobile repair and hardware. then i found a mic that used in mostly new sound system mobile phone and its also a I2S _PDM mic
Then i visit my local market and search for it, after searching a while i found a mic that used for LYF F320B model . i got 10 Pc Mic at only 100INR

then i searched some datasheet and found the connections and i Surprised its worked. and works so good, no noise no humming . i tested the 100hz to 5Khz frequency and its working good, so i suggest to go for it.
If anyone interested to buid contact me i will help
telegram @DJprasenjit

Scrolling text: support for arbitrary date/time formats

Is your feature request related to a problem? Please describe.

The WLED "scrolling text" effect has a few fixed formats to display date or time. Unfortunately people have diverging preferences on how a "digital clock" should look like, plus there are different formats that are considered "normal way" in each nation.

Describe the solution you'd like

The solution could be to allow userdefined time/date formats from the "strftime()" standard function.

https://cplusplus.com/reference/ctime/strftime/

For example, naming a segment "%I:%M%p" would result in "03:21PM" (12hr format, leading zeros, dots, capital letter AM/PM).

Additional context

This is an idea that came up in a discussion on discord.
It would be rather simple to implement, because strftime() seems to be availeable on esp32, and WLED already has a feature to convert internal "unixtime" to the tm struct needed by the function.

Maybe a special "marker" would be necessary (like seg name starting with "##") to instruct scrolling text to use strftime format.

Thank you for your ideas for making WLED better!

Cannot build for ESP32C3

What happened?

I used PlatformIO (also tried fully reinstalling PlatformIO including clearing all files at my user directiory/.platformIO, however I cannot get this to compile for either the seeed_esp32_c3_4MB_S or the esp32c3dev_4MB_M environments. Instead I always get the following message:

Platform Manager: [email protected] 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 'windows_amd64'

To Reproduce Bug

Download current master branch or MoonModules v0.14.0-b15, select seeed_esp32_c3_4MB_S or the esp32c3dev_4MB_M environments, try to build.

Expected Behavior

A successful compile ;)

Install Method

Self-Compiled or other

What version/release of MM WLED?

seeed_esp32_c3_4MB_S or esp32c3dev_4MB_M

Which microcontroller/board are you seeing the problem on?

ESP32-C3

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

No Analog Input Option in WLEDMM_0.14.0-b15.21_esp32S3_8MB_M.bin

What happened?

I find no analog input option in WLEDMM_0.14.0-b15.21_esp32S3_8MB_M.bin

I would like to use max9814 mic

To Reproduce Bug

Install
WLEDMM_0.14.0-b15.21_esp32S3_8MB_M.bin
Check sound Reactive section

Expected Behavior

To be able to set analog input

Install Method

From MoonModules Release Page

What version/release of MM WLED?

WLEDMM_0.14.0-b15.21_esp32S3_8MB_M.bin

Which microcontroller/board are you seeing the problem on?

ESP32-S3

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

(audio feature) user configurable channel, mode, and data alignment

make more features of audio_source.h user configurable:

  • channel: left or right
    • current always using left, but right channel can be utilized when compiling with -D I2S_USE_RIGHT_CHANNEL
  • i2s data alignment: Phillips mode (default) or MSB aligned (preferred by some line-in ADC boards)
  • I2S mode: master (default) or slave
    • slave mode is already possible, however unstable and needs more testing. Main problem: sampling rate is defined by the master unit, so cannot be decided by WLED.

Thank you for your ideas for making WLED better!

Ethernet IP not being displayed, doesn't kick in without WiFi being cleared out (but working fine)

What happened?

Testing the Olimex ESP32-Gateway with ethernet and the latest code.

Ethernet (QuinLED-ESP32 matches this board's pins) doesn't kick in unless WiFi details are cleared out

After it starts working, it doesn't show any indication of the ethernet IP. (it used to)

To Reproduce Bug

Compile from source, select QuinLED-ESP32, and clear wifi details and reboot.

Expected Behavior

WiFi section should show "LAN IP" or similar if it's connected.

Install Method

Self-Compiled or other

What version/release of MM WLED?

WLEDMM 0.14.0-b2.19 (build 2303100)

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

---WLED 0.14.0-b2.19 2303100 INIT---
 WLEDMM_0.14.0-b2.19 esp32_4MB_M, build 2303100.
CPU:   ESP32-D0WDQ5 rev.3, 2 core(s), 240MHz.
CPU    Software restart via esp_restart() (code 3). Core#0 SW restart (12); Core#1 SW restart (12).
FLASH: 4MB, Mode 2, speed 80MHz.

Mount FS
done Mounting FS
deserializeConfig
initC: *** Ethernet successfully configured! ***
pinmgr not success for global i2c -1 -1
pinmgr not success for global spi -1 -1 -1
serializeConfig
Usermods setup ...
temperature usermod initialized.
AR: sound input driver initialized successfully.
mpu setup
mpu6050: warning - ivalid I2C pins: sda=-1 scl=-1
Ada

GPIO    | Assigned to           | Info
--------|-----------------------|------------
i/o   0   Button
i/o   1   ./.                     Serial TX
i/o   2   ./.
i/o   3   ./.                     Serial RX
i/o   4   ./.
i/o   5   Ethernet                (default) Rotary CLK pin
i/o  12   ./.
i/o  13   ./.
i/o  14   AudioReactive (UM)
i/o  15   AudioReactive (UM)      (default) mpu6050 INT pin
i/o  16   LEDs (digital)          (default) LED pin
i/o  17   Ethernet
i/o  18   Ethernet                (default) Rotary DT  pin
i/o  19   Ethernet                (default) Rotary SW  pin
i/o  20   ./.
i/o  21   Ethernet                (default) DHT temperature pin
i/o  22   Ethernet                
i/o  23   Ethernet
i/o  25   Ethernet
dhcps: send_nak>>udp_sendto result 0
dhcps: send_nak>>udp_sendto result 0
dhcps: send_nak>>udp_sendto result 0
dhcps: send_nak>>udp_sendto result 0
Client request

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

I2C support is buggy on "V4" environments (ESP-IDF 4.4.1 / arduino-esp32 2.0.4)

What happened?

When using one of the MM "V4 max" configs with 4LD, IMU and games usermod, I see a lot of error messages, when no OLED display is connected but everything is properly configured:

Usermods setup ...
temperature usermod initialized.
Starting display.
[   559][W][Wire.cpp:204] begin(): Bus already started in Master Mode.
[  2449][W][Wire.cpp:204] begin(): Bus already started in Master Mode.
[  2449][E][Wire.cpp:378] requestFrom(): i2cWriteReadNonStop returned Error -1
[  2455][E][Wire.cpp:378] requestFrom(): i2cWriteReadNonStop returned Error -1
[  2462][E][Wire.cpp:378] requestFrom(): i2cWriteReadNonStop returned Error -1
[  2469][E][Wire.cpp:378] requestFrom(): i2cWriteReadNonStop returned Error -1
[  2476][E][Wire.cpp:378] requestFrom(): i2cWriteReadNonStop returned Error -1
[  2513][E][Wire.cpp:378] requestFrom(): i2cWriteReadNonStop returned Error -1
[  2513][E][Wire.cpp:378] requestFrom(): i2cWriteReadNonStop returned Error -1
[  2516][E][Wire.cpp:378] requestFrom(): i2cWriteReadNonStop returned Error -1
[  2543][E][Wire.cpp:378] requestFrom(): i2cWriteReadNonStop returned Error -1
[  2543][E][Wire.cpp:378] requestFrom(): i2cWriteReadNonStop returned Error -1
[  2545][E][Wire.cpp:378] requestFrom(): i2cWriteReadNonStop returned Error -1
[  2552][E][Wire.cpp:378] requestFrom(): i2cWriteReadNonStop returned Error -1
[  2560][E][Wire.cpp:378] requestFrom(): i2cWriteReadNonStop returned Error -1
[  2567][E][Wire.cpp:378] requestFrom(): i2cWriteReadNonStop returned Error -1

When changing -any- usermod settings in the UI, similar messages appear

[761760][E][Wire.cpp:126] setPins(): bus already initialized. change pins only when not.
[761760][W][Wire.cpp:204] begin(): Bus already started in Master Mode.

On ESP32-S3, the situation is even worse - ESP32-S3 seems to "lock up" during startup, and it takes several minutes before LEDs show any reaction. This also happens when usermods are "disabled".

To Reproduce Bug

  • edit platformIO.ini and change -D CORE_DEBUG_LEVEL=4 - this is just to have clearer messages
  • build [env:esp32_4MB_V4_max] or [env:esp32_16MB_V4_max]
  • make sure no display, rotary on motion sensor is connected
  • upload and restart the device

--> error messages related to I2C bus.

  • open rotary UM settings, change nothing but click "save"
    --> more I2C errors

Expected Behavior

  1. WLED should work reliable when usermods that use I2C are compiled in, but no devices are connected to the bus.
  2. WLED should no initialize / reconfigure I2C when usermods are disabled.

Install Method

Self-Compiled

What version of WLED?

WLEDMM_0.14.0.9 esp32_16MB_V4_max, build 2212051.

Which microcontroller/board are you seeing the problem on?

ESP32, ESP32-S3, Other

Relevant log/trace output

see above.

Anything else?

This seems like a problem in upstream 0.14, which shows ugly consequences when compiling with platform = espressif32@ ~5.1.1, either for ESP32 (errors), or for ESP32-S3 (device blocked for several minutes).

We need to further investigate this.

Other

1/ Issues on -S3 could be related to this : espressif/esp-idf#8543

2/ looks like the code in set.cpp/cfg.cpp does a very half-hearted job, and always tries to re-init Wire:

WLED/wled00/set.cpp

Lines 506 to 512 in a2c7078

i2c_sda = hw_sda_pin;
i2c_scl = hw_scl_pin;
#ifdef ESP32
Wire.setPins(i2c_sda, i2c_scl); // this will fail if Wire is initilised (Wire.begin() called)
#endif
Wire.begin();
} else {

3/ Wire.end() is available in arduino-esp32, maybe we need a different implementation with #if WIRE_HAS_END

Code of Conduct

  • I agree to follow this project's Code of Conduct

ghost pixels with "Use global LED buffer"

What happened?

The "Use global LED buffer" (LED preferences) option can add ghost pixels which are not there without global buffer.

To Reproduce Bug

It seems that "ingredients" are

  • using global leds buffer, plus
  • some segments have width different from the overall 2D layout, plus
  • a smaller segment overlaps with the bigger one, plus
  • a) the bigger segment does something that reads buffered leds -> blur, fade-out, move, ...
  • b) or the smaller segment is an overlay

Example:

  • global leds size 24x37
  • segment 0: black hole effect
  • segment 1: android effect
  • segment 2: size 12x8 (scrolling text overlay "45")
  • the white pixels to the right of "45" should not be there. They are "ghosts" from segment 2.

GlobalLEDs_epic_fail

First Analysis

  • when drawing a pixel into segment[2], two things happen in setpixelcolorXY
    1. if (ledsrgb) ledsrgb[XY(x,y)] = col; // buffer assigned to segment
    1. strip.setPixelColorXY(start + xX, startY + yY, col); // write-thru to NPB driver

the "ghost pixels" are from the write to ledsrgb, which assumes wrong buffer coordinates; XY() is computed using segment boundaries only. As Segment#0 later uses "blur()", the global ledsrgb buffer pixels are used and ghost pixels appear next to the white text.

Conclusion

It seems we need a different XY() function for global buffer, as it must consider the "global" width instead of segment width. I think this new global_XY() needs to also use rotation and mirroring of a segment in the calculation.

Expected Behavior

Effects look (almost) the same, independent from using global buffer or not.

Install Method

Self-Compiled or other

What version/release of MM WLED?

any 0.14.0 build

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

This problem exists since "global buffer" was introduced in upstream WLED 0.14.
We can either

  • wait until 0.14.0-beta4 is available (where global buffer will be removed)
  • find our own solution for MM (in case we want to keep global double-buffering)

To avoid wrong pixels, I would suggest to not use global buffer unless all segments have the same width as your overall layout. Without global buffer, there are no wrong pixels.

Code of Conduct

  • I agree to follow this project's Code of Conduct

ESP32_4MB_XL doesn't have Animartrix

What happened?

The XL version of the bins still don't have Animartrix MOD enabled

To Reproduce Bug

Install XL version instead of M.

Expected Behavior

The MOD should show on both versions

Install Method

Self-Compiled or other

What version/release of MM WLED?

WLEDMM_0.14.0-b15.27 esp32_4MB_XL.bin build (2306070)

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

ESP32-S3 and -C3: analogread on ADC2 channels broken

This is a reminder for future consideration:

espressif is planning to remove support for ADC2 analog input on -C3 and maybe also on -S3 chips.

Affected:

Due to the hardware limitation of ESP32-S3 and ESP32-C3 (See errata: S3 section 1.1, C3 section 1.1), we plan to remove the support for ADC2 in IDF drivers.

  • For S3, the digital controller (ADC-DMA) can't be used with ADC2, while you are still able to use ADC2 with RTC controller (one-shot).
  • For C3, the ADC2 can't be used at all, because both one-shot and ADC-DMA are realized by digital controller.

Which microcontroller/board are you seeing the problem on?

ESP32-S3, ESP32-C3

Code of Conduct

  • I agree to follow this project's Code of Conduct

DJ Light: not as good as in SR 0.13.3

What happened?

From Artacus @ discord — today 17:03
On MM fork, I’d always get green dot at top left pixel. On AC, it was barely reacting to sound and all the bars in a given frame would be the same color. So while it looked like it it was working, when it was side by side with a 0.13 render, it looked terrible in comparison.

To Reproduce Bug

see above

This is a "reminder to myself" -> need to review the source code and compare it to SR 0.13.3 code

Expected Behavior

looks as awesome as always :-)

Install Method

Self-Compiled or other

What version/release of MM WLED?

WLED main development branch

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

four-line-display (alt): SPI displays not working

What happened?

Several users reported that SPI displays are currently not working properly.

  • slow, sometimes crawling, in software SPI driver mode
  • not working at all in hardware SPI driver mode

It seems to be related to the MM specific way of managing global pins for SPI.

Install Method

Self-Compiled or other

What version/release of MM WLED?

2303150

Which microcontroller/board are you seeing the problem on?

ESP32

Code of Conduct

  • I agree to follow this project's Code of Conduct

Keep GFX for Matrix visible while scrolling through effects

Is your feature request related to a problem? Please describe.
UI problem related, GFX using matrix is hidden when scrolling through effects

image
image
image

Describe the solution you'd like
Matrix GFX Should remaing visible when scrolling though effects

Describe alternatives you've considered
None.

Thank YOU for making WLED better!

No longer able to save presets after factory reset

What happened?

Very strange issue I hope someone could confirm , when you flash to 0.14.0.3.0 (build 2211152) with OTA presets will work but if you do a factory reset then you will no longer be able to save any presets unless you uncheck use current state . Also if you serial flash 0.14.0.3.0 then you will not be able to save presets same as above and this was observed with multiple units . I am not sure if that issue was there in earlier versions and we missed that as last one we tested was 0.14.0.1.0
image

To Reproduce Bug

factory reset and try to save presets

Expected Behavior

presets are saved

Install Method

Self-Compiled

What version of WLED?

WLED 0.14.0.3.0 (build 2211152)

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

I2C write error for AudioSource - error message for users needed

What happened?

If you get I2C errors, the info page doesn't show error, only in the serial debug

To Reproduce Bug

Select ES8388 with invalid I2C pin

Expected Behavior

Info page to display message to check pins

Install Method

Self-Compiled or other

What version/release of MM WLED?

.

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Replace usage of millis() in effects with strip.now - sync effects across wled instances

Is your feature request related to a problem? Please describe.
Some/most effects in FX.cpp directly use millis(). This causes problems when running several wled fixtures
that should all display the same effect. The animations of the fixtures will be out of sync because the timing on each esp is slightly different (e.g. they did not start at exactly the same microsecond).

Describe the solution you'd like
strip.now already exists and is updated on every frame. All effects should use strip.now instead of millis().
This way we gain the ability to manipulate the time.
In a second step a method to reset the time to a certain value could be implemented.
Using this method, usermods can be implemented to achieve time sync between several wled fixtures (e.g. via artnet/dmx/wifi).

Moonmodules wled Segment on off not working

What happened?

Ive noticed a couple of things but will mention 1 this moment.

I noticed that when trying to power off a segment. it does not turn off. if an animation is playing prior to turning off the segmet all that seems to happen is the animation pauses. it does not go "off" the only way to turn it of is to have the segment/s selected and use the main app power button or turn the segment brightness to minimum.
if the segment isnt selected prior to pressing the apps main power button it stays lit.

Any idea why this is happenning? using the latest as of these words my own compiled binaries from the git hub.
as in downloaded and compiled with only the changes for my esp32 dev board.

To Reproduce Bug

power off the segment. unselect segment with illuminated and turn off main app power.

Expected Behavior

nothing happens. leds stay lit

Install Method

Self-Compiled or other

What version/release of MM WLED?

latest esp32 4mb medium

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.