feat(settings): Felder fuer den Standalone-AP-Modus

This commit is contained in:
Michael Sauer
2026-10-01 23:01:02 +02:00
parent 543123a60d
commit d4b683de8f
3 changed files with 70 additions and 0 deletions
+7
View File
@@ -62,6 +62,12 @@ typedef char nl_settings_legacy_check[offsetof(nl_settings_t, sacn_enabled) == 2
* Vorgabe. */
typedef char nl_settings_layout_offset_check[offsetof(nl_settings_t, sacn_layout) == 216 ? 1 : -1];
/* Dasselbe fuer die Standalone-Felder: standalone muss bei 220 beginnen, dem
* sizeof(nl_settings_t) der Firmware davor. Wer hier anstoesst, hat ein Feld zu frueh
* eingefuegt - dann kaeme standalone_pulse aus einem aelteren Satz als Fuellbyte (0)
* zurueck statt als Vorgabe (1), und der Startpuls waere still aus. */
typedef char nl_settings_standalone_check[offsetof(nl_settings_t, standalone) == 220 ? 1 : -1];
static uint32_t s_addr[2];
void nl_settings_defaults(nl_settings_t *s)
@@ -78,6 +84,7 @@ void nl_settings_defaults(nl_settings_t *s)
s->sacn_start_slot = 1;
s->sacn_hold = 0;
s->sacn_layout = 1;
s->standalone_pulse = 1; /* standalone, ap_channel, ap_ssid, ap_pass bleiben auf 0/leer */
}
void nl_settings_init(uint32_t addr_a, uint32_t addr_b)
+11
View File
@@ -41,6 +41,17 @@ typedef struct {
* dem vorherigen sizeof (216), sonst ueberschreibt das Fuellbyte
* eines aelteren Satzes sie. */
uint8_t _padding2[3]; /* haelt sizeof auf einem Vielfachen von 4 */
uint8_t standalone; /* Offset 220 - 1 = eigener AP statt Station. Dieselbe Regel
* wie oben: neue Felder beginnen bei oder hinter dem
* vorherigen sizeof (220), sonst ueberschreibt das
* Fuellbyte eines aelteren Satzes sie. */
uint8_t ap_channel; /* 0 = Vorgabe (6), sonst 1..13 */
uint8_t standalone_pulse; /* 1 = beim Start kurz pulsen (Vorgabe) */
uint8_t _padding3;
char ap_ssid[NL_SSID_LEN]; /* leer = "ninlight-<mac4>" */
char ap_pass[NL_PASS_LEN]; /* leer = einkompiliertes AP-Passwort. Taucht in keiner
* Antwort und in keiner Protokollzeile auf. */
uint8_t _padding4[2]; /* haelt sizeof auf einem Vielfachen von 4 (324) */
} nl_settings_t;
void nl_settings_defaults(nl_settings_t *s);