Commit Graph

352 Commits

Author SHA1 Message Date
Frank
a320068bbe I2C: allow any GPIO on 8266 (experimental)
as it turns out, also on 8266 any pin can be assigned to I2C. Only SPI pins are fixed, and GPIO16 should not be used as it does not support interrupts.
2023-01-15 22:13:46 +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
Blaz Kristan
d78bef72ea Disable MQTT more.
Disable Alexa more.
2023-01-12 20:35:34 +01:00
Frank
1e8fcfb0aa I2C pin settings bugfix (8266)
* It was not possible any more to set I2C pins back to "-1", to disable I2C.
This fixes the problem.
* HW_PIN_SDA / HW_PIN_SCL may contain "-1" --> use PIN numbers directly on 8266 (I2C pins cannot be changed any way on 8266)
2023-01-11 22:26:35 +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
b29ff1186b best of I2CSPI-refactor
* cherry-picking my additions to pinmanger
* toDo: replace Wire.begin() with pinManager.joinWire()
2023-01-08 19:09:30 +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
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
66b15d32d9 Merge remote-tracking branch 'upstream/main' into mdev 2023-01-07 12:01:03 +01:00
Blaž Kristan
506b6b51ce whitespace cleanup 2023-01-06 09:24: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
cbccd5cc4e Merge remote-tracking branch 'upstream/main' into mdev 2023-01-04 13:28:46 +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
Frank
7ef1842237 comments updated
see discussion in faf616cbea
2023-01-03 15:16:45 +01:00
Ewoud
545a4c820c quick fix 2d config hor/ver/panel issues + battery usermod
- Add battery usermod
- set segexp default true
- quick fix 2d config hor/ver/panel issues
2023-01-03 14:45:01 +01:00
Frank
faf616cbea fixing a potential stack corruption
.. overlooked this one when reviewing the PR.
@blazoncek, @ctjet : three questions on the new code remain, because its not clear to me if its correct. Please check.
2023-01-03 14:17:42 +01:00
Frank
7c1b655ca3 fix array-of-out-bounds writes
fixing two dangerous (unguarded) array writes that can cause stack corruption
2023-01-02 22:38:22 +01:00
Ewoud
930d79f4e8 Merge remote-tracking branch 'upstream/main' into mdev 2023-01-02 21:23:23 +01:00
Ewoud
4409ceb3ec Merge remote-tracking branch 'origin/ac_main' into mdev 2023-01-02 21:05:03 +01:00
Caleb Marting
187ecf511f 2d Mapping with Matrix Gaps (#2892)
* New 2d mapping
* panel matrix generator
* add todos, fix vert/horz swap
* Fix 2d mapping to matrix in settings 2D
* add correct index mapping to pixels per panel
* fix panel bug in led layout
* formatting and change max panels
* add per panel width and height
* fix using length instead of custom mapping size
* fix: panel dimensions location

* panel[] implemented as a vector.
Removed matrixWidth & matrixHeight.
Panel structure update.
* Fixes.

Co-authored-by: Blaz Kristan <blaz@kristan-sp.si>
2023-01-02 20:56:00 +01:00
Blaz Kristan
95869eeb70 Allow more virtual buses. 2022-12-31 17:06:18 +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
Blaz Kristan
22b2503839 Bugfix & code optimisation. 2022-12-22 18:13:32 +01:00
mxklb
c24b75953a Merge branch 'main' into pr_fxsegs 2022-12-20 01:06:46 +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
Frank
6385bf41aa posxt-merge fixing
small update, to preserve MM-specific parts.
2022-12-17 17:45:39 +01:00
Frank
917cd96a3d don't complain about button pin = -1 2022-12-10 21:03:58 +01:00
Frank
7ac8f6dd19 improvements for new MCU support (-S3/-S2/-C3)
- switch off debug messages to USBCDC, if WLED_DEBUG is not set
- ensure that analogread pins are valid - invalid pins cause lots of error messages and finally lead to watchdog reset on some MCUs.
2022-12-10 19:16:02 +01:00
mx
bd721c1310 Merge branch 'Aircoookie:main' into pr_fxsegs 2022-11-29 00:54:15 +01:00
Blaz Kristan
f7004e7a7c Allow disable internal pull-up resistors.
Fixes #2896 and #2899
2022-11-26 23:56:55 +01:00
mxklb
84628bd9fc Refactored DMX effect mode + new segement controls (#2325) 2022-11-19 14:10:40 +01:00
Blaz Kristan
b141ec7ea7 Fix for #2880 (stateChanged on segment on/off)
Added comments.
Added X1, X2, X3, M1, M2, M3 segment options to HTTP API.
Added "on" handling with "ps".
2022-11-13 12:13:49 +01:00
Blaž Kristan
71d84fecba Bugfix.
Use default nightLightDelay if ND present.
2022-11-04 08:33:55 +01:00
siggel
82af52a0bc Feature/nine additional alexa devices for presets (#2787)
* add 9 further alexa devices for calling presets 1-9

* use preset names from WLED for Alexa preset device names instead of hardcoded names

* update readme and version

* call alexaInit() at end of savePreset() to keep Alexa in sync with the preset IDs and names

* This reverts commit f8db06c7c5cfe159f9fc03ebc08547fa3c9e9ebd.

* change order to configured Alexa WLED name first, preset names afterwards

* fix status of devices when shown within Alexa, i.e. switching one preset on switches others off (except for alexaInvocationName)

* re-add getPresetName() after merge with master

* restore original readme for pull request

* restore original platformio.ini for pull request

* Logic simplification

* Pass string by reference

* Added number of presets check

* fix alexaInit() in case of alexaNumPresets==0

Co-authored-by: Christian Schwinne <dev.aircoookie@gmail.com>
2022-10-25 23:42:26 +02:00
Dominik Nussbaumer
3d502a41c5 add static_cast<uint8_t> in order to fix warnings (#2843) 2022-10-23 15:57:42 +02:00
Squall-DA
b3a29188a2 Add number of UDP retries (#2830)
* Release of WLED v0.13.3

* Fixed a type in the file name (#2781)

* Fixed the dependency (#2782)

* Usermod Wordclock update to use an alternatve wiring pattern (#2757)

* Update

* update readme file

* readme update

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md

* Update platformio.ini

* Add number of UDP retries

Add a configurable number of retries to the UDP WLED sync function.

* Add migration from old eeprom settings

* Revert some accidental carry overs

* Correct issues found in pull request

Change default number of retries
Fix migration from old settings

* Make the minimum number of retries 0

* Import notify twice setting

Co-authored-by: cschwinne <dev.aircoookie@gmail.com>
Co-authored-by: Soren Singh Dary <67230851+sorensd@users.noreply.github.com>
Co-authored-by: Patrick <40436536+paeppi88@users.noreply.github.com>
2022-10-19 01:31:23 +02:00
Blaž Kristan
f385af595a Add setMode() and setPalette() methods
- automatically start transition
Implement load FX defaults for HTTP API (FXD)
2022-09-29 12:49:12 +02:00
Blaz Kristan
c253464b2a PinManager::isPinOk() rewrite
Button pullup/pulldown fix for ESP32.
2022-09-24 12:25:06 +02:00
Blaz Kristan
799d4f9465 Playlist load bugfix.
serializeConfig() in loop() (prevent crash/hang in web server callback)
2022-09-14 22:28:06 +02:00
Blaz Kristan
4dec75c589 Remove constraints when saving interface pins. 2022-09-13 20:26:45 +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
787f5f06df Global gamma.
Randomcycle palette bugfix.
2022-09-04 20:17:05 +02:00
Blaz Kristan
c6126db2a2 Bugfix for 1D setPixelColor
Float vStrips.
Fix misspelled MISOSPI.
2022-08-27 18:25:54 +02:00
Blaz Kristan
030833f942 Global MISO pin.
Virtual strip expansion for 2D.
2022-08-25 21:57:43 +02:00
Blaz Kristan
af5e38e5ee Fix for segment on/off transitions.
Fix for missing return.
Slightly smoother Chunchun, added Speed parameter for Hiphotic.
2022-08-23 15:57:05 +02:00
Blaz Kristan
44a4b11d36 Replace setOption/getOption 2022-08-19 21:14:49 +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
Blaž Kristan
4e0cf380be Fix for 0 duration/reset runtime. 2022-08-11 11:23:39 +02:00