Commit Graph

866 Commits

Author SHA1 Message Date
Ewoud
c928df9d70 Usermod class vars pt3:
Moved initDone, addToConfig and readFromConfig to Usermod superclass

Updated cleanup procedure:

Part 1
- remove bool enabled = false/true (now default false)
- remove static const char _name[] and _enabled[]
- add constructor which calls superclass (temp?): XXXUsermod(const char *name, bool enabled):Usermod(name, enabled) {} 
- replace _enabled with "enabled"
- remove const char PROGMEM init for  _name[] and _enabled[]
Part 2
- Remove bool initDone = false;
- addToConfig: replace createNestedObject with Usermod::addToConfig(root); JsonObject top = root[FPSTR(_name)];
- readFromConfig: replace !top.isNull and enabled with bool configComplete = Usermod::readFromConfig(root);JsonObject top = root[FPSTR(_name)];

See Temperature, MPU6050 and weather as examples (rest to be done)
2023-03-16 15:41:23 +01:00
Ewoud
0b841c0788 MM Help small changes (add MPU6050) 2023-03-15 20:36:31 +01:00
Ewoud
ff6d5136ac Usermod class vars pt2: enabled default value 2023-03-15 18:18:11 +01:00
Ewoud
7337efec02 Usermod class vars part1: add enabled and _name for imu and dallas
usermod_mpu6050_imu.h and usermod_temperature.h:
- remove bool enabled = false/true (now default false)
- remove static const char _name[] and _enabled[]
- add constructor which calls superclass (temp?)
- replace _enabled with "enabled"
- remove const char PROGMEM init for  _name[] and _enabled[]

settings_um.htm:
- Add usermod table with class properties (name and enabled) -> WIP as not all UM's now and enable will be checkbox ? (compare with info tab...?)

fcn_declare.h
- add _name and enabled to Usermod class and add name to constructor

usermods_list.cpp
- add Usermod name to constructor for mpu6050 and temperature)
- to do add enabled is true to constructor
2023-03-15 17:48:37 +01:00
Frank
2de7971623 mpu6050 usermod: allow to disable usermod
* added usermod config information (so it can be disabled)
* check that "INTERRUPT_PIN" does support interrupts (MM specific)
* expose "dmpReady" in public interface
* adjusted games usermod to switch to "simulation" in case mpu6050 is not active

Still toDo:
1. add interrupt PIN and errormessages to settings page.
2. de-alloc intPin when disabled (and disable interrupt)
3. usermod is still destroying DEBUG_PRINT macros.
4. temporarily disable MPU interrupt when  onUpdateBegin(true)
2023-03-14 20:52:48 +01:00
Ewoud
a0576ba591 restore MM functionality to not reset segments if 2D settings change!!!
customeffects.js:
- rename downloadCEFile to downloadGHFile
- downloadGHFile: add GH ledmaps folder

FX_fcn.cpp and set.cpp:
- change makeAutoSegments with resetSegments(true)
2023-03-13 21:35:48 +01:00
Frank
2f274399f3 UM rotary bugfix
fixing a crash that was caused by calling updateInterfaces() too often.
2023-03-13 19:13:46 +01:00
Frank
6d1fd3aaa0 usermod updates: RTC, BH1750
RTC: smarter rules for updating RTC time
BH1750 (light meter): allow to use without MQTT; updates for MM specific I2C handling.
2023-03-13 14:09:35 +01:00
Frank
910ce494b4 usermod bugfixes
* rotary ALT: changing brightness did not   have an effect (stateUpdated missing)
* four-line-display ALT: allow clockmode without NTP (network time)
 - there are other possible time sources, like RTC.
2023-03-13 11:35:48 +01:00
Ewoud
ab808c5522 Merge remote-tracking branch 'upstream/main' into mdev 2023-03-12 20:53:22 +01:00
Frank
559716867a minor rewording
seems that nobody understands what "GPIO config" means 😜 maybe "pin settings" is clearer.
2023-03-12 14:59:50 +01:00
Frank
6ea77954bf four-line-display: semaphores to avoid crashes
* some typos fixed
* Added semaphores around display calls; should fix https://github.com/Aircoookie/WLED/issues/3074
-- changes still need some cleanup to improve readability...
2023-03-10 22:44:25 +01:00
Frank
437284d380 4-line-display: font update, setup bugfix
* Improve clock mode for 128x64 OLED, using 2x3 font
* setup() bugfix: install display handler before activating logo
2023-03-09 21:44:27 +01:00
Frank
3a294d0852 four-line-display ALT: nicer font
use a nicer, less blocky font on 128x64 OLED displays (ESP32 only)
2023-03-08 20:44:30 +01:00
Frank
062eb75d06 usermod bugfixes
fixing some "missed corner cases" in popular usermods.
* acessing unitialized arrays
* trying to draw on a non-initialized display
2023-03-08 20:37:27 +01:00
Frank
9d60425d2e attempt to fix issue #21
set.cpp: introduce "-2" => "no value" in addition to "-1" => disable
4LD_ALT:  do not copy "global" pins into UM specific setting; just use them directly.
2023-03-08 19:39:41 +01:00
lost-hope
cb931d7af0 Merge branch 'main' of https://github.com/Aircoookie/WLED into klipper 2023-02-27 21:21:45 +01:00
Ewoud
bb6662ee35 NetDebug: switch between serial/netdebug, store ip and port in settings
pio.ini: enable WLED_DEBUG_HOST in esp32_4MB_M_debug and esp32_16MB_M_debug

audio_reactive, um6050, wled.h
- replace DEBUGOUT.print(x) by DEBUGOUT(x) etc

wled.h: switch between serial/netdebug

cfg.cpp, set.cpp, wled.cpp, xml.cpp
- store netDebugPrintIP and netDebugPrintPort in cfg.json

index.js: rename info tab on off to Net Debug

settings.sync: add netdebug

net_debug.h/cpp: use global netDebugPrintIP remove debugPrintHostIP
2023-02-24 15:40:16 +01:00
lost-hope
339d2a7bf3 Added spreading from center and fixed the enable 2023-02-23 19:47:27 +01:00
Ewoud
4a5cbc9879 Merge remote-tracking branch 'upstream/main' into mdev
Some additions:

pio.ini: add debug entries
cfg.cpp, set.cpp, xml/cpp: keep storing basic 2D setup

index.js: use ledmapFileNames

settings_2D.htm: keep using basic and advanced

FX_2Dfcn.cpp: use gaptable and also MM ledmaps

FX_fcn.cpp: extend enumerateledmaps with AC ledmapNames (but not used in UI)
2023-02-22 16:09:27 +01:00
Christian Schwinne
220718cb58 Remove Blynk support (#3102)
Change default palette for Railway to Colors 1 and 2
2023-02-21 17:07:32 +01:00
lost-hope
2b87817ba2 enabled IP Change and updated the Readme 2023-02-19 09:08:40 +01:00
Ewoud
57b8157e41 Bugfix 2023-02-15 21:38:01 +01:00
Ewoud
ab8b260608 Segment visualization fix show fx name 2023-02-15 18:13:30 +01:00
Ewoud
515c872770 Fix WLED_DISABLE_2D compile error 2023-02-15 10:59:14 +01:00
Ewoud
4ed1473bcc Ledmap not found no toast 2023-02-14 22:17:11 +01:00
Blaž Kristan
a7cded21f7 Merge branch 'main' into led-gaps 2023-02-14 14:28:10 +01:00
Blaz Kristan
821f320347 Add user selectable Gamma
Add panel visualisation (@ewoudwijma, #3090)

Bugfix:
- PIR onStateChange() ignored until inited
- remove matrix orientation
- ignore removing ledmap 0 if 2D
- _globalLeds size
2023-02-12 13:18:30 +01:00
Ewoud
81322a31fe Merge remote-tracking branch 'upstream/main' into mdev 2023-02-10 17:14:50 +01:00
Ewoud
40e82166bc Ledmap persistent/consistent and showing in segment graph +small changes
pio.ini: remove ping pong clock from _all
ce.js: change on error handling
liveviewws2D: add colorAdjust
json.cpp: ledmaps will be stored in json/info 
settings_2D: fieldChange at loadJS

FX_(2D)fcn.cpp:
- loadedLedmap default 0 (default)
- loadedLedmap active then only use if index <size

index.js:
- global ledmap set to active value
- draw to drawSegments
- gradient colored leds
- add ledmaps to graphics
- add fetchAndExecute (from custom effects), used by drawSegments to get ledmap contents
- graphics bigger in non pc mode
2023-02-10 16:26:35 +01:00
Blaž Kristan
f2459ea904 Add ability to use SHT temp. sensor in PWM fan 2023-02-10 09:33:27 +01:00
Ulrich Baumann
e2215ced34 allow alternative northern style ("viertel vor ..." instead of (#3085)
"dreiviertel ..")

Co-authored-by: Uli Baumann <github@uli-baumann.de>
2023-02-09 00:23:53 +01:00
Ewoud
3cf35f85f3 Merge remote-tracking branch 'upstream/main' into mdev 2023-02-06 21:06:13 +01:00
Ewoud
2a890f5e1e Segments: add graphical display of segments part 1
Custom Effects: Add 🥚🥚 for HBaas effect presons

Index.js/htm:
- add ctx (context)
- add hidden input field fx
- add draw() function for graphics (segment bounds, mirror/reverse/transpose/leds/Nr/FX

settings2D
- move ctx init to draw
- set space 0
- center text
2023-02-06 19:57:25 +01:00
Blaz Kristan
48c267c5c1 Bugfix. 2023-02-05 17:57:22 +01:00
Ewoud
f71e6262f6 2D setup: add graphical display of panels
FX.h, cfg.cpp, set.cpp, xml.cpp:
- add basic or advanced: bOrA / ba (mpv, mph done earlier)
- add 1st led: panelO / pbl, prl, pvl, psl

settings_2D.htm
- add canvas / context
- addPanel: 1st LED: copy from Matrix setup and draw() on all fields
2023-02-05 16:22:40 +01:00
Blaz Kristan
c041d39cab Usermod enhancements
- added onStateChange() callback
- added examples & comments to usermod_v2_example.h
- PIR sensor cancels countdown on state change
2023-02-05 12:23:05 +01:00
Frank
e1f14628b0 4LD + rotary hotfix: corrupted display on esp32
This s a temporary fix for display problems (corrupted display, sometimes crash). These problems exists since 0.14. as display updates are now running in a separate task.
The fix is still incomplete.

If nothing else works, you can use the 0.13.x behavior by compiling with `-D FLD_ESP32_NO_THREADS`

* fixing a few unsafe string operations and non-initialized strings
* fix max length for "two lines" names
* make sure that display methods are exiting early if display is not configured
* rotary_ALT : additional checks to ensure that drawing on the display does not overlap with redraw
* added some safeguards to prevent overlapping display redraw operations
--> Actually this should use semaphore/mutex instead of global booleans -> Still on my toDo list.
2023-02-02 18:37:13 +01:00
Ewoud
b01893e8fe Random Cycle ☾, ☾ symbol on MM specific features
Adding ☾ symbol on MM specific features
- Custom Effect
- Games
- Generate presets
- Adjusted effects (Stream, Stream 2, GoL, Lissajous, Waverly, GEQ
- Palettes: Random Cycle, Audio Responsive

Bugfix ledmap 2D: delete table
Adding Random Cycle ☾: continues tranisition
2023-01-31 10:40:41 +01:00
Ewoud
6437cc8c7e 4ld and ar um: default pins -1, if set, show in pin dropdown
Audio reactive usermod: add pio.ini build flags defaults (⎌) for mclk, sda and scl (if set)

4ld usermod: 
- if pio.ini build flags not set, make them -1 (undefined is even better but then problems with allocate pins, to be done later)
- pio.ini build flags defaults (⎌) different if spi (clockspi and mosispi instead of scl and sda)
- add pio.ini build flags defaults (⎌) for SPI CS, DC and RESET
2023-01-27 11:09:08 +01:00
Ewoud
9894ae725b Merge remote-tracking branch 'upstream/main' into mdev 2023-01-24 20:57:08 +01:00
Ewoud
15d753aa4a Show analog pins in pin dropdown and show only if analog signal
- shorten oappend MM function names
- add aOpt: analog options only
- add pin 17 for esp8266 (analog pin)
- add a.pins array to show analog pins in pin dropdown
2023-01-23 20:44:12 +01:00
Blaz Kristan
2ae8032ace Compile fix. 2023-01-20 16:22:19 +01:00
Ewoud
1f921bf0c9 Bugfix for ESP8266, ESP01
UM PIR: pin default -1
xml.cpp: no D1-8 for esp01
2023-01-20 12:34:11 +01:00
Ewoud
41c8a1003b Merge remote-tracking branch 'upstream/main' into mdev 2023-01-20 12:03:19 +01:00
Frank
b27f70f423 AR: small fix for debug statistics
"smooting" does nor work in integer. we need float.
2023-01-19 17:45:16 +01:00
Frank
72168d28b1 new build flag SR_ENABLE_DEFAULT
for boards with builtin microphone (like PICO)
2023-01-18 23:09:37 +01:00
Frank
5575d6ab11 audioreactive optimization for -C3
some optimizations for -C3.

* skip every second FFT, and use interpolation instead.
* reduce sampling rate from 22Khz to 18Khz
* new debug measurement for I2S cycle times (FFTTask)

--> in total, this brings CPU load for sound processing down to 60% (from >100% previously)
2023-01-18 18:40:37 +01:00
Blaz Kristan
1b52d8065e Ecternal MOSFET for parasite DS18B20 2023-01-18 17:36:04 +01:00
Frank
2d9b3fd284 four line display ALT - fix for compilation on esp32
workaround: getInstance() is only used on esp32.
2023-01-17 18:58:05 +01:00