feat: implement Wi-Fi provisioning and persistent configuration

This commit is contained in:
2026-09-03 22:58:57 +03:00
parent 8ffd6dabcf
commit b10c7f5972
29 changed files with 1713 additions and 16 deletions
+29
View File
@@ -12,4 +12,33 @@ cc -std=c11 -Wall -Wextra -Werror -pedantic \
-o "$test_directory/test_health"
"$test_directory/test_health"
cc -std=c11 -Wall -Wextra -Werror -pedantic \
-I"$project_directory/components/maze32_config/include" \
"$project_directory/components/maze32_config/maze32_wifi_config.c" \
"$project_directory/test/host/test_wifi_config.c" \
-o "$test_directory/test_wifi_config"
"$test_directory/test_wifi_config"
cc -std=c11 -Wall -Wextra -Werror -pedantic \
-I"$project_directory/test/host/fakes" \
-I"$project_directory/components/maze32_config/include" \
"$project_directory/components/maze32_config/maze32_wifi_config.c" \
"$project_directory/components/maze32_config/maze32_config_store.c" \
"$project_directory/test/host/fake_nvs.c" \
"$project_directory/test/host/test_config_store.c" \
-o "$test_directory/test_config_store"
"$test_directory/test_config_store"
cc -std=c11 -Wall -Wextra -Werror -pedantic \
-I"$project_directory/components/maze32_config/include" \
-I"$project_directory/components/maze32_network/include" \
"$project_directory/components/maze32_config/maze32_wifi_config.c" \
"$project_directory/components/maze32_network/maze32_provisioning_protocol.c" \
"$project_directory/test/host/test_provisioning_protocol.c" \
-o "$test_directory/test_provisioning_protocol"
"$test_directory/test_provisioning_protocol"
python3 "$project_directory/scripts/verify_web_assets.py"
+5
View File
@@ -46,6 +46,11 @@ def main() -> int:
if gzip.decompress(index_compressed) != index_source:
raise AssertionError("Compressed index does not reproduce its source")
provision_source = (source_directory / "provision.html").read_bytes()
provision_compressed = (first / "provision.html.gz").read_bytes()
if gzip.decompress(provision_compressed) != provision_source:
raise AssertionError("Compressed provisioning page does not reproduce its source")
print(f"web asset reproducibility: PASS ({first_digest})")
return 0