Check the safest possible location for final information on what
components are actually being linked in. This demonstrates a safe
approach that works even for out-of-tree modules.
Use a magic custom_usermods string instead of a magic environment
name; and disable the validation script as it triggers on the non-
platform-compatible mods.
Ensure all paths used in usermod symlinks are fully resolved, including
any case correctness issues on Windows. Apparently PlatformIO does
not handle symlink files correctly on Windows if there are case
differences between cwd and the resolved path.
The modern linker used with new platforms (ESP8266, ESP32 >v4) always
produces paths in the map file with slash; however the old linker for
the old ESP32 platform instead produces paths with backslash when
building on Windows. Match both types as a path separator when
scanning linked symbols.
Neither the info panel nor the settings dialog can be trusted to
accurately report the usermod list:
- Not all usermods necessarily add to the info panel
- Not all usermods necessarily add to the config page
- #4609 is required for the config page to be correct
Add a short list to the info object that lists the loaded usermod IDs.
This is not displayed via the UI, but can be queried with curl or web
debug tools.
To be removed when usermod loading is working well.
* add support for up to 10 ESPNow remotes
* removed debug line
* changed todo comment
* fixed some issues, shortened html/java code
- reverting name to `linked_remote`
- ESPNow remote list is now hidden if unchecked
- shortened java script function names and variables to save flash
- removed now obsolete settings in xml.cpp
- correct checking of valid hex string for remote list in java script
* fixed indentation, using emplace_back instead of push_back, using JsonVariant, replaced buttons with +/-
* shortened java code
* updated java code, fixed bug
- element is now properly removed
- `+` button is hidden if list is full
- user needs to remove a remote, then reload the page to add it (workaround for edge case that needs more code to handle otherwise)
* add limit
* clearer usage description
Automatic Gain Control is a very important aspect of the audioreactive plugin,
and is vitally important when the external music volume constantly changes.
It makes sense to allow users to choose their preferred AGC behavior at
compile-time, since they can already set the Gain and Squelch via flags.
Adds `SR_AGC` as a flag, which defaults to 0 (off).
- fixed inconsitencies in size rendering
- fixed palette being wrapped in color by position and color by age modes
- Fixed bug in memory layout: for some unknown reason, if flags come before particles, last flag is sometimes overwritten, changing memory laout seems to fix that
- New color modes in PS Fireworks 1D:
- custom3 slider < 16: lower saturation (check1: single color or multi-color explosions)
- custom3 slider <= 23: full saturation (check1: single color or multi-color explosions)
- custom3 slider > 23: color by speed (check 1 has not effect here)
- custom slider = max: color by age or color by position (depends on check1)
The ConfigureProjectLibBuilder process will flush and reload the library
settings from the on-disk manifests if any new library is installed at
that stage. This has the side effect of reverting the libArchive setting
applied to usermods which was performed prior to that call.
Apply the setting afterwards, instead.
Fixes#4597
- Photoshop-style segment/layer blending
- return of strip ABL
- remove global LED buffer in favour of segment-local buffer
- new effect blending modes/transitions
- custom palettes moved out of WS2812FX class
- increased limits (matrix size, LED RAM)
- added "rainbow"-mode colorwheel
- replaced palettes with gamma unmodified ones
- move gamma adjustment to last step before sending to LEDs
- Segment & WS2812FX class reorganisation (mutable members, reordered members, protected members)