Skip to content

Native build#1033

Draft
jeremypoulter wants to merge 16 commits intoOpenEVSE:masterfrom
jeremypoulter:native_build
Draft

Native build#1033
jeremypoulter wants to merge 16 commits intoOpenEVSE:masterfrom
jeremypoulter:native_build

Conversation

@jeremypoulter
Copy link
Collaborator

Build on the native platform. This is to help with debug and testing.

Only tested on (and only likely to work on) Linux

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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

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