Commit Graph

88 Commits

Author SHA1 Message Date
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
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
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
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
Frank
7bfd738d80 fix 8266 compilation error (undefined macro)
this still does not allow compilation...
2023-01-17 18:35:04 +01:00
Ewoud
6cd07c2216 esp8266_4MB_min - 160Mhz (instead of 80) ;-)
+ small things
2023-01-17 17:54:14 +01:00
Ewoud
357e3638d4 New esp8266_4MB_max entry to test usermods / i2c
pio.ini: add esp8266_4MB_max with pir, dallas, relay  games (to test IMU) 

addHB: use string literal instead of var

appendConfigData to um multirelay
2023-01-17 13:07:50 +01:00
Ewoud
10f006ef18 Small changes on pin dropdowns / usermod help
platformio.ini: add wemos_shield_esp32_4MB_all_base

usermods:
- rename disableROPins to disableRO
- bme280: add appendConfigData, info and disableRO
- PWM Fan: add appendConfigData

Settings_um.htm
- add 🟢
2023-01-16 15:07:41 +01:00
Ewoud
474243938c Hardware pin defaults in i2c and spi pin dropdowns
bugfix: replace oappend(SET_F(name)); by oappend(_name);

const.h: remove unset of 8266 variables as no behind the scene actions, this is just bad behavior and the pin drop downs will show this bad behavior

xml.cpp: show hardware defaults as ⍼ in dropdowns (better icon needed)
2023-01-15 17:08:39 +01:00
Ewoud
90c0870e74 pinDropDown: make reserved and read only aware and disable if needed
AudioReactive: add disableROPins on WS, SCK, MCLK and SCL
4LD:  add disableROPins  on CLK

settingsum: 
- addfield: max 49 pins, if (global interface) also disabled, rename if to global, show 🔴 if pin claimed
- add disableROPins
- pinDropdownsPost
- rename SDA to if:SDA (etc) so it is part of claimed pins (also in set.cpp and xml.cpp)

xml.cpp:
- appendGPIOinfo(): get rsvd and ro_gpio from pinManager.isPinOk instead of hardcoded
- getSettingsJS: add pinDropdownsPost
2023-01-14 17:30:43 +01:00
Ewoud
bba57d4771 Remove I2CSCL/SDA/SCLK/MOSI/MISOPIN rename *_DATASPI to *_MOSISPI
use HW_PIN_* instead
2023-01-09 17:41:52 +01:00
Frank
39ad4955b7 Adjust some usermods to use global I2C
* usermods only need to to `if (!pinManager.joinWire()) return;`

* joinWire will
* * check if global I2C are defined - return false if not defined
* * aloocate HW_I2C pins - return false on error
* * call Wire.begin() if needed.
2023-01-08 21:11:50 +01:00
Ewoud
544446d35e Further pin improvements
platformio
- create _all entries (wip)
- set FLD_PIN_SCL to -1 (use global)

4ld
- one bug fix and errorMessage improvements

const.h
- comments

wled.h
- do not use the I2CSDAPIN vars but HW_PIN_SDA instead
2023-01-08 13:51:27 +01:00
Ewoud
bfa06df47c Tiny changes
0.14.0-b1.14 - 2301080
2023-01-08 10:52:22 +01:00
Ewoud
b8437c51c5 Do not reset pins if error but show error (wip, bh1750, fld, global)
Usermod bh1750: only save pins if not equal to global
Usermod fld: add errorMessage, do not reset type and enabled but errormessage instead, show global depending in spi or i2c
cfg.cpp and set.cpp: do not reset global i2c or spi if error
2023-01-07 16:49:10 +01:00
Ewoud
2187aa5728 implement addHB (Usermod help button utility function)
See https://github.com/Aircoookie/WLED/pull/2965
2023-01-07 12:22:29 +01:00
Ewoud
642d7d91ea i2c_sda, i2c_scl, spi_mosi, spi_miso, spi_sclk without HW_PIN_*, bh1750
platformio: 
- add bh1750 to _max
- define rotary defaults for wemos

usermod_bh1750
- Remove HW_PIN_* and replace by i2c_sda etc
- add appendConfigData

usermods mpu6050_imu, rtc, 4ld, pinmanager
- Remove HW_PIN_* 

change SDA2:pin (etc) to SDA:pin
2023-01-05 16:35:49 +01:00
Ewoud
23663a46f9 Refactor global pins settings using dropdowns and add to rotary_encoder
- replace rOption by  xOption (extend option) to show default value (⎌)
- Usermod rotary_encoder: add appendConfigData function and show help and default functions
- Settings.htm: Move Usermods(pins) below the usermods

Settings_um.htm
- remove SDAPin etc
- comment check(0,k) as not used anymore
- add xOption
- add generated global pin fields (using addField) in ldS
- remove hard coded global pin fields

set.cpp: set i2c_sda etc using new generated fields
xml.cpp: set generated fields values using i2c_sda etc and show defaults
2023-01-04 12:17:14 +01:00
Ewoud
9bc6451145 appendConfigData only for usermod + optimizations
- rename replaceOption to rOption
- rename removeOptions to dOptions
- set oAppend buffer size back to 3096
- WLEDMM warning on settings2D Populate
- add AppendConfig per usermod
- add request parameter to getSettinsJS
- add lookupName
2023-01-03 13:08:14 +01:00
Ewoud
5c161db062 Add dropdowns for pins (part 1 of 2)
Set for Audioreactive and 4linedisplay usermods

Prepare for globals (part2):
Rename SDA to SDApin etc
2022-12-23 17:21:35 +01:00
Ewoud
05971a2ffe fix Custom Effect button missing in action 2022-12-21 13:39:42 +01:00
Ewoud
fb5c057f94 More usermod help 2022-12-21 13:16:55 +01:00
Ewoud
2af9fc3755 Add mm.kno.wled.ge
Change https://kno.wled.ge to https://mm.kno.wled.ge
Change help to ?  button in usermods
Change WeatherUserMod to Weather
2022-12-21 12:30:40 +01:00
Ewoud
949373df91 Add usermod help links for AR, 4LD and weather
Other usermods: 

void appendConfigData()
{
... 
 oappend(SET_F("addInfo('<modname>:help',0,'<a href=\"https:// \">Help</a>');"));
   ...
}
2022-12-19 16:42:07 +01:00
Frank
ae39fe8a0c usermod 4ld: start disabled on -S3
workaround for a nasty bug in idf v4 - device hangs for several minutes if you start with display not attached.
2022-12-18 18:35:28 +01:00
Frank
dae6de76f1 Improve co-existence of usermods sharing I2C
Improve co-existence of several popular usermods with respect to shared I2C bus.
- ensure that i2c_sda and i2c_scl are used when defined
- ensure that HW_PIN_SDA / HW_PIN_SCL are not overwritten
- ensure that Wire.begin()nis always called with user-defined pins (remove rogue Wire.begin() without parameters)
- ensure that set.cpp / cfg.cpp use esp32-specific global Wire objects.
2022-12-17 19:45:45 +01:00
Ewoud
ffe52fcbf5 Merge remote-tracking branch 'origin/ac_main' into mdev 2022-12-16 11:43:27 +01:00
srg74
8caeddde15 Spelling check by @wthomson (#2940)
A lot of spelling corrections. Now repo will sound like educated person :)

Co-authored-by: Bill Thomson <bt@kattt.org>
2022-12-10 16:12:55 +01:00
Ewoud
44b4ced6a3 Platformio defaults in settings: change default by ⎌ 2022-12-08 09:40:52 +01:00
Ewoud
5a97a6a448 Bugfix 2022-12-07 16:09:29 +01:00
Ewoud
84de8dd0a2 Add platformio defaults to 4ld and SR, add moon, add MM in about
const.h: increase SETTINGS_STACK_BUF_SIZE

audio_reactive, 4ld and usermod (xml.cpp)
- add defaults in settings

index.htm: add moon

settings_sec: add WLEDMM about

settings_um: add <br> so comment can be shown decently
2022-12-07 15:42:48 +01:00
Frank
5fbbee2efc usermod bugfixes
4LD: fixing wrong type for PINs

mpu6050:
- fix "hidden" use of GPIO 15
- restore DEBUG macros (overwritten by I2CDev lib)
- fix not initialized memory problem
- added a few USER_PRINT messages
2022-12-06 16:54:00 +01:00
Ewoud
3160a0b090 Merge remote-tracking branch 'origin/ac_main' into mdev 2022-12-06 14:38:49 +01:00
Frank
676cc26171 use Serial.print for important info like wifi stuff
.. and for other important info.
Will be muted automatically in case that serial is in used for other purposes.
2022-12-04 17:52:10 +01:00
Ewoud
8f4c6d625d Fix typo USE_ALT_DISPl/LAY 2022-11-28 20:42:09 +01:00
Ewoud
bf51b0bdf1 addInfo fix and simpler version numbering system
- addInfo: revert back to initial solution to fix mixing up pre and post
- new version: 0.14.0.7 (stop using 2 digits at the end
2022-11-28 20:34:42 +01:00
Ewoud
91c2ce0d8f Merge remote-tracking branch 'origin/ac_main' into mdev 2022-11-28 19:58:51 +01:00
Ewoud
78e9f5bd1a Clean up UserMod settings: grouping of variables and add preInfo to variables (#2894)
* Grouping um settings, add pre and post Info, update  SR & 4LD settings

Settings_um.htm: 
- modify addField (grouping)
- addInfo (pre and post texts)

Add preInfo to audio reactive and 4ld usermod

Extra:
platformio: wemos_shield: add audio reactive usermod and update to alt display

* um settings: cpp: lowercase, js: initcap

* um settings: txt only pre, txt2 only post and initCap as function

* Fix rotary encoder info string

Co-authored-by: Blaž Kristan <blaz@kristan-sp.si>
2022-11-26 03:44:04 +01:00
Ewoud
e5b54c947b Grouping um settings, add pre and post Info, update SR & 4LD settings
Settings_um.htm: 
- modify addField (grouping)
- addInfo (pre and post texts)
2022-11-20 13:53:47 +01:00
Ewoud
c3c3ff39b5 Change WLEDSR to WLEDMM in comments 2022-11-09 12:14:42 +01:00
Frank
a6dd9c737f small change: 4LD bugfix
Initially i2c_sda and i2c_scl are set to "-1" in wled.h. This can cause a bootloop when trying to initialize I2C with pins (-1, -1).
This fix ensures that usermod initialization will fail when SDA=-1 or SCL=-1.
2022-10-18 12:06:54 +02:00
Frank
5c482afded small fix for compiling with framework V4.4.x
don't re-define ARDUINO_RUNNING_CORE if already defined by the framework.
2022-09-26 15:55:44 +02:00
Blaz Kristan
c9fd69ceb7 Preset loading tuning.
Multi-relay toggle support.
Fire2012 tuning.
2D functions tuning.
Global SPI comments & tuning.
Bugfix in 4LD usermod.
2022-09-09 17:21:13 +02:00
Blaz Kristan
e4fbf70568 Preset loading tuning.
Multi-relay toggle support.
Fire2012 tuning.
2D functions tuning.
Global SPI comments & tuning.
Bugfix in 4LD usermod.
On & bri support fix.
2022-09-09 17:16:52 +02:00
Blaz Kristan
2149bbb8ea Remove CS from global interface pins.
Fixes.
2022-08-17 19:44:32 +02:00
Blaz Kristan
7125d19af1 Bugfix for saving usermod settings.
Modification of global interface pin allocation.
Code relocation in 4LD.
2022-08-15 20:23:47 +02:00
Blaz Kristan
1de009a80d I2C & SPI fixes. Global interface. 2022-08-14 13:05:59 +02:00
Blaz Kristan
e0a954caa2 4LD refresh task.
Scrolling text improvement.
LED settings bugfix.
Audioreactive disabled by default.
2022-08-10 20:20:36 +02:00
Blaž Kristan
d8b7cfb36b Display task (background refresh) in 4LD 2022-08-10 14:00:04 +02:00
Blaz Kristan
477c9ef577 Cosmetic fixes. 2022-06-15 22:17:34 +02:00