Skip to content

Refactored HTTP classes and added setup time variable HWConfig#16

Closed
IJIJI wants to merge 19 commits into
mainfrom
HTTP-Refactor+HWConfig
Closed

Refactored HTTP classes and added setup time variable HWConfig#16
IJIJI wants to merge 19 commits into
mainfrom
HTTP-Refactor+HWConfig

Conversation

@IJIJI

@IJIJI IJIJI commented May 27, 2026

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI review requested due to automatic review settings May 27, 2026 09:28

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

This PR refactors the embedded HTTP server into modular API components and adds a hardware configuration system exposed through the web UI and NVS-backed storage.

Changes:

  • Replaced the old httpServer implementation with BeaconHttpServer, EspHttpDaemon, and per-feature API classes.
  • Added hardware config models, NVS persistence, /api/hardware, and UI rendering/saving support.
  • Updated satellite entrypoints to construct config, hardware config, HTTP server, and orchestrator separately.

Reviewed changes

Copilot reviewed 32 out of 32 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
satelites/Synapt/Satelite-Pro/main/main.cpp Adds HUB75 hardware config and new HTTP/orchestrator wiring.
satelites/Huidu/HD-WF2/main/main.cpp Adds WS2812 hardware config and refactors startup wiring.
satelites/CYD/CYD-Satelite/sdkconfig.defaults Adds duplicate font-size config defaults.
satelites/CYD/CYD-Satelite/main/main.cpp Adds WS2812 hardware config and refactors startup wiring.
README.md Updates TODO status and startup notes.
components/beacon_device/ui/index.html Adds hardware config injection container.
components/beacon_device/ui/app.js Adds hardware config rendering, save splitting, and reboot polling.
components/beacon_device/orchestrator/SateliteOrchestrator.hpp Updates constructor and removes HTTP registration responsibility.
components/beacon_device/orchestrator/SateliteOrchestrator.cpp Removes HTTP lifecycle/handler registration from orchestrator startup.
components/beacon_device/orchestrator/NodeOrchestrator.hpp Inherits the updated base orchestrator constructor.
components/beacon_device/orchestrator/IOrchestrator.hpp Stores Config&, removes HTTP members, and exposes DeviceInfo.
components/beacon_device/httpServer/HttpHandlers.hpp Removes old monolithic handler declarations.
components/beacon_device/httpServer/EspHttpServer.hpp Removes old HTTP server wrapper.
components/beacon_device/http/IHttpDaemon.hpp Adds HTTP daemon abstraction.
components/beacon_device/http/IHttpApi.hpp Adds API plugin abstraction.
components/beacon_device/http/EspHttpDaemon.hpp Adds ESP-IDF HTTP daemon implementation declaration.
components/beacon_device/http/EspHttpDaemon.cpp Adds ESP-IDF HTTP daemon implementation.
components/beacon_device/http/BeaconHttpServer.hpp Adds composite HTTP server declaration.
components/beacon_device/http/BeaconHttpServer.cpp Registers built-in and plugin APIs.
components/beacon_device/http/api/StaticAssetApi.hpp Adds static asset API declaration.
components/beacon_device/http/api/StaticAssetApi.cpp Serves embedded UI assets.
components/beacon_device/http/api/HardwareConfigApi.hpp Adds hardware config API declaration.
components/beacon_device/http/api/HardwareConfigApi.cpp Implements /api/hardware GET/POST and reboot-on-save.
components/beacon_device/http/api/ConfigApi.hpp Adds config/status/scan/reboot API declaration.
components/beacon_device/http/api/ConfigApi.cpp Refactors existing config handlers into ConfigApi.
components/beacon_device/hardware/HardwareConfig.hpp Adds hardware config field/section model declarations.
components/beacon_device/hardware/HardwareConfig.cpp Implements hardware config JSON, validation, load, save, and lookup.
components/beacon_device/config/NvsHardwareStore.hpp Adds NVS-backed hardware store declaration.
components/beacon_device/config/NvsHardwareStore.cpp Implements hardware config NVS persistence.
components/beacon_device/config/IHardwareStore.hpp Adds hardware store interface.
components/beacon_device/CMakeLists.txt Registers new HTTP, hardware config, and store sources/headers.
.github/workflows/release.yml Adds release packaging TODO about NVS overwrite behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread components/beacon_device/ui/app.js Outdated
Comment thread components/beacon_device/http/api/HardwareConfigApi.cpp
Comment thread components/beacon_device/hardware/HardwareConfig.cpp
Comment thread satelites/CYD/CYD-Satelite/main/main.cpp Outdated
Comment thread satelites/CYD/CYD-Satelite/sdkconfig.defaults Outdated
Comment thread satelites/Synapt/Satelite-Pro/main/main.cpp
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 27, 2026 09:46
IJIJI and others added 2 commits May 27, 2026 11:47
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@IJIJI IJIJI closed this May 27, 2026
@IJIJI
IJIJI deleted the HTTP-Refactor+HWConfig branch May 27, 2026 09:50
@IJIJI
IJIJI removed the request for review from Copilot May 27, 2026 10:08
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