wifi connection established by app, process socket binding, primary os connection untouched

This commit is contained in:
Constantin Leue
2026-07-31 15:25:45 +02:00
parent 222d8743fb
commit 3b3451b8a2
16 changed files with 1188 additions and 89 deletions
@@ -22,6 +22,7 @@ class AppSettingsRepository {
ConnectionType connectionType,
String? connectionWifiHost,
int connectionWifiPort,
String connectionWifiSsidPrefix,
})> load() async {
final row = await (_db.select(_db.appSettingsTable)
..where((s) => s.id.equals(_rowId)))
@@ -37,6 +38,8 @@ class AppSettingsRepository {
),
connectionWifiHost: row?.connectionWifiHost,
connectionWifiPort: row?.connectionWifiPort ?? kDefaultWifiPort,
connectionWifiSsidPrefix:
row?.connectionWifiSsidPrefix ?? kDefaultWifiSsidPrefix,
);
}
@@ -104,6 +107,18 @@ class AppSettingsRepository {
));
}
/// SSID-Praefix fuer den app-initiierten WLAN-Verbindungsaufbau (Doku
/// Kommunikationsschicht v2 Abschnitt 4/8), Standard "mLRS-".
Future<String> loadConnectionWifiSsidPrefix() async =>
(await load()).connectionWifiSsidPrefix;
Future<void> setConnectionWifiSsidPrefix(String prefix) async {
await _upsert(AppSettingsTableCompanion(
id: const Value(_rowId),
connectionWifiSsidPrefix: Value(prefix),
));
}
Future<void> _upsert(AppSettingsTableCompanion companion) async {
await _db.into(_db.appSettingsTable).insertOnConflictUpdate(companion);
}