Draft
Conversation
This allows building with different SSL libaries, to support initial native builds.
EpoxyDuino has the button low by default
Contributor
There was a problem hiding this comment.
Pull request overview
This pull request adds native platform build support to enable local development, debugging, and testing without ESP32 hardware. The implementation creates a certificate validator abstraction layer to support both mbedTLS (for ESP32) and OpenSSL (for native Linux builds).
Changes:
- Created a certificate validator abstraction with platform-specific implementations (mbedTLS for ESP32, OpenSSL for native)
- Added native build environment configuration in platformio.ini using EpoxyDuino framework
- Made HTTP/HTTPS ports configurable to support non-privileged ports on native builds
- Added EPOXY_DUINO platform support in network manager
- Updated library dependencies and refactored build flags organization
Reviewed changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| src/certificate_validator.h | New abstraction interface for certificate validation operations |
| src/certificate_validator_openssl.cpp | OpenSSL-based certificate validator implementation for native builds |
| src/certificate_validator_mbedtls.cpp | mbedTLS-based certificate validator implementation for ESP32 |
| src/certificates.cpp | Refactored to use the new validator abstraction instead of direct mbedTLS calls |
| src/web_server.cpp | Made HTTP/HTTPS server ports configurable via preprocessor defines |
| src/net_manager.h | Added conditional compilation support for EPOXY_DUINO platform |
| src/net_manager.cpp | Fixed hardcoded LOW to use WIFI_BUTTON_PRESSED_STATE constant |
| platformio.ini | Added native environment config, updated library versions, reorganized build flags |
| .gitignore | Added EpoxyDuino directories and native build artifacts |
| .github/workflows/build.yaml | Added native environment to CI build matrix |
…er ports to be configured
…ial ports and mor importantly the new emulator
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.
Build on the native platform. This is to help with debug and testing.
Only tested on (and only likely to work on) Linux