Skip to content

Comments

Rebase onto v0.15.3#5388

Closed
SteveEisner wants to merge 284 commits intowled:mainfrom
SteveEisner:rebase-v0153-history
Closed

Rebase onto v0.15.3#5388
SteveEisner wants to merge 284 commits intowled:mainfrom
SteveEisner:rebase-v0153-history

Conversation

@SteveEisner
Copy link

@SteveEisner SteveEisner commented Feb 20, 2026

This brings the repo up to date with the latest version of WLED

Summary by CodeRabbit

  • New Features

    • Added Tubes usermod with customizable LED patterns, effects, and beat-synchronized animations
    • Implemented ESPNOW mesh networking for synchronized multi-device control
    • Added power-save toggle via button control
  • Hardware Support

    • Added configurations for multiple ESP32 variant devices (QuinLED DigUNO, S3-Matrix, C3-Athom, Gledopto)
    • Introduced Tubes-specific build variants with audio-reactive support
  • Improvements

    • Expanded palette system with additional gradient options
    • Enhanced firmware update tooling with automated OTA capabilities
    • Updated documentation with Tubes feature overview

SteveEisner and others added 26 commits February 20, 2026 11:33
and make a few more methods const for clarity
accidently disabled by merge - wled@d03ad1f
also current version of Espressif Ardunio SDK seems to break it as well
intialize struct variables
remove double initialization
disabled espnow debug counters
and reset the wifi after update
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 20, 2026

Caution

Review failed

The pull request is closed.

Walkthrough

Introduces a comprehensive Tubes LED controller system to WLED, including a new usermod with beat-synchronized patterns, effects, and particle rendering; adds ESPNOW mesh networking support; updates button handling with power-save modes; expands PlatformIO build configurations; and refreshes palette definitions.

Changes

Cohort / File(s) Summary
Build Configuration & Packaging
.gitignore, platformio.ini, platformio_override.ini, platformio_tubes.ini
Added new PlatformIO environments for esp32 variants (QuinLED DigUNO, Dig2Go, S3-Matrix, C3-Athom, Gledopto) with tube-specific pin configurations, FFT library dependencies, and environmental overrides for build flags and defaults.
Tubes Usermod Core System
usermods/Tubes/Tubes.h, usermods/Tubes/controller.h, usermods/Tubes/master.h, usermods/Tubes/node.h
New comprehensive usermod implementing pattern controller with WLED integration, BPM/beat synchronization, palette/pattern/effect management, button handling, master/follower mesh behavior, and UI overlay rendering with complex state machine and command routing.
Beat & Synchronization
usermods/Tubes/beats.h, usermods/Tubes/global_state.h, usermods/Tubes/timer.h
Added beat controller with BPM/tempo management, beat-frame accumulation, and global timing/state structures; lightweight timer utility for scheduling patterns and effects with millisecond/microsecond precision.
Visual Effects & Rendering
usermods/Tubes/pattern.h, usermods/Tubes/effects.h, usermods/Tubes/particle.h, usermods/Tubes/virtual_strip.h
New effect system with 24 pre-configured LED patterns, particle-based animations with physics, virtual strip abstraction supporting fade transitions and beat-synchronized color selection via palettes and hue modes.
Audio & Sound
usermods/Tubes/sound.h, usermods/Tubes/debug.h
Added audio-reactive overlay management integrating with USERMOD_AUDIOREACTIVE; debugging controller for periodic status dumps and beat-frame visualization overlays.
Networking & Communication
wled00/espnow_broadcast.h, wled00/espnow_broadcast.cpp, usermods/Tubes/bluetooth.h
Comprehensive ESPNOW mesh broadcast implementation with message queuing, callback registration, receive filtering, and BLE mesh integration for node synchronization and remote state updates.
Deployment & Configuration
usermods/Tubes/firmware.sh, usermods/Tubes/firmware_test.sh, usermods/Tubes/update_server.py, usermods/Tubes/default_config.json
Added OTA firmware update automation (Bash scripts with SFTP/HTTP), Python HTTP server with encoding support, and comprehensive JSON device configuration template for hardware/network/LED settings.
Core WLED Updates
wled00/button.cpp, wled00/wled.cpp, wled00/usermods_list.cpp, wled00/const.h
Integrated Tubes usermod registration, added ESPNOW broadcast initialization and loop integration, introduced new long-press power-save button behavior (1000ms) with usermod hooks, adjusted factory-reset timing (30s), incremented gradient palette count and usermod ID constant.
Color & Palette Management
wled00/FX_fcn.cpp, wled00/palettes.h, usermods/Tubes/options.h
Replaced all gradient palette declarations with macro-based DEFINE_PALETTE syntax; updated palette registry and count (116 total); added strongly-typed enums for control modes (SyncMode, Duration, Energy, PenMode, EffectMode, BeatPulse) and ControlParameters/EffectParameters structures.
Documentation & Configuration
readme.md
Substantially rewrote README to introduce WLED-Tubes as portable coordinated LED sticks with ESP32-based tempo synchronization, daisy-chaining via mesh/relays, overlay architecture with multi-layer effects, and expanded credits/feature list with branch-specific documentation.
Audio Integration
usermods/audioreactive/audio_reactive.h, usermods/Tubes/util.h
Minor fix to FFT peak detection API call (pointer passing); added utility functions for 16-to-8-bit scaling, array size macro, and free heap memory reporting.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Possibly related PRs

Suggested reviewers

  • willmmiles
  • softhack007
  • netmindz
✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@SteveEisner
Copy link
Author

This was intended for my own branch - closing

@SteveEisner SteveEisner deleted the rebase-v0153-history branch February 20, 2026 20:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants