Open
Conversation
42f750b to
ea9a8e0
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds initial STM32CubeIDE/CubeMX integration scaffolding for wolfIP, and introduces a build-time flag to optionally compile the embedded HTTP server for Cube Pack componentization.
Changes:
- Add CubeMX FreeMarker template (
default_conf.ftl) to generate a wolfIP configuration header for STM32Cube projects. - Add STM32CubeIDE usage documentation under
IDE/STM32Cube/README.md. - Gate the HTTP server (
src/http/httpd.[ch]) behindWOLFIP_CONF_HTTPand update the Makefile so the existing HTTPD test/build objects compile with that flag.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/http/httpd.h | Wraps HTTPD public API behind WOLFIP_CONF_HTTP and adds <stddef.h> include. |
| src/http/httpd.c | Wraps HTTPD implementation behind WOLFIP_CONF_HTTP. |
| Makefile | Adds per-object CFLAGS to compile HTTPD/test objects with -DWOLFIP_CONF_HTTP. |
| IDE/STM32Cube/default_conf.ftl | New CubeMX template to generate platform/config defines for STM32Cube projects. |
| IDE/STM32Cube/README.md | New instructions for installing/using the wolfIP Cube Pack and optional components. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
lealem47
requested changes
Feb 9, 2026
- Removed DNS section (WOLFIP_ENABLE_DNS doesn't exist in codebase) - Added HTTP Server section: WOLFIP_CONF_HTTP → WOLFIP_ENABLE_HTTP - Fixed include guard comment: _H → ____
- Add stm32_hal_eth.c/h portable driver supporting F4, F7, H5, H7 families - Auto-detects RMII/MII interface configuration per STM32 family - Update IDE/STM32Cube/README.md with usage instructions - Update config.h with HTTP server configuration option
README: - Add GPIO pin configuration note for custom boards - Clarify ETH interrupt required for RX - Update example IP to 192.168.0.200 stm32_hal_eth.c: - Add wolfip_get_time_ms callback for CubeMX builds Tested on NUCLEO-H563ZI.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds STM32 CubeMX/CubeIDE integration for wolfIP, enabling users to add the wolfIP TCP/IP stack to any STM32 project with Ethernet via the CMSIS pack workflow.
Changes
IDE/STM32Cube/README.md— Step-by-step guide covering pack installation, CubeMX project setup (ETH + NVIC config), main.c integration code, build/flash/ping verification, troubleshooting, and TLS usage with wolfSSLIDE/STM32Cube/default_conf.ftl— FreeMarker template for CubeMX code generation; configures platform defines (WOLFIP_STM32_CUBEMX), socket pool sizes, buffer/MTU settings, and optional features (DHCP, HTTP, loopback, forwarding, debug) driven by CubeMX UI parameterssrc/port/stm32_hal/stm32_hal_eth.c+stm32_hal_eth.h— HAL-based Ethernet driver with auto-detection for STM32F4/F7/H5/H7 RMII/MII configuration; plugs into wolfIP's device interfacesrc/http/httpd.c+httpd.h— Gate HTTP server code behindWOLFIP_ENABLE_HTTPso it's not compiled on embedded targets that don't need itconfig.h— Enable HTTP by default for native/POSIX buildsMakefile— Add-DWOLFIP_ENABLE_HTTPto httpd-related build targetsTesting
pingworks. Used H5 board with .ioc example as well as from scratch tested ALC readme walk through.