Commit Graph

370 Commits

Author SHA1 Message Date
Will Miles
1d558e8391 platformio.ini: Add extra flags for usermod test
Define a couple pins, leave a note where the usermod list comes from.
2025-01-19 22:25:34 +00:00
Will Miles
48372bcd91 platformio: Fix audioreactive usermod for ESP8266 2025-01-19 22:19:30 +00:00
Will Tatam
2adf745d06 Update env:usermods to use V4 2025-01-15 11:22:33 +00:00
Will Tatam
ef2eb0764c Merge branch 'main' into usermod-libs 2025-01-15 11:00:52 +00:00
Will Miles
32607ee74c Revert incorrect testing platformio.ini 2025-01-15 02:26:34 +00:00
Will Miles
8fd905215f Integrate usermods environment
Move the "all usermods" logic in to the platformio script, so the
'usermods' environment can be built in any checkout without extra setup
commands.
2025-01-14 22:21:26 +00:00
Will Tatam
a37b953e72 Set flash_mode to qio for esp32c3dev to maintain current behaviour 2025-01-14 12:44:40 +00:00
Will Tatam
bba5188594 Add the safe option of flash_mode for esp32c3dev, qio also possible 2025-01-14 12:43:06 +00:00
Will Tatam
7dc633581d Merge branch 'V4-tasmota' of github.com:netmindz/WLED into V4-tasmota 2025-01-14 12:29:19 +00:00
Will Tatam
bd00d012e2 Remove esp8266_2m_tasmota as not a V4 change and no suitable tasmota build using the currently used Arduino Core version of 3.1.2 2025-01-14 12:29:03 +00:00
Will Miles
0b8721c25e Fix usermod libArchive setting
Monkey-patch PlatformIO to intercept the build process after library
dependencies are loaded, but before the build is fully analyzed.  This
lets us enforce libArchive=False for usermods without making that
setting global across all libraries.

The rest of the fixup code is integrated at the same call site for
simplicity.
2025-01-14 02:48:00 +00:00
Will Tatam
022e4986ee Revert "Update to Tasmota Arduino Core 2.0.18" - Frank says to stay on
2.0.9

This reverts commit b421f7ae87.
2025-01-14 00:24:37 +00:00
Will Tatam
2c9c413e79 Merge branch 'usermod-libs' into usermod-libs-migration 2025-01-14 00:22:07 +00:00
Will Tatam
650853c177 Use flash_mode = dio 2025-01-13 21:09:05 +00:00
Will Tatam
f920fdecfe Add esp32dev back to default_envs 2025-01-13 21:02:28 +00:00
Will Tatam
4e4f823141 Update comment 2025-01-13 20:57:49 +00:00
Will Tatam
b421f7ae87 Update to Tasmota Arduino Core 2.0.18 2025-01-13 20:56:48 +00:00
Will Tatam
ca80d0489b Add env:esp8266_2m_tasmota 2025-01-13 20:30:10 +00:00
Will Tatam
7e9f7d4101 set board_build.flash_mode to fix missing sdkconfig.h 2025-01-13 18:39:21 +00:00
Will Tatam
f240a33935 Remove platform_package override 2025-01-13 18:33:30 +00:00
Will Tatam
5bd0a26126 Remove platform_package override 2025-01-13 16:39:58 +00:00
Will Tatam
29ee551b06 Swap to tasmota/platform-espressif32 2025-01-13 15:38:25 +00:00
Will Tatam
5b5e4157e3 Add esp32dev_v4 env 2025-01-13 11:12:14 +00:00
Will Tatam
3c19692312 Cleanup copy-paste of platform and platform_packages - use the proper common esp32_idf_V4 2025-01-13 10:58:32 +00:00
Will Miles
f2626b0fc0 Remove now-obsolete AR_build_flags 2025-01-12 17:09:33 +00:00
Will Miles
cc9e9b109c Fix usermod library builds
Manage include folders via a second platformio script, fixing builds and
removing all the extra boilerplate from usermod library.json files.
2025-01-12 17:07:36 +00:00
Will Tatam
2381e323c1 Define dependencies for ADS1115 usermod 2025-01-11 22:54:28 +00:00
Will Tatam
d64cedd3fc Build custom_usermods = audioreactive auto_save animartrix 2025-01-11 22:38:57 +00:00
Will Tatam
c16d83fab0 Build custom_usermods = audioreactive auto_save animartrix 2025-01-11 22:36:06 +00:00
Will Tatam
cbed841414 Include basic usermods in CI 2025-01-11 22:12:36 +00:00
Will Miles
71b0e8e937 Convert AnimARTrix usermod to library
Borrowed library definition from @netmindz's work on #4476.
2025-01-11 13:32:28 -05:00
Will Miles
b8685f2c39 Convert usermods to static libraries
Redesign the usermod system so that usermods are implemented as
PlatformIO libraries instead of headers.  This permits them to call for
dependencies, and eliminates the compiler flags for enabling each one,
allowing the build cache to behave better.

The usermod list is built using some linker magic to construct a static
list in ROM memory.  This eliminates the need for wasting SRAM on
something fixed at build time.
2025-01-11 12:08:29 -05:00
Frank
3d3c475d1b define board_build.partitions and build_unflags in standard envs
to ensure that build_unflags and board_build.partitions are always having a useful default value. Values can be overridden in custom buildenvs.

saves us a few lines lin platformio_override.sample.ini.
2024-12-15 22:20:52 +01:00
Will Tatam
6aef0e145c Remove TOSTRING for releaseString and add quotes to WLED_RELEASE_NAME 2024-11-23 16:31:07 +00:00
Frank
3c2c5bedc5 LEDPIN --> DATA_PINS 2024-11-01 21:42:54 +01:00
Frank
1898be2fe1 S3 WROOM-2 buildenv
this chip has 16MB or 32MB flash, and requires .memory_type = opi_opi
2024-11-01 21:13:43 +01:00
Will Miles
2bb2caf2d2 Enable NON32XFER_HANDLER on ESP8266
This is a platform feature that asks forgiveness for PROGMEM misuse:
it adds a handler such that incorrectly used PROGMEM will work without
crashing, just really, *really* inefficiently.

Given that most of our real-world use cases for PROGMEM strings are
relatively infrequent text calls, we can err on the side of developer
convenience and address performance problems if and when they arise.
2024-10-23 20:01:42 -04:00
Frank
7db1989093 fix major performance regression in ArduinoFFT
since v2.0.0, we cannot override the internal sqrt function by #define --> moved to build_flags.

Average FFT time on esp32 : 4.5ms --> 1.8ms
2024-10-22 14:42:48 +02:00
Frank
7fa25ca7ae pio update - flash size of non-standard boards
* adding missing flash size flags that were lost between 0.14 and 0.15
   (necessary if you don't flash using esptool)
* adding env:esp32dev_16M for 16MB flash (serg74 esp32-16M, twilightlord esp32 16M)
2024-09-30 11:25:58 +02:00
Blaž Kristan
0806c7fbdb Merge pull request #4142 from willmmiles/fix-webserver-pin
Fix AsyncWebServer version pin
2024-09-14 22:51:19 +02:00
Blaz Kristan
5708d7a6b8 Build bump, changelog update 2024-09-14 22:30:56 +02:00
Will Miles
2264cc5d10 Use tag to pin AsyncWebServer version 2024-09-14 16:11:46 -04:00
Blaz Kristan
3a5eb8c5d2 WLED 0.15.0-b5 release
- Audioreactive usermod always included
2024-09-10 16:07:37 +02:00
Frank
c1c707c77a 8266 compatibility builds for older chips (another attempt t o solve #3690 and #3685)
some users have reported that releases after 0.14.0 are not working reliably. So we add a few "compat" for 8266 that try to reproduce the buildenv of 0.14.0 as much as possible.

* platform and platform_packages from 0.14.0
* not using PIO_FRAMEWORK_ARDUINO_MMU_CACHE16_IRAM48
* due to smaller IRAM, we had to move some functions back from IRAM to normal flash (may cause slowdown)
2024-09-04 11:38:03 +02:00
Will Miles
ff39a8db3f Fix PWM crashes on ESP8266
Vendor in the ESP8266 Arduino core PWM library, with a fix for a nasty
NMI crash bug.  Sometimes the NMI return instruction seems to fail,
resulting in an infinite loop as the PC gets stuck.  Work around this
by backing up and restoring the PC if needed.
2024-06-27 21:30:05 -04:00
Blaz Kristan
f4475b9d2a Dynamic parallel I2S output
- update NeoPixelBus to v2.8.0
- use single/mono I2S + 4x RMT for 5 outputs or less
- use parallel x8 I2S + 8x RMT for >5 outputs (limit of 300 LEDs per output)
2024-06-12 18:00:00 +02:00
Christian Struck
67df5d6dcc fix: ESP32-S3 rev v0.2 seems to need the wifi fix 2024-06-01 09:09:01 +02:00
Blaz Kristan
4afed48f58 Use libc trigonometric functions on ESP32 by default
- use custom (space saving) functions on ESP8266
2024-05-10 15:59:11 +02:00
Frank
2607c44fbb make objdump work
Script update based on latest version from Tasmota
* add support for all esp32 variants
* add "-C" : Decode (demangle) low-level symbol names into user-level C++ names.
2024-05-06 11:00:41 +02:00
Frank
1048bf993a use lolin_s3_mini for esp32-S3 4MB buildenv 2024-04-27 23:34:35 +02:00