Skip to content

feat: Add Domraem brand Ethernet clock pin configuration#5607

Closed
jacker-25 wants to merge 2 commits into
wled:mainfrom
jacker-25:company-config-add
Closed

feat: Add Domraem brand Ethernet clock pin configuration#5607
jacker-25 wants to merge 2 commits into
wled:mainfrom
jacker-25:company-config-add

Conversation

@jacker-25
Copy link
Copy Markdown

@jacker-25 jacker-25 commented May 12, 2026

Add support for Domraem Ethernet board with clock pins (GPIO0).
This configuration allows WLED to work properly with ESP32 + Ethernet hardware from Domraem brand, avoiding conflicts between ESP-NOW and Ethernet clock signals.

Summary by CodeRabbit

  • New Features
    • Added support for the Domraem_ETH Ethernet board, expanding compatible hardware options.
    • Exposed the new Ethernet option in the network settings so users can select Domraem_ETH from the Ethernet Type list.

Review Change Stack

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 12, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 47f7aaaa-f7c1-4bc6-95ea-c949d910ed93

📥 Commits

Reviewing files that changed from the base of the PR and between 9c7c049 and 72d5ebc.

📒 Files selected for processing (1)
  • wled00/network.cpp
✅ Files skipped from review due to trivial changes (1)
  • wled00/network.cpp

Walkthrough

Adds a new Ethernet board type "Domraem_ETH" by extending the board-type enum, adding it to the settings UI, and registering its hardware configuration in the ethernetBoards table.

Changes

Domraem Ethernet Board Support

Layer / File(s) Summary
Board type definition and enumeration
wled00/const.h
WLED_NUM_ETH_TYPES incremented to 17 and WLED_ETH_DOMRAEM_ETH defined with value 16.
UI option and board configuration
wled00/data/settings_wifi.htm, wled00/network.cpp
Added Domraem_ETH option (value 16) to the ETH dropdown and inserted its ethernetBoards entry with MDC/MDIO pins, ETH_PHY_LAN8720, and ETH_CLOCK_GPIO0_IN.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • wled/WLED#5156: Both PRs add a new Ethernet board type by updating wled00/const.h, wled00/data/settings_wifi.htm, and inserting a new entry in the ethernetBoards array in wled00/network.cpp.
  • wled/WLED#5553: Both PRs modify the same Ethernet board registry (WLED_NUM_ETH_TYPES) and add entries to the ethernetBoards table and the ETH select UI.
  • wled/WLED#5608: Adds a new Ethernet board entry and increments WLED_NUM_ETH_TYPES, which directly affects compile-time checks related to ethernetBoards length and defaults.

Suggested labels

enhancement, board request

Suggested reviewers

  • softhack007
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change—adding support for a new Domraem brand Ethernet board with GPIO0 clock pin configuration—which is the core objective reflected in all modified files.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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.

@coderabbitai coderabbitai Bot added enhancement board request PR adding support for a specific board. labels May 12, 2026
@softhack007
Copy link
Copy Markdown
Member

@coderabbitai please check if the new ethernet config proposed in this PR is already covered by another existing configuration in network.cpp.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 12, 2026

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Read the full ethernetBoards table in network.cpp
rg -n "ethernetBoards|ETH_CLOCK|eth_mdio|eth_mdc|ETH_PHY" wled00/network.cpp -A 2 -B 2

echo "---FULL SECTION---"
# Also dump the full ethernetBoards struct/array definition
grep -n "" wled00/network.cpp | head -200

Length of output: 12970


@softhack007 Yes — the new Domraem_ETH configuration is an exact duplicate of the existing Gledopto Series With Ethernet entry (index 13). Every single field is identical:

Field Domraem_ETH (16) Gledopto (13)
eth_address 1 1
eth_power 5 5
eth_mdc 23 23
eth_mdio 33 33
eth_type ETH_PHY_LAN8720 ETH_PHY_LAN8720
eth_clk_mode ETH_CLOCK_GPIO0_IN ETH_CLOCK_GPIO0_IN

There is no functional difference between the two entries whatsoever. The PR author should verify whether the Domraem board's schematic genuinely matches the Gledopto wiring — if it does, the correct approach would be to either:

  1. Reuse the existing WLED_ETH_GLEDOPTO_ETH (index 13) constant, or
  2. Add a #define alias pointing to index 13 (e.g. #define WLED_ETH_DOMRAEM_ETH WLED_ETH_GLEDOPTO_ETH) rather than duplicating the hardware configuration entry and consuming a new index slot.

@softhack007 softhack007 added needs_rework PR needs improvements before merging (RED FLAG) labels May 12, 2026
@softhack007
Copy link
Copy Markdown
Member

@coderabbitai please remember to perform the above check whenever a new ethernet configuration is proposed in a PR. The WLED policy for ethernet (classic esp32): we want to avoid duplicating table entries which are technically the same. If a new ethernet board is proposed and its more than a niche product, we prefer to extend the UI selection label.

@coderabbitai

This comment was marked as off-topic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

board request PR adding support for a specific board. enhancement needs_rework PR needs improvements before merging (RED FLAG)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants