Add firmware slices 1–2: skeleton and Wi-Fi provisioning

Implement ESP-IDF walking skeleton with SoftAP, health API, and host
tests, then Slice 2 ISecureStore/NvsSecureStore, STA join, POST
/api/wifi, and the provisioning web UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-06 09:10:37 +02:00
co-authored by Cursor
parent 9f04c4bb0c
commit ddbee70c23
63 changed files with 3771 additions and 19 deletions
@@ -0,0 +1,58 @@
/**
* @file SoftApConfig.cpp
* @brief SoftApConfig implementation.
*
* DigiRadio firmware — https://github.com/manvalan/DigiRadio
*
* Copyright 2026 Michele Bigi
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
*
* @author Michele Bigi
* @date 2026-07-06
*/
#include "net/SoftApConfig.hpp"
namespace net {
namespace {
constexpr std::string_view kSetupSsid = "DigiRadio-setup";
constexpr std::uint8_t kSetupChannel = 1;
constexpr std::uint8_t kSetupMaxConnections = 4;
} // namespace
SoftApConfig SoftApConfig::setupDefault()
{
return SoftApConfig(kSetupSsid, kSetupChannel, kSetupMaxConnections);
}
SoftApConfig::SoftApConfig(std::string_view ssid,
std::uint8_t channel,
std::uint8_t maxConnections)
: ssid_(ssid)
, channel_(channel)
, maxConnections_(maxConnections)
{
}
std::string_view SoftApConfig::ssid() const noexcept
{
return ssid_;
}
std::uint8_t SoftApConfig::channel() const noexcept
{
return channel_;
}
std::uint8_t SoftApConfig::maxConnections() const noexcept
{
return maxConnections_;
}
} // namespace net