Skip to content

Conversation

@DedeHai
Copy link
Collaborator

@DedeHai DedeHai commented Dec 14, 2025

removing all references to eeprom since this has been deprecated for a long time.

Summary by CodeRabbit

  • Refactor
    • Removed legacy EEPROM storage support throughout the application, consolidating configuration management to filesystem-only operation.
    • Simplified factory reset process to clear only filesystem settings and reboot; EEPROM clearing step has been eliminated.
    • Removed EEPROM fallback path for configuration loading, ensuring settings are exclusively managed through filesystem storage.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 14, 2025

Walkthrough

This pull request removes legacy EEPROM support infrastructure from WLED. Changes include deleting the entire EEPROM implementation file, removing EEPROM-related function declarations, eliminating EEPROM fallback paths in configuration deserialization, and simplifying factory reset and initialization flows to omit EEPROM clearing operations.

Changes

Cohort / File(s) Summary
Factory Reset Paths
wled00/button.cpp, wled00/set.cpp
Removed EEPROM clearing step from button-0 factory reset and RS (security) factory reset paths. Filesystem formatting and reboot remain; conditional EEPROM clear is omitted.
Configuration Deserialization
wled00/cfg.cpp
Removed fallback EEPROM read path in deserializeConfigFromFS. Config filesystem failure no longer triggers EEPROM load attempt via deEEPSettings().
Public Declarations and Headers
wled00/fcn_declare.h, wled00/wled.h
Removed EEPROM-related public function declarations (applyMacro, deEEP, deEEPSettings, clearEEPROM) and removed EEPROM.h include statement.
Boot-Time Initialization
wled00/wled.cpp
Replaced conditional EEPROM handling with unconditional initPresetsFile() call. Removed deEEP() invocation and collapsing of #ifdef branches.
Legacy EEPROM Implementation
wled00/wled_eeprom.cpp
Entire file deleted. Removed EEPROM versioning constants, settings load/migration functions (loadSettingsFromEEPROM, deEEP, deEEPSettings), factory reset (clearEEPROM), version-conditional migration logic, and subsystem-specific EEPROM state handling (DMX, HueSync, ABL, MQTT, timers, presets).

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

  • Cross-file consistency: Verify all EEPROM call removal sites are consistent and no orphaned references remain.
  • Factory reset verification: Confirm that both button-0 and RS reset paths maintain correct behavior without EEPROM clearing.
  • Config fallback logic: Ensure deserializeConfigFromFS failure handling is appropriate without EEPROM fallback.
  • Initialization correctness: Validate that initPresetsFile() properly replaces removed deEEP() call in boot flow.
  • Deleted file impact: Review that removal of extensive EEPROM migration and versioning logic does not affect existing configurations or user experience.

Suggested reviewers

  • blazoncek
  • netmindz
  • willmmiles

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title 'Remove EEPROM support' directly and concisely summarizes the main change: removal of EEPROM functionality across the codebase, as evidenced by deletions in button.cpp, cfg.cpp, fcn_declare.h, set.cpp, wled.cpp, wled.h, and the complete removal of wled_eeprom.cpp.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between bb6114e and 2a208c6.

📒 Files selected for processing (7)
  • wled00/button.cpp (0 hunks)
  • wled00/cfg.cpp (0 hunks)
  • wled00/fcn_declare.h (0 hunks)
  • wled00/set.cpp (0 hunks)
  • wled00/wled.cpp (0 hunks)
  • wled00/wled.h (0 hunks)
  • wled00/wled_eeprom.cpp (0 hunks)
💤 Files with no reviewable changes (7)
  • wled00/button.cpp
  • wled00/wled.cpp
  • wled00/cfg.cpp
  • wled00/wled.h
  • wled00/set.cpp
  • wled00/wled_eeprom.cpp
  • wled00/fcn_declare.h
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (20)
  • GitHub Check: wled_build / Build Environments (esp32c3dev)
  • GitHub Check: wled_build / Build Environments (usermods)
  • GitHub Check: wled_build / Build Environments (esp32_wrover)
  • GitHub Check: wled_build / Build Environments (esp32_eth)
  • GitHub Check: wled_build / Build Environments (esp32s3dev_8MB_opi)
  • GitHub Check: wled_build / Build Environments (esp8266_2m)
  • GitHub Check: wled_build / Build Environments (esp32dev_debug)
  • GitHub Check: wled_build / Build Environments (esp32s3_4M_qspi)
  • GitHub Check: wled_build / Build Environments (esp8266_2m_compat)
  • GitHub Check: wled_build / Build Environments (esp32s3dev_16MB_opi)
  • GitHub Check: wled_build / Build Environments (esp01_1m_full_compat)
  • GitHub Check: wled_build / Build Environments (lolin_s2_mini)
  • GitHub Check: wled_build / Build Environments (esp32S3_wroom2)
  • GitHub Check: wled_build / Build Environments (esp32dev)
  • GitHub Check: wled_build / Build Environments (esp8266_2m_160)
  • GitHub Check: wled_build / Build Environments (esp32c3dev_qio)
  • GitHub Check: wled_build / Build Environments (esp01_1m_full_160)
  • GitHub Check: wled_build / Build Environments (nodemcuv2_160)
  • GitHub Check: wled_build / Build Environments (esp01_1m_full)
  • GitHub Check: wled_build / Build Environments (nodemcuv2)

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.

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.

1 participant