feat: WLAN-Treiber mit Onboarding-AP, Build-Credentials und Befehl net

This commit is contained in:
Michael Sauer
2026-09-11 22:50:43 +02:00
parent 2f7cadaeee
commit 4c2f9e5374
12 changed files with 361 additions and 4 deletions
+25 -1
View File
@@ -20,6 +20,25 @@ if(NOT DEFINED NINLIGHT_TOKEN)
set(NINLIGHT_TOKEN "aabbccddeeff0011223344")
endif()
if(NOT DEFINED NINLIGHT_WIFI_SSID)
set(NINLIGHT_WIFI_SSID "")
endif()
if(NOT DEFINED NINLIGHT_WIFI_PASSWORD)
set(NINLIGHT_WIFI_PASSWORD "")
endif()
if(NOT DEFINED NINLIGHT_AP_PASSWORD)
set(NINLIGHT_AP_PASSWORD "ninlight")
endif()
string(LENGTH "${NINLIGHT_AP_PASSWORD}" _nl_ap_len)
if(_nl_ap_len LESS 8)
message(FATAL_ERROR "NINLIGHT_AP_PASSWORD needs at least 8 characters (WPA2)")
endif()
foreach(_v NINLIGHT_WIFI_SSID NINLIGHT_WIFI_PASSWORD NINLIGHT_AP_PASSWORD NINLIGHT_TOKEN)
if("${${_v}}" MATCHES "[\"\\\\]")
message(FATAL_ERROR "${_v} must not contain \" or \\")
endif()
endforeach()
include(cmake/version.cmake)
include(cmake/sdk.cmake)
include(cmake/image.cmake)
@@ -48,6 +67,8 @@ set(NL_FW_SOURCES
src/net/nl_http.c
src/net/nl_api.c
src/net/nl_wifi_sm.c
src/net/nl_wifi_w600.c
src/net/nl_mdns.c
third_party/cJSON/cJSON.c)
set(NL_FW ninlight_${NINLIGHT_DEVICE})
@@ -57,7 +78,10 @@ target_compile_definitions(${NL_FW} PRIVATE
NINLIGHT_DEVICE_ID="${NINLIGHT_DEVICE}"
NINLIGHT_FW_VERSION="${NINLIGHT_FW_VERSION}"
NINLIGHT_BUILD_DATE="${NINLIGHT_BUILD_DATE}"
NINLIGHT_TOKEN_DEFAULT="${NINLIGHT_TOKEN}")
NINLIGHT_TOKEN_DEFAULT="${NINLIGHT_TOKEN}"
NINLIGHT_WIFI_SSID="${NINLIGHT_WIFI_SSID}"
NINLIGHT_WIFI_PASSWORD="${NINLIGHT_WIFI_PASSWORD}"
NINLIGHT_AP_PASSWORD="${NINLIGHT_AP_PASSWORD}")
target_link_options(${NL_FW} PRIVATE
-static -nostartfiles -T${SDK_DIR}/ld/link_w600_2m.ld
-Wl,-Map=${CMAKE_BINARY_DIR}/${NL_FW}.map)