diff --git a/.github/workflows/usermods.yml b/.github/workflows/usermods.yml index 24eda32ece..c00064ee77 100644 --- a/.github/workflows/usermods.yml +++ b/.github/workflows/usermods.yml @@ -4,6 +4,9 @@ on: pull_request: paths: - usermods/** + push: + paths: + - usermods/** env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true @@ -12,28 +15,40 @@ jobs: get_usermod_envs: # Only run for pull requests from forks (not from branches within wled/WLED) - if: github.event.pull_request.head.repo.full_name != github.repository + if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository name: Gather Usermods runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 with: - python-version: '3.12' - cache: 'pip' - - name: Install PlatformIO - run: pip install -r requirements.txt - - name: Get default environments + fetch-depth: 0 + - name: Get changed usermod environments id: envs run: | - echo "usermods=$(find usermods/ -name library.json | xargs dirname | xargs -n 1 basename | jq -R | grep -v PWM_fan | grep -v BME68X_v2| grep -v pixels_dice_tray | jq --slurp -c)" >> $GITHUB_OUTPUT + # Usermods whose directories changed in this PR + changed=$(git diff --name-only ${{ github.event.pull_request.base.sha }} HEAD \ + | grep '^usermods/' | cut -d/ -f2 | sort -u || true) + + # All usermods with a library.json (excluding known-incompatible ones) + all=$(find usermods/ -name library.json \ + | xargs dirname | xargs -n 1 basename \ + | grep -v PWM_fan | grep -v BME68X_v2 | grep -v pixels_dice_tray \ + | sort || true) + + if [ -z "$changed" ] || [ -z "$all" ]; then + echo "usermods=[]" >> $GITHUB_OUTPUT + else + usermods=$(comm -12 <(echo "$all") <(echo "$changed") | jq -R | jq --slurp -c) + echo "usermods=$usermods" >> $GITHUB_OUTPUT + fi outputs: usermods: ${{ steps.envs.outputs.usermods }} build: # Only run for pull requests from forks (not from branches within wled/WLED) - if: github.event.pull_request.head.repo.full_name != github.repository + # Skip when no changed usermods were found (e.g. only non-library changes) + if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository && needs.get_usermod_envs.outputs.usermods != '[]' name: Build Enviornments runs-on: ubuntu-latest needs: get_usermod_envs @@ -74,4 +89,85 @@ jobs: cat platformio_override.ini - name: Build firmware - run: pio run -e ${{ matrix.environment }} + run: pio run -e ${{ matrix.environment }} + + + get_custom_build_envs: + name: Gather Custom Build Environments + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Find usermods with custom build environments + id: custom_envs + run: | + # On PRs: only scan usermods whose directories changed. + # On push: scan all usermods (validates the full set on merge). + if [ "${{ github.event_name }}" = "pull_request" ]; then + changed=$(git diff --name-only ${{ github.event.pull_request.base.sha }} HEAD \ + | grep '^usermods/' | cut -d/ -f2 | sort -u || true) + if [ -z "$changed" ]; then + echo "matrix=[]" >> $GITHUB_OUTPUT + exit 0 + fi + samples=$(for mod in $changed; do + f="usermods/$mod/platformio_override.ini.sample" + [ -f "$f" ] && echo "$f" + done | sort) + else + samples=$(find usermods/ -name "platformio_override.ini.sample" | sort) + fi + + result='[]' + for sample in $samples; do + usermod=$(dirname "$sample" | xargs basename) + # Skip usermods known to be incompatible (same list as get_usermod_envs) + case "$usermod" in PWM_fan|BME68X_v2|pixels_dice_tray) continue ;; esac + envs=$(grep -E '^\[env:[^]]+\]' "$sample" | sed 's/^\[env:\(.*\)\]$/\1/') + for env in $envs; do + result=$(echo "$result" | jq --arg u "$usermod" --arg e "$env" '. + [{usermod: $u, env: $e}]') + done + done + echo "matrix=$(echo "$result" | jq -c '.')" >> $GITHUB_OUTPUT + outputs: + matrix: ${{ steps.custom_envs.outputs.matrix }} + + + build_custom: + name: Build Custom Env (${{ matrix.usermod }} / ${{ matrix.env }}) + runs-on: ubuntu-latest + needs: get_custom_build_envs + if: needs.get_custom_build_envs.outputs.matrix != '[]' + strategy: + fail-fast: false + matrix: + include: ${{ fromJSON(needs.get_custom_build_envs.outputs.matrix) }} + steps: + - uses: actions/checkout@v4 + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' + cache: 'npm' + - run: npm ci + - name: Cache PlatformIO + uses: actions/cache@v4 + with: + path: | + ~/.platformio/.cache + ~/.buildcache + build_output + key: pio-${{ runner.os }}-${{ matrix.env }}-${{ hashFiles('platformio.ini', 'pio-scripts/output_bins.py') }}-${{ hashFiles('wled00/**', 'usermods/**') }} + restore-keys: pio-${{ runner.os }}-${{ matrix.env }}-${{ hashFiles('platformio.ini', 'pio-scripts/output_bins.py') }}- + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.12' + cache: 'pip' + - name: Install PlatformIO + run: pip install -r requirements.txt + - name: Apply custom build environment + run: cp -v "usermods/${{ matrix.usermod }}/platformio_override.ini.sample" platformio_override.ini + - name: Build firmware + run: pio run -e ${{ matrix.env }} diff --git a/platformio_override.sample.ini b/platformio_override.sample.ini index d58607cffc..eb6dd70920 100644 --- a/platformio_override.sample.ini +++ b/platformio_override.sample.ini @@ -509,42 +509,15 @@ lib_deps = ${esp8266.lib_deps} # ------------------------------------------------------------------------------ # EleksTube-IPS +# See usermods/EleksTube_IPS/platformio_override.ini.sample # ------------------------------------------------------------------------------ -[env:elekstube_ips] -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 DATA_PINS=12 - -D RLYPIN=27 - -D BTNPIN=34 - -D PIXEL_COUNTS=6 - # Display config - -D ST7789_DRIVER - -D TFT_WIDTH=135 - -D TFT_HEIGHT=240 - -D CGRAM_OFFSET - -D TFT_SDA_READ - -D TFT_MOSI=23 - -D TFT_SCLK=18 - -D TFT_DC=25 - -D TFT_RST=26 - -D SPI_FREQUENCY=40000000 - -D USER_SETUP_LOADED -monitor_filters = esp32_exception_decoder # ------------------------------------------------------------------------------ # Usermod examples # ------------------------------------------------------------------------------ -# 433MHz RF remote example for esp32dev -[env:esp32dev_usermod_RF433] -extends = env:esp32dev -custom_usermods = - ${env:esp32dev.custom_usermods} - RF433 +# 433MHz RF remote example: see usermods/usermod_v2_RF433/platformio_override.ini.sample # External usermod from a git repository. # The library's `library.json` must include `"build": {"libArchive": false}`. diff --git a/usermods/AHT10_v2/platformio_override.ini b/usermods/AHT10_v2/platformio_override.ini deleted file mode 100644 index 74dcd659bb..0000000000 --- a/usermods/AHT10_v2/platformio_override.ini +++ /dev/null @@ -1,5 +0,0 @@ -[env:aht10_example] -extends = env:esp32dev -build_flags = - ${common.build_flags} ${esp32.build_flags} - ; -D USERMOD_AHT10_DEBUG ; -- add a debug status to the info modal diff --git a/usermods/AHT10_v2/platformio_override.ini.sample b/usermods/AHT10_v2/platformio_override.ini.sample new file mode 100644 index 0000000000..993b99ce39 --- /dev/null +++ b/usermods/AHT10_v2/platformio_override.ini.sample @@ -0,0 +1,9 @@ +# AHT10/AHT15/AHT20 temperature/humidity usermod build environment +# Copy to platformio_override.ini in the WLED root to use. + +[platformio] +default_envs = aht10_example + +[env:aht10_example] +extends = env:esp32dev +custom_usermods = ${env:esp32dev.custom_usermods} AHT10_v2 diff --git a/usermods/BME280_v2/platformio_override.ini.sample b/usermods/BME280_v2/platformio_override.ini.sample new file mode 100644 index 0000000000..49ab16b1fd --- /dev/null +++ b/usermods/BME280_v2/platformio_override.ini.sample @@ -0,0 +1,9 @@ +# BME280_v2 usermod build environment +# Copy to platformio_override.ini in the WLED root to use. + +[platformio] +default_envs = usermod_esp8266_2m + +[env:usermod_esp8266_2m] +extends = env:esp8266_2m +custom_usermods = ${env:esp8266_2m.custom_usermods} BME280_v2 diff --git a/usermods/DHT/platformio_override.ini b/usermods/DHT/platformio_override.ini.sample similarity index 65% rename from usermods/DHT/platformio_override.ini rename to usermods/DHT/platformio_override.ini.sample index 6ec2fb9992..c991d3d831 100644 --- a/usermods/DHT/platformio_override.ini +++ b/usermods/DHT/platformio_override.ini.sample @@ -8,13 +8,13 @@ ; USERMOD_DHT_MQTT - publish measurements to the MQTT broker ; USERMOD_DHT_STATS - For debug, report delay stats -[env:d1_mini_usermod_dht_C] -extends = env:d1_mini -custom_usermods = ${env:d1_mini.custom_usermods} DHT -build_flags = ${env:d1_mini.build_flags} -D USERMOD_DHT_CELSIUS +[env:esp8266_2m_usermod_dht_C] +extends = env:esp8266_2m +custom_usermods = ${env:esp8266_2m.custom_usermods} DHT +build_flags = ${env:esp8266_2m.build_flags} -D USERMOD_DHT_CELSIUS -[env:custom32_LEDPIN_16_usermod_dht_C] -extends = env:custom32_LEDPIN_16 -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 +[env:esp32dev_LEDPIN_16_usermod_dht_C] +extends = env:esp32dev +custom_usermods = ${env:esp32dev.custom_usermods} DHT +build_flags = ${env:esp32dev.build_flags} -D LEDPIN=16 -D USERMOD_DHT_CELSIUS -D USERMOD_DHT_STATS diff --git a/usermods/INA226_v2/platformio_override.ini b/usermods/INA226_v2/platformio_override.ini deleted file mode 100644 index 9968cbf721..0000000000 --- a/usermods/INA226_v2/platformio_override.ini +++ /dev/null @@ -1,6 +0,0 @@ -[env:ina226_example] -extends = env:esp32dev -custom_usermods = ${env:esp32dev.custom_usermods} INA226_v2 -build_flags = - ${env:esp32dev.build_flags} - ; -D USERMOD_INA226_DEBUG ; -- add a debug status to the info modal diff --git a/usermods/INA226_v2/platformio_override.ini.sample b/usermods/INA226_v2/platformio_override.ini.sample new file mode 100644 index 0000000000..b735ac5048 --- /dev/null +++ b/usermods/INA226_v2/platformio_override.ini.sample @@ -0,0 +1,23 @@ +# INA226 power monitor usermod build environments +# Copy to platformio_override.ini in the WLED root to use. + +[platformio] +default_envs = ina226_example + +# Minimal example — enable the usermod with default settings +[env:ina226_example] +extends = env:esp32dev +custom_usermods = ${env:esp32dev.custom_usermods} INA226_v2 +build_flags = ${env:esp32dev.build_flags} + ; -D USERMOD_INA226_DEBUG ; uncomment to add debug status to the info modal + +# Custom calibration example — adjust constants to match your hardware +[env:ina226_custom] +extends = env:esp32dev +custom_usermods = ${env:esp32dev.custom_usermods} INA226_v2 +build_flags = ${env:esp32dev.build_flags} + -D INA226_ENABLED_DEFAULT=true + -D INA226_SHUNT_MICRO_OHMS=2888 + -D INA226_DEFAULT_CURRENT_RANGE=10000 + -D INA226_CURRENT_OFFSET_MA=-118 + -D INA226_CHECK_INTERVAL_MS=1000 diff --git a/usermods/LD2410_v2/platformio_override.ini.sample b/usermods/LD2410_v2/platformio_override.ini.sample new file mode 100644 index 0000000000..407b14dea2 --- /dev/null +++ b/usermods/LD2410_v2/platformio_override.ini.sample @@ -0,0 +1,9 @@ +# LD2410 presence sensor usermod build environment +# Copy to platformio_override.ini in the WLED root to use. + +[platformio] +default_envs = usermod_LD2410_v2_esp32dev + +[env:usermod_LD2410_v2_esp32dev] +extends = env:esp32dev +custom_usermods = ${env:esp32dev.custom_usermods} LD2410_v2 diff --git a/usermods/LDR_Dusk_Dawn_v2/platformio_override.ini.sample b/usermods/LDR_Dusk_Dawn_v2/platformio_override.ini.sample new file mode 100644 index 0000000000..d12d73d8dc --- /dev/null +++ b/usermods/LDR_Dusk_Dawn_v2/platformio_override.ini.sample @@ -0,0 +1,10 @@ +# LDR Dusk/Dawn usermod build environment +# Copy to platformio_override.ini in the WLED root to use. + +[platformio] +default_envs = usermod_LDR_Dusk_Dawn_esp32dev + +[env:usermod_LDR_Dusk_Dawn_esp32dev] +extends = env:esp32dev +custom_usermods = ${env:esp32dev.custom_usermods} + LDR_Dusk_Dawn diff --git a/usermods/MAX17048_v2/platformio_override.ini.sample b/usermods/MAX17048_v2/platformio_override.ini.sample new file mode 100644 index 0000000000..dd339bf758 --- /dev/null +++ b/usermods/MAX17048_v2/platformio_override.ini.sample @@ -0,0 +1,9 @@ +# MAX17048 battery fuel gauge usermod build environment +# Copy to platformio_override.ini in the WLED root to use. + +[platformio] +default_envs = usermod_max17048_esp8266_2m + +[env:usermod_max17048_esp8266_2m] +extends = env:esp8266_2m +custom_usermods = ${env:esp8266_2m.custom_usermods} MAX17048_v2 diff --git a/usermods/SN_Photoresistor/platformio_override.ini b/usermods/SN_Photoresistor/platformio_override.ini.sample similarity index 72% rename from usermods/SN_Photoresistor/platformio_override.ini rename to usermods/SN_Photoresistor/platformio_override.ini.sample index 91bc5de2a6..d0588ded5c 100644 --- a/usermods/SN_Photoresistor/platformio_override.ini +++ b/usermods/SN_Photoresistor/platformio_override.ini.sample @@ -1,6 +1,5 @@ ; Options ; ------- -; USERMOD_SN_PHOTORESISTOR - define this to have this user mod included wled00\usermods_list.cpp ; USERMOD_SN_PHOTORESISTOR_MEASUREMENT_INTERVAL - the number of milliseconds between measurements, defaults to 60 seconds ; USERMOD_SN_PHOTORESISTOR_FIRST_MEASUREMENT_AT - the number of milliseconds after boot to take first measurement, defaults to 20 seconds ; USERMOD_SN_PHOTORESISTOR_REFERENCE_VOLTAGE - the voltage supplied to the sensor, defaults to 5v @@ -8,9 +7,10 @@ ; USERMOD_SN_PHOTORESISTOR_RESISTOR_VALUE - the resistor size, defaults to 10000.0 (10K hms) ; USERMOD_SN_PHOTORESISTOR_OFFSET_VALUE - the offset value to report on, defaults to 25 ; -[env:usermod_sn_photoresistor_d1_mini] -extends = env:d1_mini +[env:usermod_sn_photoresistor_esp8266_2m] +extends = env:esp8266_2m +custom_usermods = ${env:esp8266_2m.custom_usermods} SN_Photoresistor build_flags = - ${common.build_flags_esp8266} - -D USERMOD_SN_PHOTORESISTOR -lib_deps = ${env.lib_deps} + ${env:esp8266_2m.build_flags} + -D USERMOD_SN_PHOTORESISTOR_MEASUREMENT_INTERVAL=60 +lib_deps = ${env:esp8266_2m.lib_deps} diff --git a/usermods/TTGO-T-Display/platformio_override.ini b/usermods/TTGO-T-Display/platformio_override.ini deleted file mode 100644 index 7e42d9a54a..0000000000 --- a/usermods/TTGO-T-Display/platformio_override.ini +++ /dev/null @@ -1,8 +0,0 @@ -[env:esp32dev] -build_flags = ${common.build_flags_esp32} -; PIN defines - uncomment and change, if needed: -; -D LEDPIN=2 - -D BTNPIN=35 -; -D IRPIN=4 -; -D RLYPIN=12 -; -D RLYMDE=1 diff --git a/usermods/TTGO-T-Display/platformio_override.ini.sample b/usermods/TTGO-T-Display/platformio_override.ini.sample new file mode 100644 index 0000000000..2777b4f21c --- /dev/null +++ b/usermods/TTGO-T-Display/platformio_override.ini.sample @@ -0,0 +1,16 @@ +; TTGO-T-Display usermod build example. +; Note: this usermod has no library.json so custom_usermods is not available. +; The usermod.cpp must be included manually in your build. + +[platformio] +default_envs = ttgo_t_display_example + +[env:ttgo_t_display_example] +extends = env:esp32dev +build_flags = ${env:esp32dev.build_flags} +; PIN defines - uncomment and change, if needed: +; -D LEDPIN=2 + -D BTNPIN=35 +; -D IRPIN=4 +; -D RLYPIN=12 +; -D RLYMDE=1 diff --git a/usermods/Temperature/platformio_override.ini b/usermods/Temperature/platformio_override.ini deleted file mode 100644 index a53b5974d9..0000000000 --- a/usermods/Temperature/platformio_override.ini +++ /dev/null @@ -1,5 +0,0 @@ -; Options -; ------- -; USERMOD_DALLASTEMPERATURE_MEASUREMENT_INTERVAL - the number of milliseconds between measurements, defaults to 60 seconds -; - diff --git a/usermods/Temperature/platformio_override.ini.sample b/usermods/Temperature/platformio_override.ini.sample new file mode 100644 index 0000000000..3ebaeabeca --- /dev/null +++ b/usermods/Temperature/platformio_override.ini.sample @@ -0,0 +1,10 @@ +# Temperature (DS18B20) usermod build environment +# Copy to platformio_override.ini in the WLED root to use. + +[platformio] +default_envs = usermod_temperature_esp32dev + +[env:usermod_temperature_esp32dev] +extends = env:esp32dev +custom_usermods = ${env:esp32dev.custom_usermods} + Temperature diff --git a/usermods/mpu6050_imu/platformio_override.ini.sample b/usermods/mpu6050_imu/platformio_override.ini.sample new file mode 100644 index 0000000000..cc5a591f63 --- /dev/null +++ b/usermods/mpu6050_imu/platformio_override.ini.sample @@ -0,0 +1,10 @@ +# MPU-6050 IMU usermod build environment +# Copy to platformio_override.ini in the WLED root to use. + +[platformio] +default_envs = usermod_mpu6050_imu_esp32dev + +[env:usermod_mpu6050_imu_esp32dev] +extends = env:esp32dev +custom_usermods = ${env:esp32dev.custom_usermods} + mpu6050_imu diff --git a/usermods/pixels_dice_tray/platformio_override.ini.sample b/usermods/pixels_dice_tray/platformio_override.ini.sample index 6b4fa7768e..f51c2190b3 100644 --- a/usermods/pixels_dice_tray/platformio_override.ini.sample +++ b/usermods/pixels_dice_tray/platformio_override.ini.sample @@ -13,7 +13,7 @@ board_build.partitions = ${esp32.large_partitions} board_build.f_flash = 80000000L board_build.flash_mode = qio monitor_filters = esp32_exception_decoder -build_flags = ${common.build_flags} ${esp32s3.build_flags} -D WLED_RELEASE_NAME=T-QT-PRO-8MB +build_flags = ${common.build_flags} ${esp32s3.build_flags} -D WLED_RELEASE_NAME=\"T-QT-PRO-8MB_dice\" -D CONFIG_LITTLEFS_FOR_IDF_3_2 -D WLED_WATCHDOG_TIMEOUT=0 -D ARDUINO_USB_CDC_ON_BOOT=1 -D ARDUINO_USB_MODE=1 ;; for boards with USB-OTG connector only (USBCDC or "TinyUSB") @@ -75,7 +75,7 @@ board_build.partitions = ${esp32.large_partitions} board_build.f_flash = 80000000L board_build.flash_mode = qio monitor_filters = esp32_exception_decoder -build_flags = ${common.build_flags} ${esp32s3.build_flags} -D WLED_RELEASE_NAME=ESP32-S3_8MB_qspi +build_flags = ${common.build_flags} ${esp32s3.build_flags} -D WLED_RELEASE_NAME=\"ESP32-S3_8MB_qspi_dice\" -D CONFIG_LITTLEFS_FOR_IDF_3_2 -D WLED_WATCHDOG_TIMEOUT=0 -D ARDUINO_USB_CDC_ON_BOOT=1 -D ARDUINO_USB_MODE=1 ;; for boards with USB-OTG connector only (USBCDC or "TinyUSB") @@ -105,7 +105,7 @@ lib_deps = ${esp32s3.lib_deps} # https://github.com/wled-dev/WLED/issues/1382 ; [env:esp32dev_dice] ; extends = env:esp32dev -; build_flags = ${common.build_flags} ${esp32.build_flags} -D WLED_RELEASE_NAME=ESP32 +; build_flags = ${common.build_flags} ${esp32.build_flags} -D WLED_RELEASE_NAME=\"ESP32_dice\" ; ; Enable Pixels dice mod ; -D USERMOD_PIXELS_DICE_TRAY ; lib_deps = ${esp32.lib_deps} diff --git a/usermods/sht/platformio_override.ini.sample b/usermods/sht/platformio_override.ini.sample new file mode 100644 index 0000000000..65e3ffd153 --- /dev/null +++ b/usermods/sht/platformio_override.ini.sample @@ -0,0 +1,13 @@ +# SHT temperature/humidity sensor usermod build environments +# Copy to platformio_override.ini in the WLED root to use. + +[platformio] +default_envs = custom_esp32dev_usermod_sht + +[env:custom_esp32dev_usermod_sht] +extends = env:esp32dev +custom_usermods = ${env:esp32dev.custom_usermods} sht + +[env:custom_esp8266_2m_usermod_sht] +extends = env:esp8266_2m +custom_usermods = ${env:esp8266_2m.custom_usermods} sht diff --git a/usermods/sht/sht.cpp b/usermods/sht/sht.cpp index e1eb9e885f..f7f4be4bab 100644 --- a/usermods/sht/sht.cpp +++ b/usermods/sht/sht.cpp @@ -143,7 +143,13 @@ void ShtUsermod::appendDeviceToMqttDiscoveryMessage(JsonDocument& root) { device[F("ids")] = escapedMac.c_str(); device[F("name")] = serverDescription; device[F("sw")] = versionString; + // AI: below section was generated by an AI + #ifdef ARDUINO_ARCH_ESP32 device[F("mdl")] = ESP.getChipModel(); + #else + device[F("mdl")] = F("ESP8266"); + #endif + // AI: end device[F("mf")] = F("espressif"); } diff --git a/usermods/usermod_v2_RF433/platformio_override.ini.sample b/usermods/usermod_v2_RF433/platformio_override.ini.sample new file mode 100644 index 0000000000..69c2d04c46 --- /dev/null +++ b/usermods/usermod_v2_RF433/platformio_override.ini.sample @@ -0,0 +1,11 @@ +# RF433 remote usermod build environment +# Copy to platformio_override.ini in the WLED root to use. + +[platformio] +default_envs = esp32dev_usermod_RF433 + +[env:esp32dev_usermod_RF433] +extends = env:esp32dev +custom_usermods = + ${env:esp32dev.custom_usermods} + RF433 diff --git a/usermods/usermod_v2_four_line_display_ALT/platformio_override.sample.ini b/usermods/usermod_v2_four_line_display_ALT/platformio_override.ini.sample similarity index 50% rename from usermods/usermod_v2_four_line_display_ALT/platformio_override.sample.ini rename to usermods/usermod_v2_four_line_display_ALT/platformio_override.ini.sample index f4fa8c9d8b..ef0e00848f 100644 --- a/usermods/usermod_v2_four_line_display_ALT/platformio_override.sample.ini +++ b/usermods/usermod_v2_four_line_display_ALT/platformio_override.ini.sample @@ -2,10 +2,10 @@ default_envs = esp32dev_fld [env:esp32dev_fld] -extends = env:esp32dev_V4 -custom_usermods = ${env:esp32dev_V4.custom_usermods} four_line_display_ALT +extends = env:esp32dev +custom_usermods = ${env:esp32dev.custom_usermods} four_line_display_ALT build_flags = - ${env:esp32dev_V4.build_flags} + ${env:esp32dev.build_flags} -D FLD_TYPE=SH1106 -D I2CSCLPIN=27 -D I2CSDAPIN=26 diff --git a/usermods/usermod_v2_klipper_percentage/platformio_override.ini.sample b/usermods/usermod_v2_klipper_percentage/platformio_override.ini.sample new file mode 100644 index 0000000000..5239a51ae7 --- /dev/null +++ b/usermods/usermod_v2_klipper_percentage/platformio_override.ini.sample @@ -0,0 +1,10 @@ +# Klipper percentage usermod build environment +# Copy to platformio_override.ini in the WLED root to use. + +[platformio] +default_envs = esp32klipper + +[env:esp32klipper] +extends = env:esp32dev +custom_usermods = ${env:esp32dev.custom_usermods} + usermod_v2_klipper_percentage diff --git a/usermods/usermod_v2_rotary_encoder_ui_ALT/platformio_override.sample.ini b/usermods/usermod_v2_rotary_encoder_ui_ALT/platformio_override.ini.sample similarity index 58% rename from usermods/usermod_v2_rotary_encoder_ui_ALT/platformio_override.sample.ini rename to usermods/usermod_v2_rotary_encoder_ui_ALT/platformio_override.ini.sample index 2511d2fa38..c943bdbe25 100644 --- a/usermods/usermod_v2_rotary_encoder_ui_ALT/platformio_override.sample.ini +++ b/usermods/usermod_v2_rotary_encoder_ui_ALT/platformio_override.ini.sample @@ -2,10 +2,10 @@ default_envs = esp32dev_re [env:esp32dev_re] -extends = env:esp32dev_V4 -custom_usermods = ${env:esp32dev_V4.custom_usermods} rotary_encoder_ui_ALT +extends = env:esp32dev +custom_usermods = ${env:esp32dev.custom_usermods} rotary_encoder_ui_ALT build_flags = - ${env:esp32dev_V4.build_flags} + ${env:esp32dev.build_flags} -D USERMOD_ROTARY_ENCODER_GPIO=INPUT -D ENCODER_DT_PIN=21 -D ENCODER_CLK_PIN=23