Skip to content

Feat/bsp ethernet kit a v12#677

Open
guo-max wants to merge 5 commits into
mainfrom
feat/bsp_Ethernet_kit_A_V12
Open

Feat/bsp ethernet kit a v12#677
guo-max wants to merge 5 commits into
mainfrom
feat/bsp_Ethernet_kit_A_V12

Conversation

@guo-max

@guo-max guo-max commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

Description

bsp for Esp32-Ethernet-kit-A-v1.2

Motivation and Context

Lots of rtps_embedded example use this board to test. Better to have a bsp for it.

How has this been tested?

Tested with the esp32-ethernt-kit-A-V1.2 as a DHCP server and connect it to a ethernet switch. Connect another dhcp client to the switch and this dev-kit (dhcp Server) should assign a new ip to the client.

Screenshots (if appropriate, e.g. schematic, board, console logs, lab pictures):

image

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Update
  • Hardware (schematic, board, system design) change
  • Software change

Checklist:

  • My change requires a change to the documentation.
  • I have added / updated the documentation related to this change via either README or WIKI

Software

  • I have added tests to cover my changes.
  • I have updated the .github/workflows/build.yml file to add my new test to the automated cloud build github action.
  • All new and existing tests passed.
  • My code follows the code style of this project.

Hardware

  • I have updated the design files (schematic, board, libraries).
  • I have attached the PDFs of the SCH / BRD to this PR
  • I have updated the design output (GERBER, BOM) files.

@guo-max
guo-max requested review from Copilot and finger563 and removed request for Copilot July 24, 2026 20:09
@github-actions

Copy link
Copy Markdown

✅Static analysis result - no issues found! ✅

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new ESPP Board Support Package (BSP) component for the Espressif ESP32-Ethernet-Kit A V1.2, including documentation and an example project, to make it easier to bring up Ethernet in DHCP client or DHCP server mode on this commonly used test board.

Changes:

  • Introduces the new components/esp32-ethernet-kit component implementing Ethernet init + DHCP client/server support.
  • Adds an ESP-IDF example app (with Kconfig options) demonstrating client/server modes.
  • Integrates the board/component into the documentation set (Sphinx pages + Doxygen inputs/example paths).

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
doc/en/dev_boards/espressif/index.rst Adds the new board page to the Espressif dev boards toctree.
doc/en/dev_boards/espressif/esp32_ethernet_kit.rst New board documentation page describing DHCP modes, warnings, and pin mapping.
doc/en/dev_boards/espressif/esp32_ethernet_kit_example.md Adds doc page that includes the example README.
doc/Doxyfile Registers the new component header and example for Doxygen/Sphinx API integration.
components/esp32-ethernet-kit/src/esp32-ethernet-kit.cpp Implements Ethernet bring-up, event handling, and DHCP client/server behavior.
components/esp32-ethernet-kit/include/esp32-ethernet-kit.hpp Public BSP API for initializing Ethernet and receiving link/IP callbacks.
components/esp32-ethernet-kit/README.md Component-level README documenting capabilities and usage snippets.
components/esp32-ethernet-kit/idf_component.yml ESP Component Manager manifest for publishing/consuming the component.
components/esp32-ethernet-kit/CMakeLists.txt Component build registration and dependencies for ESP-IDF.
components/esp32-ethernet-kit/example/CMakeLists.txt Example project CMake configuration wiring in repository components.
components/esp32-ethernet-kit/example/sdkconfig.defaults Example defaults enabling Ethernet + PHY and related settings.
components/esp32-ethernet-kit/example/README.md Example README with build/flash instructions.
components/esp32-ethernet-kit/example/main/CMakeLists.txt Example “main” component registration for ESP-IDF build.
components/esp32-ethernet-kit/example/main/Kconfig.projbuild Kconfig options for selecting DHCP mode and server static IP parameters.
components/esp32-ethernet-kit/example/main/esp32_ethernet_kit_example.cpp Example app demonstrating DHCP client or DHCP server operation.

Comment on lines +64 to +67
struct ServerConfig {
esp_netif_ip_info_t ip_info; ///< IP / netmask / gateway; zero → 192.168.4.1/24
client_ip_callback_t on_client_assigned; ///< Called each time a client is assigned an IP
};
Comment on lines +175 to +179
ret = esp_netif_init();
if (ret != ESP_OK) {
logger_.error("esp_netif_init failed: {}", esp_err_to_name(ret));
return false;
}
Comment thread doc/Doxyfile
Comment on lines 106 to 109
$(PROJECT_PATH)/components/esp32-timer-cam/example/main/esp_timer_cam_example.cpp \
$(PROJECT_PATH)/components/esp32-ethernet-kit/example/main/esp32_ethernet_kit_example.cpp \
$(PROJECT_PATH)/components/esp32-p4-function-ev-board/example/main/esp32_p4_function_ev_board_example.cpp \
$(PROJECT_PATH)/components/esp-box/example/main/esp_box_example.cpp \
Comment thread doc/Doxyfile
Comment on lines 258 to 261
$(PROJECT_PATH)/components/esp32-timer-cam/include/esp32-timer-cam.hpp \
$(PROJECT_PATH)/components/esp32-ethernet-kit/include/esp32-ethernet-kit.hpp \
$(PROJECT_PATH)/components/esp32-p4-function-ev-board/include/esp32-p4-function-ev-board.hpp \
$(PROJECT_PATH)/components/esp-box/include/esp-box.hpp \
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