Skip to content

feat(config_httpd): add CONFIG_ML_CONFIG_HTTPD toggle, fix peer-update queue depth - #51

Merged
fudio101 merged 1 commit into
mainfrom
feat/config-httpd-toggle
Aug 18, 2026
Merged

feat(config_httpd): add CONFIG_ML_CONFIG_HTTPD toggle, fix peer-update queue depth#51
fudio101 merged 1 commit into
mainfrom
feat/config-httpd-toggle

Conversation

@fudio101

Copy link
Copy Markdown
Collaborator

Summary

  • New CONFIG_ML_CONFIG_HTTPD Kconfig option (default y) gates only the port-80 config web
    server task start — ml_config_httpd_init() still loads NVS settings unconditionally, so a
    provisioned device behaves identically with it off, while saving ~7-8KB of internal RAM on
    RAM-tight boards.
  • ML_PEER_UPDATE_QUEUE_DEPTH was an underived 400, allowing a theoretical ~80KB internal-RAM
    burst of in-flight peer-update payloads. Dropped to 32 (4x the runtime max_peers=8), capping
    the burst at ~6.6KB.
  • Adapted from antmanler/microlink@6ef9f5a0 — same logic and comments as the source commit. Not a
    literal cherry-pick: git apply --check --3way failed on unrelated line-number drift from PR fix(microlink): worker task liveness bitmask, orphan-parked teardown #47's
    teardown rewrite (not a real conflict), so this was hand-ported instead.

Closes #27

Test plan

  • idf.py build not runnable in this sandbox (no ESP-IDF installed) — needs a real build with
    CONFIG_ML_CONFIG_HTTPD=n to confirm the httpd task is actually skipped and NVS-provisioned
    settings (WiFi creds, priority peer, ctrl host, debug flags) still load and apply correctly.
  • Confirm CONFIG_ML_CONFIG_HTTPD=y (default) preserves current behavior exactly.

🤖 Generated with Claude Code

…e queue depth

CONFIG_ML_CONFIG_HTTPD (default y) gates only the port-80 httpd task
start; ml_config_httpd_init() still loads NVS settings regardless, so a
provisioned device is unaffected with it off, saving ~7-8KB of internal
RAM on RAM-tight boards.

ML_PEER_UPDATE_QUEUE_DEPTH was an underived 400, allowing a theoretical
~80KB internal-RAM burst of in-flight peer-update payloads. 32 (4x
runtime max_peers=8) caps that burst at ~6.6KB.

Adapted from antmanler/microlink@6ef9f5a0 — same logic/comments, hand-
ported rather than cherry-picked since the diff no longer applies
cleanly after PR #47's teardown rewrite shifted surrounding lines.

Closes #27

Co-authored-by: Adrian.Nguyen-Qualgo <nguyen.ndt@qualgo.net>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
@fudio101
fudio101 merged commit 5475faa into main Aug 18, 2026
13 checks passed
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.

Add CONFIG_ML_CONFIG_HTTPD toggle + fix peer-update queue depth (mined from antmanler/microlink)

2 participants