diff --git a/platformio_override.sample.ini b/platformio_override.sample.ini
index 19b8c273a..60f9efe65 100644
--- a/platformio_override.sample.ini
+++ b/platformio_override.sample.ini
@@ -506,9 +506,8 @@ lib_deps = ${esp8266.lib_deps}
extends = esp32 ;; use default esp32 platform
board = esp32dev
upload_speed = 921600
+custom_usermods = ${env:esp32dev.custom_usermods} RTC EleksTube_IPS
build_flags = ${common.build_flags} ${esp32.build_flags} -D WLED_DISABLE_BROWNOUT_DET -D WLED_DISABLE_INFRARED
- -D USERMOD_RTC
- -D USERMOD_ELEKSTUBE_IPS
-D DATA_PINS=12
-D RLYPIN=27
-D BTNPIN=34
@@ -526,9 +525,6 @@ build_flags = ${common.build_flags} ${esp32.build_flags} -D WLED_DISABLE_BROWNOU
-D SPI_FREQUENCY=40000000
-D USER_SETUP_LOADED
monitor_filters = esp32_exception_decoder
-lib_deps =
- ${esp32.lib_deps}
- TFT_eSPI @ 2.5.33 ;; this is the last version that compiles with the WLED default framework - newer versions require platform = espressif32 @ ^6.3.2
# ------------------------------------------------------------------------------
# Usermod examples
diff --git a/usermods/ADS1115_v2/readme.md b/usermods/ADS1115_v2/readme.md
index 44092bc8e..7397fc2e9 100644
--- a/usermods/ADS1115_v2/readme.md
+++ b/usermods/ADS1115_v2/readme.md
@@ -6,5 +6,5 @@ Configuration is performed via the Usermod menu. There are no parameters to set
## Installation
-Add the build flag `-D USERMOD_ADS1115` to your platformio environment.
-Uncomment libraries with comment `#For ADS1115 sensor uncomment following`
+Add 'ADS1115' to `custom_usermods` in your platformio environment.
+
diff --git a/usermods/AHT10_v2/README.md b/usermods/AHT10_v2/README.md
index 69fab4671..d84c1c6ad 100644
--- a/usermods/AHT10_v2/README.md
+++ b/usermods/AHT10_v2/README.md
@@ -22,15 +22,9 @@ Dependencies, These must be added under `lib_deps` in your `platform.ini` (or `p
# Compiling
-To enable, compile with `USERMOD_AHT10` defined (e.g. in `platformio_override.ini`)
+To enable, add 'AHT10' to `custom_usermods` in your platformio encrionment (e.g. in `platformio_override.ini`)
```ini
[env:aht10_example]
extends = env:esp32dev
-build_flags =
- ${common.build_flags} ${esp32.build_flags}
- -D USERMOD_AHT10
- ; -D USERMOD_AHT10_DEBUG ; -- add a debug status to the info modal
-lib_deps =
- ${esp32.lib_deps}
- enjoyneering/AHT10@~1.1.0
+custom_usermods = ${env:esp32dev.custom_usermods} AHT10
```
diff --git a/usermods/Animated_Staircase/README.md b/usermods/Animated_Staircase/README.md
index 2ad66b5ae..c24a037e1 100644
--- a/usermods/Animated_Staircase/README.md
+++ b/usermods/Animated_Staircase/README.md
@@ -15,10 +15,9 @@ To include this usermod in your WLED setup, you have to be able to [compile WLED
Before compiling, you have to make the following modifications:
-Edit `usermods_list.cpp`:
-1. Open `wled00/usermods_list.cpp`
-2. add `#include "../usermods/Animated_Staircase/Animated_Staircase.h"` to the top of the file
-3. add `UsermodManager::add(new Animated_Staircase());` to the end of the `void registerUsermods()` function.
+Edit your environment in `platformio_override.ini`
+1. Open `platformio_override.ini`
+2. add `Animated_Staircase` to the `custom_usermods` line for your environment
You can configure usermod using the Usermods settings page.
Please enter GPIO pins for PIR or ultrasonic sensors (trigger and echo).
diff --git a/usermods/BH1750_v2/readme.md b/usermods/BH1750_v2/readme.md
index c4aa8cb47..bba4eb712 100644
--- a/usermods/BH1750_v2/readme.md
+++ b/usermods/BH1750_v2/readme.md
@@ -10,7 +10,7 @@ The luminance is displayed in both the Info section of the web UI, as well as pu
## Compilation
-To enable, compile with `USERMOD_BH1750` defined (e.g. in `platformio_override.ini`)
+To enable, compile with `BH1750` in `custom_usermods` (e.g. in `platformio_override.ini`)
### Configuration Options
The following settings can be set at compile-time but are configurable on the usermod menu (except First Measurement time):
diff --git a/usermods/Battery/readme.md b/usermods/Battery/readme.md
index c3d3d8bf4..0e203f3a2 100644
--- a/usermods/Battery/readme.md
+++ b/usermods/Battery/readme.md
@@ -23,9 +23,7 @@ Enables battery level monitoring of your project.
## 🎈 Installation
-| **Option 1** | **Option 2** |
-|--------------|--------------|
-| In `wled00/my_config.h` Add the line: `#define USERMOD_BATTERY`
[Example: my_config.h](assets/installation_my_config_h.png) | In `platformio_override.ini` (or `platformio.ini`) Under: `build_flags =`, add the line: `-D USERMOD_BATTERY`
diff --git a/usermods/Cronixie/readme.md b/usermods/Cronixie/readme.md
index 1eeac8ed0..38efdbab5 100644
--- a/usermods/Cronixie/readme.md
+++ b/usermods/Cronixie/readme.md
@@ -4,5 +4,5 @@ This usermod supports driving the Cronixie M and L clock kits by Diamex.
## Installation
-Compile and upload after adding `-D USERMOD_CRONIXIE` to `build_flags` of your PlatformIO environment.
+Compile and upload after adding `Cronixie` to `custom_usermods` of your PlatformIO environment.
Make sure the Auto Brightness Limiter is enabled at 420mA (!) and configure 60 WS281x LEDs.
\ No newline at end of file
diff --git a/usermods/DHT/platformio_override.ini b/usermods/DHT/platformio_override.ini
index d192f0434..6ec2fb999 100644
--- a/usermods/DHT/platformio_override.ini
+++ b/usermods/DHT/platformio_override.ini
@@ -1,6 +1,5 @@
; Options
; -------
-; USERMOD_DHT - define this to have this user mod included wled00\usermods_list.cpp
; USERMOD_DHT_DHTTYPE - DHT model: 11, 21, 22 for DHT11, DHT21, or DHT22, defaults to 22/DHT22
; USERMOD_DHT_PIN - pin to which DTH is connected, defaults to Q2 pin on QuinLed Dig-Uno's board
; USERMOD_DHT_CELSIUS - define this to report temperatures in degrees celsious, otherwise fahrenheit will be reported
@@ -11,13 +10,11 @@
[env:d1_mini_usermod_dht_C]
extends = env:d1_mini
-build_flags = ${env:d1_mini.build_flags} -D USERMOD_DHT -D USERMOD_DHT_CELSIUS
-lib_deps = ${env:d1_mini.lib_deps}
- https://github.com/alwynallan/DHT_nonblocking
+custom_usermods = ${env:d1_mini.custom_usermods} DHT
+build_flags = ${env:d1_mini.build_flags} -D USERMOD_DHT_CELSIUS
[env:custom32_LEDPIN_16_usermod_dht_C]
extends = env:custom32_LEDPIN_16
-build_flags = ${env:custom32_LEDPIN_16.build_flags} -D USERMOD_DHT -D USERMOD_DHT_CELSIUS -D USERMOD_DHT_STATS
-lib_deps = ${env.lib_deps}
- https://github.com/alwynallan/DHT_nonblocking
+custom_usermods = ${env:custom32_LEDPIN_16.custom_usermods} DHT
+build_flags = ${env:custom32_LEDPIN_16.build_flags} -D USERMOD_DHT_CELSIUS -D USERMOD_DHT_STATS
diff --git a/usermods/DHT/readme.md b/usermods/DHT/readme.md
index 6089ffbf8..9080b9b20 100644
--- a/usermods/DHT/readme.md
+++ b/usermods/DHT/readme.md
@@ -15,7 +15,6 @@ Copy the example `platformio_override.ini` to the root directory. This file sho
### Define Your Options
-* `USERMOD_DHT` - define this to include this user mod wled00\usermods_list.cpp
* `USERMOD_DHT_DHTTYPE` - DHT model: 11, 21, 22 for DHT11, DHT21, or DHT22, defaults to 22/DHT22
* `USERMOD_DHT_PIN` - pin to which DTH is connected, defaults to Q2 pin on QuinLed Dig-Uno's board
* `USERMOD_DHT_CELSIUS` - define this to report temperatures in degrees Celsius, otherwise Fahrenheit will be reported
diff --git a/usermods/Fix_unreachable_netservices_v2/library.json b/usermods/Fix_unreachable_netservices_v2/library.json
new file mode 100644
index 000000000..68b318184
--- /dev/null
+++ b/usermods/Fix_unreachable_netservices_v2/library.json
@@ -0,0 +1,4 @@
+{
+ "name:": "Fix_unreachable_netservices_v2",
+ "platforms": ["espressif8266"]
+}
diff --git a/usermods/Fix_unreachable_netservices_v2/readme.md b/usermods/Fix_unreachable_netservices_v2/readme.md
index 07d64bc67..9f3889ebb 100644
--- a/usermods/Fix_unreachable_netservices_v2/readme.md
+++ b/usermods/Fix_unreachable_netservices_v2/readme.md
@@ -30,41 +30,6 @@ The usermod supports the following state changes:
## Installation
-1. Copy the file `usermod_Fix_unreachable_netservices.h` to the `wled00` directory.
-2. Register the usermod by adding `#include "usermod_Fix_unreachable_netservices.h"` in the top and `registerUsermod(new FixUnreachableNetServices());` in the bottom of `usermods_list.cpp`.
-
-Example **usermods_list.cpp**:
-
-```cpp
-#include "wled.h"
-/*
- * Register your v2 usermods here!
- * (for v1 usermods using just usermod.cpp, you can ignore this file)
- */
-
-/*
- * Add/uncomment your usermod filename here (and once more below)
- * || || ||
- * \/ \/ \/
- */
-//#include "usermod_v2_example.h"
-//#include "usermod_temperature.h"
-//#include "usermod_v2_empty.h"
-#include "usermod_Fix_unreachable_netservices.h"
-
-void registerUsermods()
-{
- /*
- * Add your usermod class name here
- * || || ||
- * \/ \/ \/
- */
- //UsermodManager::add(new MyExampleUsermod());
- //UsermodManager::add(new UsermodTemperature());
- //UsermodManager::add(new UsermodRenameMe());
- UsermodManager::add(new FixUnreachableNetServices());
-
-}
-```
+1. Add `Fix_unreachable_netservices` to `custom_usermods` in your PlatformIO environment.
Hopefully I can help someone with that - @gegu
diff --git a/usermods/Fix_unreachable_netservices_v2/usermod_Fix_unreachable_netservices.h b/usermods/Fix_unreachable_netservices_v2/usermod_Fix_unreachable_netservices.cpp
similarity index 97%
rename from usermods/Fix_unreachable_netservices_v2/usermod_Fix_unreachable_netservices.h
rename to usermods/Fix_unreachable_netservices_v2/usermod_Fix_unreachable_netservices.cpp
index 3d441e59d..d1a5776c5 100644
--- a/usermods/Fix_unreachable_netservices_v2/usermod_Fix_unreachable_netservices.h
+++ b/usermods/Fix_unreachable_netservices_v2/usermod_Fix_unreachable_netservices.cpp
@@ -1,12 +1,4 @@
-#pragma once
-
#include "wled.h"
-#if defined(ESP32)
-#warning "Usermod FixUnreachableNetServices works only with ESP8266 builds"
-class FixUnreachableNetServices : public Usermod
-{
-};
-#endif
#if defined(ESP8266)
#include
@@ -168,4 +160,11 @@ Delay or a video demo .
-## Adding Dependencies
-
-I2Cdev and MPU6050 must be installed.
-
-To install them, add electroniccats/MPU6050@1.0.1 to lib_deps in the platformio.ini file.
-
-For example:
-
-```
-lib_deps =
- FastLED@3.3.2
- NeoPixelBus@2.5.7
- ESPAsyncTCP@1.2.0
- ESPAsyncUDP@697c75a025
- AsyncTCP@1.0.3
- Esp Async WebServer@1.2.0
- IRremoteESP8266@2.7.3
- electroniccats/MPU6050@1.0.1
-```
-
## Wiring
The connections needed to the MPU6050 are as follows:
@@ -74,18 +54,13 @@ to the info object
## Usermod installation
-1. Copy the file `usermod_mpu6050_imu.h` to the `wled00` directory.
-2. Register the usermod by adding `#include "usermod_mpu6050_imu.h"` in the top and `registerUsermod(new MPU6050Driver());` in the bottom of `usermods_list.cpp`.
+Add `mpu6050_imu` to `custom_usermods` in your platformio_override.ini.
-Example **usermods_list.cpp**:
+Example **platformio_override.ini**:
-```cpp
-#include "wled.h"
-
-#include "usermod_mpu6050_imu.h"
-
-void registerUsermods()
-{
- UsermodManager::add(new MPU6050Driver());
-}
+```ini
+[env:usermod_mpu6050_imu_esp32dev]
+extends = env:esp32dev
+custom_usermods = ${env:esp32dev.custom_usermods}
+ mpu6050_imu
```
diff --git a/usermods/multi_relay/readme.md b/usermods/multi_relay/readme.md
index eaa069ae7..543809d8c 100644
--- a/usermods/multi_relay/readme.md
+++ b/usermods/multi_relay/readme.md
@@ -41,9 +41,7 @@ When a relay is switched, a message is published:
## Usermod installation
-1. Register the usermod by adding `#include "../usermods/multi_relay/usermod_multi_relay.h"` at the top and `UsermodManager::add(new MultiRelay());` at the bottom of `usermods_list.cpp`.
-or
-2. Use `#define USERMOD_MULTI_RELAY` in wled.h or `-D USERMOD_MULTI_RELAY` in your platformio.ini
+Add `multi_relay` to the `custom_usermods` of your platformio.ini environment.
You can override the default maximum number of relays (which is 4) by defining MULTI_RELAY_MAX_RELAYS.
@@ -65,38 +63,6 @@ The following definitions should be a list of values (maximum number of entries
```
These can be set via your `platformio_override.ini` file or as `#define` in your `my_config.h` (remember to set `WLED_USE_MY_CONFIG` in your `platformio_override.ini`)
-Example **usermods_list.cpp**:
-
-```cpp
-#include "wled.h"
-/*
- * Register your v2 usermods here!
- * (for v1 usermods using just usermod.cpp, you can ignore this file)
- */
-
-/*
- * Add/uncomment your usermod filename here (and once more below)
- * || || ||
- * \/ \/ \/
- */
-//#include "usermod_v2_example.h"
-//#include "usermod_temperature.h"
-#include "../usermods/usermod_multi_relay.h"
-
-void registerUsermods()
-{
- /*
- * Add your usermod class name here
- * || || ||
- * \/ \/ \/
- */
- //UsermodManager::add(new MyExampleUsermod());
- //UsermodManager::add(new UsermodTemperature());
- UsermodManager::add(new MultiRelay());
-
-}
-```
-
## Configuration
Usermod can be configured via the Usermods settings page.