mirror of
https://github.com/zjs81/meshcore-open.git
synced 2026-04-20 22:13:48 +00:00
Refactor radio settings and localization updates
fixes #72 - Removed preset configurations for 915 MHz, 868 MHz, and 433 MHz from the RadioSettings model. - Introduced a new list of regional preset configurations for various countries. - Updated the settings screen to use a dropdown for selecting presets instead of chips. - Added a switch for enabling client repeat functionality with appropriate warnings for frequency usage. - Updated localization files for multiple languages to reflect changes in settings related to client repeat functionality.
This commit is contained in:
parent
72f0aa7208
commit
947fafbbb7
35 changed files with 660 additions and 526 deletions
|
|
@ -90,6 +90,8 @@ class MeshCoreConnector extends ChangeNotifier {
|
|||
int? _currentBwHz;
|
||||
int? _currentSf;
|
||||
int? _currentCr;
|
||||
bool? _clientRepeat;
|
||||
int? _firmwareVerCode;
|
||||
int? _batteryMillivolts;
|
||||
double? _selfLatitude;
|
||||
double? _selfLongitude;
|
||||
|
|
@ -200,6 +202,8 @@ class MeshCoreConnector extends ChangeNotifier {
|
|||
int? get currentBwHz => _currentBwHz;
|
||||
int? get currentSf => _currentSf;
|
||||
int? get currentCr => _currentCr;
|
||||
bool? get clientRepeat => _clientRepeat;
|
||||
int? get firmwareVerCode => _firmwareVerCode;
|
||||
Map<String, String>? get currentCustomVars => _currentCustomVars;
|
||||
int? get batteryMillivolts => _batteryMillivolts;
|
||||
int get maxContacts => _maxContacts;
|
||||
|
|
@ -916,6 +920,8 @@ class MeshCoreConnector extends ChangeNotifier {
|
|||
_selfName = null;
|
||||
_selfLatitude = null;
|
||||
_selfLongitude = null;
|
||||
_clientRepeat = null;
|
||||
_firmwareVerCode = null;
|
||||
_batteryMillivolts = null;
|
||||
_batteryRequested = false;
|
||||
_awaitingSelfInfo = false;
|
||||
|
|
@ -1820,6 +1826,13 @@ class MeshCoreConnector extends ChangeNotifier {
|
|||
|
||||
void _handleDeviceInfo(Uint8List frame) {
|
||||
if (frame.length < 4) return;
|
||||
_firmwareVerCode = frame[1];
|
||||
|
||||
// Parse client_repeat from firmware v9+ (byte 80)
|
||||
if (frame.length >= 81) {
|
||||
_clientRepeat = frame[80] != 0;
|
||||
}
|
||||
|
||||
// Firmware reports MAX_CONTACTS / 2 for v3+ device info.
|
||||
final reportedContacts = frame[2];
|
||||
final reportedChannels = frame[3];
|
||||
|
|
@ -1840,8 +1853,8 @@ class MeshCoreConnector extends ChangeNotifier {
|
|||
unawaited(getChannels(maxChannels: nextMaxChannels));
|
||||
}
|
||||
}
|
||||
notifyListeners();
|
||||
}
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
void _handleNoMoreMessages() {
|
||||
|
|
|
|||
|
|
@ -550,18 +550,24 @@ Uint8List buildSetChannelFrame(int channelIndex, String name, Uint8List psk) {
|
|||
}
|
||||
|
||||
// Build CMD_SET_RADIO_PARAMS frame
|
||||
// Format: [cmd][freq x4][bw x4][sf][cr]
|
||||
// Format: [cmd][freq x4][bw x4][sf][cr] (pre-v9)
|
||||
// [cmd][freq x4][bw x4][sf][cr][repeat] (firmware v9+)
|
||||
// freq: frequency in Hz (300000-2500000)
|
||||
// bw: bandwidth in Hz (7000-500000)
|
||||
// sf: spreading factor (5-12)
|
||||
// cr: coding rate (5-8)
|
||||
Uint8List buildSetRadioParamsFrame(int freqHz, int bwHz, int sf, int cr) {
|
||||
// clientRepeat: enable off-grid packet repeat (firmware v9+, omit for older)
|
||||
Uint8List buildSetRadioParamsFrame(int freqHz, int bwHz, int sf, int cr,
|
||||
{bool? clientRepeat}) {
|
||||
final writer = BufferWriter();
|
||||
writer.writeByte(cmdSetRadioParams);
|
||||
writer.writeUInt32LE(freqHz);
|
||||
writer.writeUInt32LE(bwHz);
|
||||
writer.writeByte(sf);
|
||||
writer.writeByte(cr);
|
||||
if (clientRepeat != null) {
|
||||
writer.writeByte(clientRepeat ? 1 : 0);
|
||||
}
|
||||
return writer.toBytes();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -131,9 +131,6 @@
|
|||
"settings_infoContactsCount": "Брой контакти",
|
||||
"settings_infoChannelCount": "Брой канали",
|
||||
"settings_presets": "Предварителни настройки",
|
||||
"settings_preset915Mhz": "915 MHz",
|
||||
"settings_preset868Mhz": "868 MHz",
|
||||
"settings_preset433Mhz": "433 MHz",
|
||||
"settings_frequency": "Честота (MHz)",
|
||||
"settings_frequencyHelper": "300.0 - 2500.0",
|
||||
"settings_frequencyInvalid": "Невалидна честота (300-2500 MHz)",
|
||||
|
|
@ -143,8 +140,6 @@
|
|||
"settings_txPower": "TX Мощност (dBm)",
|
||||
"settings_txPowerHelper": "0 - 22",
|
||||
"settings_txPowerInvalid": "Невалидна мощност на TX (0-22 dBm)",
|
||||
"settings_longRange": "Дълъг обхват",
|
||||
"settings_fastSpeed": "Бърза скорост",
|
||||
"settings_error": "Грешка: {message}",
|
||||
"@settings_error": {
|
||||
"placeholders": {
|
||||
|
|
@ -1598,5 +1593,8 @@
|
|||
"map_tapToAdd": "Натиснете върху възлите, за да ги добавите към пътя.",
|
||||
"scanner_bluetoothOff": "Bluetooth е изключен.",
|
||||
"scanner_enableBluetooth": "Активирайте Bluetooth",
|
||||
"scanner_bluetoothOffMessage": "Моля, активирайте Bluetooth, за да сканирате за устройства."
|
||||
"scanner_bluetoothOffMessage": "Моля, активирайте Bluetooth, за да сканирате за устройства.",
|
||||
"settings_clientRepeatSubtitle": "Позволете на това устройство да предава пакети към мрежата за други устройства.",
|
||||
"settings_clientRepeatFreqWarning": "За повторение извън мрежата са необходими честоти от 433, 869 или 918 MHz.",
|
||||
"settings_clientRepeat": "Без електричество – повторение"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -131,9 +131,6 @@
|
|||
"settings_infoContactsCount": "Anzahl Kontakte",
|
||||
"settings_infoChannelCount": "Anzahl Kanäle",
|
||||
"settings_presets": "Voreinstellungen",
|
||||
"settings_preset915Mhz": "915 MHz",
|
||||
"settings_preset868Mhz": "868 MHz",
|
||||
"settings_preset433Mhz": "433 MHz",
|
||||
"settings_frequency": "Frequenz (MHz)",
|
||||
"settings_frequencyHelper": "300,00 - 2.500,00",
|
||||
"settings_frequencyInvalid": "Ungültige Frequenz (300-2500 MHz)",
|
||||
|
|
@ -143,8 +140,6 @@
|
|||
"settings_txPower": "TX-Leistung (dBm)",
|
||||
"settings_txPowerHelper": "0 - 22",
|
||||
"settings_txPowerInvalid": "Ungültige TX-Leistung (0-22 dBm)",
|
||||
"settings_longRange": "Grosse Reichweite",
|
||||
"settings_fastSpeed": "Schnelle Geschwindigkeit",
|
||||
"settings_error": "Fehler: {message}",
|
||||
"@settings_error": {
|
||||
"placeholders": {
|
||||
|
|
@ -1626,5 +1621,8 @@
|
|||
"map_pathTraceCancelled": "Pfadverfolgung abgebrochen.",
|
||||
"scanner_bluetoothOffMessage": "Bitte aktivieren Sie Bluetooth, um nach Geräten zu suchen.",
|
||||
"scanner_bluetoothOff": "Bluetooth ist deaktiviert.",
|
||||
"scanner_enableBluetooth": "Bluetooth aktivieren"
|
||||
"scanner_enableBluetooth": "Bluetooth aktivieren",
|
||||
"settings_clientRepeat": "Wiederholung, ohne Stromanschluss",
|
||||
"settings_clientRepeatFreqWarning": "Die Kommunikation ohne Stromversorgung erfordert Frequenzen von 433, 869 oder 918 MHz.",
|
||||
"settings_clientRepeatSubtitle": "Ermöglichen Sie diesem Gerät, Mesh-Pakete für andere zu wiederholen."
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -131,9 +131,6 @@
|
|||
"settings_infoContactsCount": "Número de contactos",
|
||||
"settings_infoChannelCount": "Número de canales",
|
||||
"settings_presets": "Preajustes",
|
||||
"settings_preset915Mhz": "915 MHz",
|
||||
"settings_preset868Mhz": "868 MHz",
|
||||
"settings_preset433Mhz": "433 MHz",
|
||||
"settings_frequency": "Frecuencia (MHz)",
|
||||
"settings_frequencyHelper": "300,0 - 2500,0",
|
||||
"settings_frequencyInvalid": "Frecuencia inválida (300-2500 MHz)",
|
||||
|
|
@ -143,8 +140,6 @@
|
|||
"settings_txPower": "TX Potencia (dBm)",
|
||||
"settings_txPowerHelper": "0 - 22",
|
||||
"settings_txPowerInvalid": "Potencia de TX inválida (0-22 dBm)",
|
||||
"settings_longRange": "Largo Alcance",
|
||||
"settings_fastSpeed": "Velocidad Rápida",
|
||||
"settings_error": "Error: {message}",
|
||||
"@settings_error": {
|
||||
"placeholders": {
|
||||
|
|
@ -1626,5 +1621,8 @@
|
|||
"map_pathTraceCancelled": "Rastreo de ruta cancelado.",
|
||||
"scanner_bluetoothOffMessage": "Por favor, active el Bluetooth para escanear dispositivos.",
|
||||
"scanner_bluetoothOff": "Bluetooth está desactivado.",
|
||||
"scanner_enableBluetooth": "Habilitar Bluetooth"
|
||||
"scanner_enableBluetooth": "Habilitar Bluetooth",
|
||||
"settings_clientRepeatFreqWarning": "Para la comunicación fuera de la red, se requiere una frecuencia de 433, 869 o 918 MHz.",
|
||||
"settings_clientRepeat": "Repetir sin conexión",
|
||||
"settings_clientRepeatSubtitle": "Permita que este dispositivo repita los paquetes de red para otros usuarios."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -131,9 +131,6 @@
|
|||
"settings_infoContactsCount": "Nombre de contacts",
|
||||
"settings_infoChannelCount": "Nombre de canaux",
|
||||
"settings_presets": "Préréglages",
|
||||
"settings_preset915Mhz": "915 MHz",
|
||||
"settings_preset868Mhz": "868 MHz",
|
||||
"settings_preset433Mhz": "433 MHz",
|
||||
"settings_frequency": "Fréquence (MHz)",
|
||||
"settings_frequencyHelper": "300,0 - 2 500,0",
|
||||
"settings_frequencyInvalid": "Fréquence invalide (300-2500 MHz)",
|
||||
|
|
@ -143,8 +140,6 @@
|
|||
"settings_txPower": "TX Puissance (dBm)",
|
||||
"settings_txPowerHelper": "0 - 22",
|
||||
"settings_txPowerInvalid": "Puissance TX invalide (0-22 dBm)",
|
||||
"settings_longRange": "Portée Longue",
|
||||
"settings_fastSpeed": "Vitesse Rapide",
|
||||
"settings_error": "Erreur : {message}",
|
||||
"@settings_error": {
|
||||
"placeholders": {
|
||||
|
|
@ -1598,5 +1593,8 @@
|
|||
"map_runTrace": "Exécuter la traçage de chemin",
|
||||
"scanner_bluetoothOffMessage": "Veuillez activer le Bluetooth pour rechercher des appareils.",
|
||||
"scanner_bluetoothOff": "Le Bluetooth est désactivé.",
|
||||
"scanner_enableBluetooth": "Activer le Bluetooth"
|
||||
"scanner_enableBluetooth": "Activer le Bluetooth",
|
||||
"settings_clientRepeatFreqWarning": "Pour les transmissions hors réseau, il est nécessaire d'utiliser les fréquences de 433, 869 ou 918 MHz.",
|
||||
"settings_clientRepeatSubtitle": "Permettez à cet appareil de répéter les paquets de données pour les autres.",
|
||||
"settings_clientRepeat": "Répétition hors réseau"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -131,9 +131,6 @@
|
|||
"settings_infoContactsCount": "Numero contatti",
|
||||
"settings_infoChannelCount": "Numero Canale",
|
||||
"settings_presets": "Preset",
|
||||
"settings_preset915Mhz": "915 MHz",
|
||||
"settings_preset868Mhz": "868 MHz",
|
||||
"settings_preset433Mhz": "433 MHz",
|
||||
"settings_frequency": "Frequenza (MHz)",
|
||||
"settings_frequencyHelper": "300,0 - 2500,0",
|
||||
"settings_frequencyInvalid": "Frequenza non valida (300-2500 MHz)",
|
||||
|
|
@ -143,8 +140,6 @@
|
|||
"settings_txPower": "TX Potenza (dBm)",
|
||||
"settings_txPowerHelper": "0 - 22",
|
||||
"settings_txPowerInvalid": "Potere TX non valido (0-22 dBm)",
|
||||
"settings_longRange": "Lungo Raggio",
|
||||
"settings_fastSpeed": "Velocità Rapida",
|
||||
"settings_error": "Errore: {message}",
|
||||
"@settings_error": {
|
||||
"placeholders": {
|
||||
|
|
@ -1598,5 +1593,8 @@
|
|||
"map_tapToAdd": "Tocca i nodi per aggiungerli al percorso.",
|
||||
"scanner_bluetoothOff": "Il Bluetooth è disattivato.",
|
||||
"scanner_bluetoothOffMessage": "Si prega di attivare il Bluetooth per effettuare la scansione dei dispositivi.",
|
||||
"scanner_enableBluetooth": "Abilita il Bluetooth"
|
||||
"scanner_enableBluetooth": "Abilita il Bluetooth",
|
||||
"settings_clientRepeat": "Ripetizione \"fuori dalla rete\"",
|
||||
"settings_clientRepeatFreqWarning": "Per la comunicazione fuori rete, è necessario utilizzare frequenze di 433, 869 o 918 MHz.",
|
||||
"settings_clientRepeatSubtitle": "Permetti a questo dispositivo di ripetere i pacchetti di rete per gli altri."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -748,24 +748,6 @@ abstract class AppLocalizations {
|
|||
/// **'Presets'**
|
||||
String get settings_presets;
|
||||
|
||||
/// No description provided for @settings_preset915Mhz.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'915 MHz'**
|
||||
String get settings_preset915Mhz;
|
||||
|
||||
/// No description provided for @settings_preset868Mhz.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'868 MHz'**
|
||||
String get settings_preset868Mhz;
|
||||
|
||||
/// No description provided for @settings_preset433Mhz.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'433 MHz'**
|
||||
String get settings_preset433Mhz;
|
||||
|
||||
/// No description provided for @settings_frequency.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
@ -820,17 +802,23 @@ abstract class AppLocalizations {
|
|||
/// **'Invalid TX power (0-22 dBm)'**
|
||||
String get settings_txPowerInvalid;
|
||||
|
||||
/// No description provided for @settings_longRange.
|
||||
/// No description provided for @settings_clientRepeat.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Long Range'**
|
||||
String get settings_longRange;
|
||||
/// **'Off-Grid Repeat'**
|
||||
String get settings_clientRepeat;
|
||||
|
||||
/// No description provided for @settings_fastSpeed.
|
||||
/// No description provided for @settings_clientRepeatSubtitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Fast Speed'**
|
||||
String get settings_fastSpeed;
|
||||
/// **'Allow this device to repeat mesh packets for others'**
|
||||
String get settings_clientRepeatSubtitle;
|
||||
|
||||
/// No description provided for @settings_clientRepeatFreqWarning.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Off-grid repeat requires 433, 869, or 918 MHz frequency'**
|
||||
String get settings_clientRepeatFreqWarning;
|
||||
|
||||
/// No description provided for @settings_error.
|
||||
///
|
||||
|
|
|
|||
|
|
@ -350,15 +350,6 @@ class AppLocalizationsBg extends AppLocalizations {
|
|||
@override
|
||||
String get settings_presets => 'Предварителни настройки';
|
||||
|
||||
@override
|
||||
String get settings_preset915Mhz => '915 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset868Mhz => '868 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset433Mhz => '433 MHz';
|
||||
|
||||
@override
|
||||
String get settings_frequency => 'Честота (MHz)';
|
||||
|
||||
|
|
@ -387,10 +378,15 @@ class AppLocalizationsBg extends AppLocalizations {
|
|||
String get settings_txPowerInvalid => 'Невалидна мощност на TX (0-22 dBm)';
|
||||
|
||||
@override
|
||||
String get settings_longRange => 'Дълъг обхват';
|
||||
String get settings_clientRepeat => 'Без електричество – повторение';
|
||||
|
||||
@override
|
||||
String get settings_fastSpeed => 'Бърза скорост';
|
||||
String get settings_clientRepeatSubtitle =>
|
||||
'Позволете на това устройство да предава пакети към мрежата за други устройства.';
|
||||
|
||||
@override
|
||||
String get settings_clientRepeatFreqWarning =>
|
||||
'За повторение извън мрежата са необходими честоти от 433, 869 или 918 MHz.';
|
||||
|
||||
@override
|
||||
String settings_error(String message) {
|
||||
|
|
|
|||
|
|
@ -344,15 +344,6 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
@override
|
||||
String get settings_presets => 'Voreinstellungen';
|
||||
|
||||
@override
|
||||
String get settings_preset915Mhz => '915 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset868Mhz => '868 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset433Mhz => '433 MHz';
|
||||
|
||||
@override
|
||||
String get settings_frequency => 'Frequenz (MHz)';
|
||||
|
||||
|
|
@ -381,10 +372,15 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
String get settings_txPowerInvalid => 'Ungültige TX-Leistung (0-22 dBm)';
|
||||
|
||||
@override
|
||||
String get settings_longRange => 'Grosse Reichweite';
|
||||
String get settings_clientRepeat => 'Wiederholung, ohne Stromanschluss';
|
||||
|
||||
@override
|
||||
String get settings_fastSpeed => 'Schnelle Geschwindigkeit';
|
||||
String get settings_clientRepeatSubtitle =>
|
||||
'Ermöglichen Sie diesem Gerät, Mesh-Pakete für andere zu wiederholen.';
|
||||
|
||||
@override
|
||||
String get settings_clientRepeatFreqWarning =>
|
||||
'Die Kommunikation ohne Stromversorgung erfordert Frequenzen von 433, 869 oder 918 MHz.';
|
||||
|
||||
@override
|
||||
String settings_error(String message) {
|
||||
|
|
|
|||
|
|
@ -342,15 +342,6 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
@override
|
||||
String get settings_presets => 'Presets';
|
||||
|
||||
@override
|
||||
String get settings_preset915Mhz => '915 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset868Mhz => '868 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset433Mhz => '433 MHz';
|
||||
|
||||
@override
|
||||
String get settings_frequency => 'Frequency (MHz)';
|
||||
|
||||
|
|
@ -379,10 +370,15 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
String get settings_txPowerInvalid => 'Invalid TX power (0-22 dBm)';
|
||||
|
||||
@override
|
||||
String get settings_longRange => 'Long Range';
|
||||
String get settings_clientRepeat => 'Off-Grid Repeat';
|
||||
|
||||
@override
|
||||
String get settings_fastSpeed => 'Fast Speed';
|
||||
String get settings_clientRepeatSubtitle =>
|
||||
'Allow this device to repeat mesh packets for others';
|
||||
|
||||
@override
|
||||
String get settings_clientRepeatFreqWarning =>
|
||||
'Off-grid repeat requires 433, 869, or 918 MHz frequency';
|
||||
|
||||
@override
|
||||
String settings_error(String message) {
|
||||
|
|
|
|||
|
|
@ -347,15 +347,6 @@ class AppLocalizationsEs extends AppLocalizations {
|
|||
@override
|
||||
String get settings_presets => 'Preajustes';
|
||||
|
||||
@override
|
||||
String get settings_preset915Mhz => '915 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset868Mhz => '868 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset433Mhz => '433 MHz';
|
||||
|
||||
@override
|
||||
String get settings_frequency => 'Frecuencia (MHz)';
|
||||
|
||||
|
|
@ -384,10 +375,15 @@ class AppLocalizationsEs extends AppLocalizations {
|
|||
String get settings_txPowerInvalid => 'Potencia de TX inválida (0-22 dBm)';
|
||||
|
||||
@override
|
||||
String get settings_longRange => 'Largo Alcance';
|
||||
String get settings_clientRepeat => 'Repetir sin conexión';
|
||||
|
||||
@override
|
||||
String get settings_fastSpeed => 'Velocidad Rápida';
|
||||
String get settings_clientRepeatSubtitle =>
|
||||
'Permita que este dispositivo repita los paquetes de red para otros usuarios.';
|
||||
|
||||
@override
|
||||
String get settings_clientRepeatFreqWarning =>
|
||||
'Para la comunicación fuera de la red, se requiere una frecuencia de 433, 869 o 918 MHz.';
|
||||
|
||||
@override
|
||||
String settings_error(String message) {
|
||||
|
|
|
|||
|
|
@ -348,15 +348,6 @@ class AppLocalizationsFr extends AppLocalizations {
|
|||
@override
|
||||
String get settings_presets => 'Préréglages';
|
||||
|
||||
@override
|
||||
String get settings_preset915Mhz => '915 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset868Mhz => '868 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset433Mhz => '433 MHz';
|
||||
|
||||
@override
|
||||
String get settings_frequency => 'Fréquence (MHz)';
|
||||
|
||||
|
|
@ -385,10 +376,15 @@ class AppLocalizationsFr extends AppLocalizations {
|
|||
String get settings_txPowerInvalid => 'Puissance TX invalide (0-22 dBm)';
|
||||
|
||||
@override
|
||||
String get settings_longRange => 'Portée Longue';
|
||||
String get settings_clientRepeat => 'Répétition hors réseau';
|
||||
|
||||
@override
|
||||
String get settings_fastSpeed => 'Vitesse Rapide';
|
||||
String get settings_clientRepeatSubtitle =>
|
||||
'Permettez à cet appareil de répéter les paquets de données pour les autres.';
|
||||
|
||||
@override
|
||||
String get settings_clientRepeatFreqWarning =>
|
||||
'Pour les transmissions hors réseau, il est nécessaire d\'utiliser les fréquences de 433, 869 ou 918 MHz.';
|
||||
|
||||
@override
|
||||
String settings_error(String message) {
|
||||
|
|
|
|||
|
|
@ -346,15 +346,6 @@ class AppLocalizationsIt extends AppLocalizations {
|
|||
@override
|
||||
String get settings_presets => 'Preset';
|
||||
|
||||
@override
|
||||
String get settings_preset915Mhz => '915 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset868Mhz => '868 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset433Mhz => '433 MHz';
|
||||
|
||||
@override
|
||||
String get settings_frequency => 'Frequenza (MHz)';
|
||||
|
||||
|
|
@ -383,10 +374,15 @@ class AppLocalizationsIt extends AppLocalizations {
|
|||
String get settings_txPowerInvalid => 'Potere TX non valido (0-22 dBm)';
|
||||
|
||||
@override
|
||||
String get settings_longRange => 'Lungo Raggio';
|
||||
String get settings_clientRepeat => 'Ripetizione \"fuori dalla rete\"';
|
||||
|
||||
@override
|
||||
String get settings_fastSpeed => 'Velocità Rapida';
|
||||
String get settings_clientRepeatSubtitle =>
|
||||
'Permetti a questo dispositivo di ripetere i pacchetti di rete per gli altri.';
|
||||
|
||||
@override
|
||||
String get settings_clientRepeatFreqWarning =>
|
||||
'Per la comunicazione fuori rete, è necessario utilizzare frequenze di 433, 869 o 918 MHz.';
|
||||
|
||||
@override
|
||||
String settings_error(String message) {
|
||||
|
|
|
|||
|
|
@ -344,15 +344,6 @@ class AppLocalizationsNl extends AppLocalizations {
|
|||
@override
|
||||
String get settings_presets => 'Presets';
|
||||
|
||||
@override
|
||||
String get settings_preset915Mhz => '915 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset868Mhz => '868 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset433Mhz => '433 MHz';
|
||||
|
||||
@override
|
||||
String get settings_frequency => 'Frequentie (MHz)';
|
||||
|
||||
|
|
@ -381,10 +372,15 @@ class AppLocalizationsNl extends AppLocalizations {
|
|||
String get settings_txPowerInvalid => 'Ongeldige TX-vermogen (0-22 dBm)';
|
||||
|
||||
@override
|
||||
String get settings_longRange => 'Lange Afstand';
|
||||
String get settings_clientRepeat => 'Herhalen: Afgekoppeld';
|
||||
|
||||
@override
|
||||
String get settings_fastSpeed => 'Hoge Snelheid';
|
||||
String get settings_clientRepeatSubtitle =>
|
||||
'Laat dit apparaat de mesh-pakketten opnieuw verzenden voor andere apparaten.';
|
||||
|
||||
@override
|
||||
String get settings_clientRepeatFreqWarning =>
|
||||
'Om een signaal buiten het netwerk te versturen, zijn frequenties van 433, 869 of 918 MHz vereist.';
|
||||
|
||||
@override
|
||||
String settings_error(String message) {
|
||||
|
|
|
|||
|
|
@ -347,15 +347,6 @@ class AppLocalizationsPl extends AppLocalizations {
|
|||
@override
|
||||
String get settings_presets => 'Preset';
|
||||
|
||||
@override
|
||||
String get settings_preset915Mhz => '915 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset868Mhz => '868 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset433Mhz => '433 MHz';
|
||||
|
||||
@override
|
||||
String get settings_frequency => 'Częstotliwość (MHz)';
|
||||
|
||||
|
|
@ -385,10 +376,15 @@ class AppLocalizationsPl extends AppLocalizations {
|
|||
String get settings_txPowerInvalid => 'Nieprawidłowa moc TX (0-22 dBm)';
|
||||
|
||||
@override
|
||||
String get settings_longRange => 'Długi zasięg';
|
||||
String get settings_clientRepeat => 'Powtórzenie: Niezależne od sieci';
|
||||
|
||||
@override
|
||||
String get settings_fastSpeed => 'Szybka prędkość';
|
||||
String get settings_clientRepeatSubtitle =>
|
||||
'Pozwól temu urządzeniu powtarzać pakiety danych dla innych urządzeń.';
|
||||
|
||||
@override
|
||||
String get settings_clientRepeatFreqWarning =>
|
||||
'Powtórka poza siecią wymaga częstotliwości 433, 869 lub 918 MHz.';
|
||||
|
||||
@override
|
||||
String settings_error(String message) {
|
||||
|
|
|
|||
|
|
@ -348,15 +348,6 @@ class AppLocalizationsPt extends AppLocalizations {
|
|||
@override
|
||||
String get settings_presets => 'Presets';
|
||||
|
||||
@override
|
||||
String get settings_preset915Mhz => '915 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset868Mhz => '868 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset433Mhz => '433 MHz';
|
||||
|
||||
@override
|
||||
String get settings_frequency => 'Frequência (MHz)';
|
||||
|
||||
|
|
@ -385,10 +376,15 @@ class AppLocalizationsPt extends AppLocalizations {
|
|||
String get settings_txPowerInvalid => 'Potência de TX inválida (0-22 dBm)';
|
||||
|
||||
@override
|
||||
String get settings_longRange => 'Alcance Longo';
|
||||
String get settings_clientRepeat => 'Repetição sem rede';
|
||||
|
||||
@override
|
||||
String get settings_fastSpeed => 'Velocidade Rápida';
|
||||
String get settings_clientRepeatSubtitle =>
|
||||
'Permita que este dispositivo repita pacotes de rede para outros dispositivos.';
|
||||
|
||||
@override
|
||||
String get settings_clientRepeatFreqWarning =>
|
||||
'A repetição fora da rede requer frequências de 433, 869 ou 918 MHz.';
|
||||
|
||||
@override
|
||||
String settings_error(String message) {
|
||||
|
|
|
|||
|
|
@ -345,15 +345,6 @@ class AppLocalizationsRu extends AppLocalizations {
|
|||
@override
|
||||
String get settings_presets => 'Пресеты';
|
||||
|
||||
@override
|
||||
String get settings_preset915Mhz => '915 МГц';
|
||||
|
||||
@override
|
||||
String get settings_preset868Mhz => '868 МГц';
|
||||
|
||||
@override
|
||||
String get settings_preset433Mhz => '433 МГц';
|
||||
|
||||
@override
|
||||
String get settings_frequency => 'Частота (МГц)';
|
||||
|
||||
|
|
@ -383,10 +374,15 @@ class AppLocalizationsRu extends AppLocalizations {
|
|||
'Недопустимая мощность передачи (0–22 дБм)';
|
||||
|
||||
@override
|
||||
String get settings_longRange => 'Дальний радиус';
|
||||
String get settings_clientRepeat => 'Повторение \"вне сети\"';
|
||||
|
||||
@override
|
||||
String get settings_fastSpeed => 'Высокая скорость';
|
||||
String get settings_clientRepeatSubtitle =>
|
||||
'Позвольте этому устройству повторять пакеты данных для других устройств.';
|
||||
|
||||
@override
|
||||
String get settings_clientRepeatFreqWarning =>
|
||||
'Для работы в режиме \"без подключения к сети\" требуется частота 433, 869 или 918 МГц.';
|
||||
|
||||
@override
|
||||
String settings_error(String message) {
|
||||
|
|
|
|||
|
|
@ -344,15 +344,6 @@ class AppLocalizationsSk extends AppLocalizations {
|
|||
@override
|
||||
String get settings_presets => 'Prednastavenia';
|
||||
|
||||
@override
|
||||
String get settings_preset915Mhz => '915 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset868Mhz => '868 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset433Mhz => '433 MHz';
|
||||
|
||||
@override
|
||||
String get settings_frequency => 'Frekvencia (MHz)';
|
||||
|
||||
|
|
@ -381,10 +372,15 @@ class AppLocalizationsSk extends AppLocalizations {
|
|||
String get settings_txPowerInvalid => 'Neplatná hodnota výkonu TX (0-22 dBm)';
|
||||
|
||||
@override
|
||||
String get settings_longRange => 'Dlhý dosah';
|
||||
String get settings_clientRepeat => 'Opätovné použitie bez elektrickej siete';
|
||||
|
||||
@override
|
||||
String get settings_fastSpeed => 'Rýchla rýchlosť';
|
||||
String get settings_clientRepeatSubtitle =>
|
||||
'Umožnite, aby toto zariadenie opakovávalo siete pre ostatných.';
|
||||
|
||||
@override
|
||||
String get settings_clientRepeatFreqWarning =>
|
||||
'Použitie off-grid systému vyžaduje frekvencie 433, 869 alebo 918 MHz.';
|
||||
|
||||
@override
|
||||
String settings_error(String message) {
|
||||
|
|
|
|||
|
|
@ -343,15 +343,6 @@ class AppLocalizationsSl extends AppLocalizations {
|
|||
@override
|
||||
String get settings_presets => 'Prednastavitve';
|
||||
|
||||
@override
|
||||
String get settings_preset915Mhz => '915 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset868Mhz => '868 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset433Mhz => '433 MHz';
|
||||
|
||||
@override
|
||||
String get settings_frequency => 'Frekvenca (MHz)';
|
||||
|
||||
|
|
@ -380,10 +371,15 @@ class AppLocalizationsSl extends AppLocalizations {
|
|||
String get settings_txPowerInvalid => 'Neveljavna TX moč (0-22 dBm)';
|
||||
|
||||
@override
|
||||
String get settings_longRange => 'DDolg doseg';
|
||||
String get settings_clientRepeat => 'Neovadno ponavljanje';
|
||||
|
||||
@override
|
||||
String get settings_fastSpeed => 'Visoka hitrost';
|
||||
String get settings_clientRepeatSubtitle =>
|
||||
'Omogočite temu naprave, da ponavlja paketne sporočila za druge.';
|
||||
|
||||
@override
|
||||
String get settings_clientRepeatFreqWarning =>
|
||||
'Za ponovni prenos na brezžični način so potrebne frekvence 433, 869 ali 918 MHz.';
|
||||
|
||||
@override
|
||||
String settings_error(String message) {
|
||||
|
|
|
|||
|
|
@ -341,15 +341,6 @@ class AppLocalizationsSv extends AppLocalizations {
|
|||
@override
|
||||
String get settings_presets => 'Fördefinierade inställningar';
|
||||
|
||||
@override
|
||||
String get settings_preset915Mhz => '915 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset868Mhz => '868 MHz';
|
||||
|
||||
@override
|
||||
String get settings_preset433Mhz => '433 MHz';
|
||||
|
||||
@override
|
||||
String get settings_frequency => 'Frekvens (MHz)';
|
||||
|
||||
|
|
@ -378,10 +369,15 @@ class AppLocalizationsSv extends AppLocalizations {
|
|||
String get settings_txPowerInvalid => 'Ogiltig TX-effekt (0-22 dBm)';
|
||||
|
||||
@override
|
||||
String get settings_longRange => 'Lång räckvidd';
|
||||
String get settings_clientRepeat => 'Upprepa utan elnät';
|
||||
|
||||
@override
|
||||
String get settings_fastSpeed => 'Snabb hastighet';
|
||||
String get settings_clientRepeatSubtitle =>
|
||||
'Låt enheten repetera nätpaket för andra användare.';
|
||||
|
||||
@override
|
||||
String get settings_clientRepeatFreqWarning =>
|
||||
'För att kunna kommunicera utanför elnätet krävs frekvenserna 433, 869 eller 918 MHz.';
|
||||
|
||||
@override
|
||||
String settings_error(String message) {
|
||||
|
|
|
|||
|
|
@ -346,15 +346,6 @@ class AppLocalizationsUk extends AppLocalizations {
|
|||
@override
|
||||
String get settings_presets => 'Попередні налаштування';
|
||||
|
||||
@override
|
||||
String get settings_preset915Mhz => '915 МГц';
|
||||
|
||||
@override
|
||||
String get settings_preset868Mhz => '868 МГц';
|
||||
|
||||
@override
|
||||
String get settings_preset433Mhz => '433 МГц';
|
||||
|
||||
@override
|
||||
String get settings_frequency => 'Частота (МГц)';
|
||||
|
||||
|
|
@ -383,10 +374,15 @@ class AppLocalizationsUk extends AppLocalizations {
|
|||
String get settings_txPowerInvalid => 'Некоректна потужність TX (0-22 дБм)';
|
||||
|
||||
@override
|
||||
String get settings_longRange => 'Дальній діапазон';
|
||||
String get settings_clientRepeat => 'Автономна система';
|
||||
|
||||
@override
|
||||
String get settings_fastSpeed => 'Висока швидкість';
|
||||
String get settings_clientRepeatSubtitle =>
|
||||
'Дозвольте цьому пристрою повторювати пакети даних для інших пристроїв.';
|
||||
|
||||
@override
|
||||
String get settings_clientRepeatFreqWarning =>
|
||||
'Повтор без підключення до мережі вимагає частоти 433, 869 або 918 МГц.';
|
||||
|
||||
@override
|
||||
String settings_error(String message) {
|
||||
|
|
|
|||
|
|
@ -331,15 +331,6 @@ class AppLocalizationsZh extends AppLocalizations {
|
|||
@override
|
||||
String get settings_presets => '预设';
|
||||
|
||||
@override
|
||||
String get settings_preset915Mhz => '915 兆赫';
|
||||
|
||||
@override
|
||||
String get settings_preset868Mhz => '868 兆赫';
|
||||
|
||||
@override
|
||||
String get settings_preset433Mhz => '433 兆赫';
|
||||
|
||||
@override
|
||||
String get settings_frequency => '频率 (MHz)';
|
||||
|
||||
|
|
@ -368,10 +359,14 @@ class AppLocalizationsZh extends AppLocalizations {
|
|||
String get settings_txPowerInvalid => '无效的发射功率(0-22 dBm)';
|
||||
|
||||
@override
|
||||
String get settings_longRange => '远距离';
|
||||
String get settings_clientRepeat => '离网重复';
|
||||
|
||||
@override
|
||||
String get settings_fastSpeed => '高速';
|
||||
String get settings_clientRepeatSubtitle => '允许此设备重复发送网状数据包给其他设备';
|
||||
|
||||
@override
|
||||
String get settings_clientRepeatFreqWarning =>
|
||||
'离网重复通信需要使用 433、869 或 918 兆赫兹的频率。';
|
||||
|
||||
@override
|
||||
String settings_error(String message) {
|
||||
|
|
|
|||
|
|
@ -131,9 +131,6 @@
|
|||
"settings_infoContactsCount": "Aantal Contacten",
|
||||
"settings_infoChannelCount": "Aantal Kanalen",
|
||||
"settings_presets": "Presets",
|
||||
"settings_preset915Mhz": "915 MHz",
|
||||
"settings_preset868Mhz": "868 MHz",
|
||||
"settings_preset433Mhz": "433 MHz",
|
||||
"settings_frequency": "Frequentie (MHz)",
|
||||
"settings_frequencyHelper": "300,0 - 2500,0",
|
||||
"settings_frequencyInvalid": "Ongeldige frequentie (300-2500 MHz)",
|
||||
|
|
@ -143,8 +140,6 @@
|
|||
"settings_txPower": "TX Vermogen (dBm)",
|
||||
"settings_txPowerHelper": "0 - 22",
|
||||
"settings_txPowerInvalid": "Ongeldige TX-vermogen (0-22 dBm)",
|
||||
"settings_longRange": "Lange Afstand",
|
||||
"settings_fastSpeed": "Hoge Snelheid",
|
||||
"settings_error": "Fout: {message}",
|
||||
"@settings_error": {
|
||||
"placeholders": {
|
||||
|
|
@ -1598,5 +1593,8 @@
|
|||
"map_runTrace": "Padeshulp traceren",
|
||||
"scanner_enableBluetooth": "Activeer Bluetooth",
|
||||
"scanner_bluetoothOffMessage": "Zorg ervoor dat Bluetooth is ingeschakeld om naar apparaten te zoeken.",
|
||||
"scanner_bluetoothOff": "Bluetooth is uitgeschakeld"
|
||||
"scanner_bluetoothOff": "Bluetooth is uitgeschakeld",
|
||||
"settings_clientRepeat": "Herhalen: Afgekoppeld",
|
||||
"settings_clientRepeatSubtitle": "Laat dit apparaat de mesh-pakketten opnieuw verzenden voor andere apparaten.",
|
||||
"settings_clientRepeatFreqWarning": "Om een signaal buiten het netwerk te versturen, zijn frequenties van 433, 869 of 918 MHz vereist."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -131,9 +131,6 @@
|
|||
"settings_infoContactsCount": "Liczba kontaktów",
|
||||
"settings_infoChannelCount": "Liczba kanałów",
|
||||
"settings_presets": "Preset",
|
||||
"settings_preset915Mhz": "915 MHz",
|
||||
"settings_preset868Mhz": "868 MHz",
|
||||
"settings_preset433Mhz": "433 MHz",
|
||||
"settings_frequency": "Częstotliwość (MHz)",
|
||||
"settings_frequencyHelper": "300,0 - 2500,0",
|
||||
"settings_frequencyInvalid": "Nieprawidłowa częstotliwość (300-2500 MHz)",
|
||||
|
|
@ -143,8 +140,6 @@
|
|||
"settings_txPower": "TX Moc (dBm)",
|
||||
"settings_txPowerHelper": "0 - 22",
|
||||
"settings_txPowerInvalid": "Nieprawidłowa moc TX (0-22 dBm)",
|
||||
"settings_longRange": "Długi zasięg",
|
||||
"settings_fastSpeed": "Szybka prędkość",
|
||||
"settings_error": "Błąd: {message}",
|
||||
"@settings_error": {
|
||||
"placeholders": {
|
||||
|
|
@ -1598,5 +1593,8 @@
|
|||
"map_tapToAdd": "Kliknij na węzły, aby dodać je do ścieżki.",
|
||||
"scanner_bluetoothOffMessage": "Prosimy włączyć Bluetooth, aby przeskanować urządzenia.",
|
||||
"scanner_bluetoothOff": "Bluetooth jest wyłączony",
|
||||
"scanner_enableBluetooth": "Włącz Bluetooth"
|
||||
"scanner_enableBluetooth": "Włącz Bluetooth",
|
||||
"settings_clientRepeatSubtitle": "Pozwól temu urządzeniu powtarzać pakiety danych dla innych urządzeń.",
|
||||
"settings_clientRepeat": "Powtórzenie: Niezależne od sieci",
|
||||
"settings_clientRepeatFreqWarning": "Powtórka poza siecią wymaga częstotliwości 433, 869 lub 918 MHz."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -131,9 +131,6 @@
|
|||
"settings_infoContactsCount": "Número de Contatos",
|
||||
"settings_infoChannelCount": "Número do Canal",
|
||||
"settings_presets": "Presets",
|
||||
"settings_preset915Mhz": "915 MHz",
|
||||
"settings_preset868Mhz": "868 MHz",
|
||||
"settings_preset433Mhz": "433 MHz",
|
||||
"settings_frequency": "Frequência (MHz)",
|
||||
"settings_frequencyHelper": "300,0 - 2500,0",
|
||||
"settings_frequencyInvalid": "Frequência inválida (300-2500 MHz)",
|
||||
|
|
@ -143,8 +140,6 @@
|
|||
"settings_txPower": "TX Potência (dBm)",
|
||||
"settings_txPowerHelper": "0 - 22",
|
||||
"settings_txPowerInvalid": "Potência de TX inválida (0-22 dBm)",
|
||||
"settings_longRange": "Alcance Longo",
|
||||
"settings_fastSpeed": "Velocidade Rápida",
|
||||
"settings_error": "Erro: {message}",
|
||||
"@settings_error": {
|
||||
"placeholders": {
|
||||
|
|
@ -1598,5 +1593,8 @@
|
|||
"map_tapToAdd": "Toque nos nós para adicioná-los ao caminho.",
|
||||
"scanner_enableBluetooth": "Ative o Bluetooth",
|
||||
"scanner_bluetoothOff": "Bluetooth está desativado",
|
||||
"scanner_bluetoothOffMessage": "Por favor, ative o Bluetooth para escanear por dispositivos."
|
||||
"scanner_bluetoothOffMessage": "Por favor, ative o Bluetooth para escanear por dispositivos.",
|
||||
"settings_clientRepeatFreqWarning": "A repetição fora da rede requer frequências de 433, 869 ou 918 MHz.",
|
||||
"settings_clientRepeat": "Repetição sem rede",
|
||||
"settings_clientRepeatSubtitle": "Permita que este dispositivo repita pacotes de rede para outros dispositivos."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -101,9 +101,6 @@
|
|||
"settings_infoContactsCount": "Количество контактов",
|
||||
"settings_infoChannelCount": "Количество каналов",
|
||||
"settings_presets": "Пресеты",
|
||||
"settings_preset915Mhz": "915 МГц",
|
||||
"settings_preset868Mhz": "868 МГц",
|
||||
"settings_preset433Mhz": "433 МГц",
|
||||
"settings_frequency": "Частота (МГц)",
|
||||
"settings_frequencyHelper": "300.0 – 2500.0",
|
||||
"settings_frequencyInvalid": "Недопустимая частота (300–2500 МГц)",
|
||||
|
|
@ -113,8 +110,6 @@
|
|||
"settings_txPower": "Мощность передачи (дБм)",
|
||||
"settings_txPowerHelper": "0 – 22",
|
||||
"settings_txPowerInvalid": "Недопустимая мощность передачи (0–22 дБм)",
|
||||
"settings_longRange": "Дальний радиус",
|
||||
"settings_fastSpeed": "Высокая скорость",
|
||||
"settings_error": "Ошибка: {message}",
|
||||
"appSettings_title": "Настройки приложения",
|
||||
"appSettings_appearance": "Внешний вид",
|
||||
|
|
@ -838,5 +833,8 @@
|
|||
"map_runTrace": "Запустить трассировку пути",
|
||||
"scanner_enableBluetooth": "Включите Bluetooth",
|
||||
"scanner_bluetoothOff": "Bluetooth выключен",
|
||||
"scanner_bluetoothOffMessage": "Пожалуйста, включите Bluetooth, чтобы найти устройства."
|
||||
"scanner_bluetoothOffMessage": "Пожалуйста, включите Bluetooth, чтобы найти устройства.",
|
||||
"settings_clientRepeatFreqWarning": "Для работы в режиме \"без подключения к сети\" требуется частота 433, 869 или 918 МГц.",
|
||||
"settings_clientRepeatSubtitle": "Позвольте этому устройству повторять пакеты данных для других устройств.",
|
||||
"settings_clientRepeat": "Повторение \"вне сети\""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -131,9 +131,6 @@
|
|||
"settings_infoContactsCount": "Počet kontaktov",
|
||||
"settings_infoChannelCount": "Počet kanálov",
|
||||
"settings_presets": "Prednastavenia",
|
||||
"settings_preset915Mhz": "915 MHz",
|
||||
"settings_preset868Mhz": "868 MHz",
|
||||
"settings_preset433Mhz": "433 MHz",
|
||||
"settings_frequency": "Frekvencia (MHz)",
|
||||
"settings_frequencyHelper": "300,0 – 2500,0",
|
||||
"settings_frequencyInvalid": "Neplatná frekvencia (300-2500 MHz)",
|
||||
|
|
@ -143,8 +140,6 @@
|
|||
"settings_txPower": "TX Výkon (dBm)",
|
||||
"settings_txPowerHelper": "0 - 22",
|
||||
"settings_txPowerInvalid": "Neplatná hodnota výkonu TX (0-22 dBm)",
|
||||
"settings_longRange": "Dlhý dosah",
|
||||
"settings_fastSpeed": "Rýchla rýchlosť",
|
||||
"settings_error": "Chyba: {message}",
|
||||
"@settings_error": {
|
||||
"placeholders": {
|
||||
|
|
@ -1598,5 +1593,8 @@
|
|||
"map_pathTraceCancelled": "Zrušenie stopáže cesty bolo zrušené.",
|
||||
"scanner_bluetoothOffMessage": "Prosím, zapnite Bluetooth, aby ste mohli skenovať pre zariadenia.",
|
||||
"scanner_bluetoothOff": "Bluetooth je vypnutý",
|
||||
"scanner_enableBluetooth": "Povolte Bluetooth"
|
||||
"scanner_enableBluetooth": "Povolte Bluetooth",
|
||||
"settings_clientRepeat": "Opätovné použitie bez elektrickej siete",
|
||||
"settings_clientRepeatFreqWarning": "Použitie off-grid systému vyžaduje frekvencie 433, 869 alebo 918 MHz.",
|
||||
"settings_clientRepeatSubtitle": "Umožnite, aby toto zariadenie opakovávalo siete pre ostatných."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -131,9 +131,6 @@
|
|||
"settings_infoContactsCount": "Število stikov",
|
||||
"settings_infoChannelCount": "Število kanalov",
|
||||
"settings_presets": "Prednastavitve",
|
||||
"settings_preset915Mhz": "915 MHz",
|
||||
"settings_preset868Mhz": "868 MHz",
|
||||
"settings_preset433Mhz": "433 MHz",
|
||||
"settings_frequency": "Frekvenca (MHz)",
|
||||
"settings_frequencyHelper": "300,00 - 2500,00",
|
||||
"settings_frequencyInvalid": "Neveljavna frekvenca (300-2500 MHz)",
|
||||
|
|
@ -143,8 +140,6 @@
|
|||
"settings_txPower": "TX Moč (dBm)",
|
||||
"settings_txPowerHelper": "0 - 22",
|
||||
"settings_txPowerInvalid": "Neveljavna TX moč (0-22 dBm)",
|
||||
"settings_longRange": "DDolg doseg",
|
||||
"settings_fastSpeed": "Visoka hitrost",
|
||||
"settings_error": "Napaka: {message}",
|
||||
"@settings_error": {
|
||||
"placeholders": {
|
||||
|
|
@ -1598,5 +1593,8 @@
|
|||
"map_pathTraceCancelled": "Spremljanje poti je prekinjeno.",
|
||||
"scanner_enableBluetooth": "Omogočite Bluetooth",
|
||||
"scanner_bluetoothOffMessage": "Prosimo, vklopite Bluetooth, da lahko poiščete naprave.",
|
||||
"scanner_bluetoothOff": "Bluetooth je izklopljen"
|
||||
"scanner_bluetoothOff": "Bluetooth je izklopljen",
|
||||
"settings_clientRepeatFreqWarning": "Za ponovni prenos na brezžični način so potrebne frekvence 433, 869 ali 918 MHz.",
|
||||
"settings_clientRepeatSubtitle": "Omogočite temu naprave, da ponavlja paketne sporočila za druge.",
|
||||
"settings_clientRepeat": "Neovadno ponavljanje"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -131,9 +131,6 @@
|
|||
"settings_infoContactsCount": "Kontakterantal",
|
||||
"settings_infoChannelCount": "Kanalantal",
|
||||
"settings_presets": "Fördefinierade inställningar",
|
||||
"settings_preset915Mhz": "915 MHz",
|
||||
"settings_preset868Mhz": "868 MHz",
|
||||
"settings_preset433Mhz": "433 MHz",
|
||||
"settings_frequency": "Frekvens (MHz)",
|
||||
"settings_frequencyHelper": "300,0 - 2500,0",
|
||||
"settings_frequencyInvalid": "Ogiltig frekvens (300-2500 MHz)",
|
||||
|
|
@ -143,8 +140,6 @@
|
|||
"settings_txPower": "TX-effekt (dBm)",
|
||||
"settings_txPowerHelper": "0 - 22",
|
||||
"settings_txPowerInvalid": "Ogiltig TX-effekt (0-22 dBm)",
|
||||
"settings_longRange": "Lång räckvidd",
|
||||
"settings_fastSpeed": "Snabb hastighet",
|
||||
"settings_error": "Fel: {message}",
|
||||
"@settings_error": {
|
||||
"placeholders": {
|
||||
|
|
@ -1598,5 +1593,8 @@
|
|||
"map_removeLast": "Ta bort sista",
|
||||
"scanner_enableBluetooth": "Aktivera Bluetooth",
|
||||
"scanner_bluetoothOffMessage": "Vänligen aktivera Bluetooth för att söka efter enheter.",
|
||||
"scanner_bluetoothOff": "Bluetooth är avstängt"
|
||||
"scanner_bluetoothOff": "Bluetooth är avstängt",
|
||||
"settings_clientRepeatSubtitle": "Låt enheten repetera nätpaket för andra användare.",
|
||||
"settings_clientRepeat": "Upprepa utan elnät",
|
||||
"settings_clientRepeatFreqWarning": "För att kunna kommunicera utanför elnätet krävs frekvenserna 433, 869 eller 918 MHz."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -131,9 +131,6 @@
|
|||
"settings_infoContactsCount": "Кількість контактів",
|
||||
"settings_infoChannelCount": "Кількість каналів",
|
||||
"settings_presets": "Попередні налаштування",
|
||||
"settings_preset915Mhz": "915 МГц",
|
||||
"settings_preset868Mhz": "868 МГц",
|
||||
"settings_preset433Mhz": "433 МГц",
|
||||
"settings_frequency": "Частота (МГц)",
|
||||
"settings_frequencyHelper": "300.0 - 2500.0",
|
||||
"settings_frequencyInvalid": "Некоректна частота (300-2500 МГц)",
|
||||
|
|
@ -143,8 +140,6 @@
|
|||
"settings_txPower": "Потужність TX (дБм)",
|
||||
"settings_txPowerHelper": "0 - 22",
|
||||
"settings_txPowerInvalid": "Некоректна потужність TX (0-22 дБм)",
|
||||
"settings_longRange": "Дальній діапазон",
|
||||
"settings_fastSpeed": "Висока швидкість",
|
||||
"settings_error": "Помилка: {message}",
|
||||
"@settings_error": {
|
||||
"placeholders": {
|
||||
|
|
@ -1598,5 +1593,8 @@
|
|||
"map_pathTraceCancelled": "Відмінується трасування шляху",
|
||||
"scanner_enableBluetooth": "Увімкніть Bluetooth",
|
||||
"scanner_bluetoothOffMessage": "Будь ласка, увімкніть Bluetooth, щоб сканувати пристрої.",
|
||||
"scanner_bluetoothOff": "Bluetooth вимкнено"
|
||||
"scanner_bluetoothOff": "Bluetooth вимкнено",
|
||||
"settings_clientRepeatFreqWarning": "Повтор без підключення до мережі вимагає частоти 433, 869 або 918 МГц.",
|
||||
"settings_clientRepeatSubtitle": "Дозвольте цьому пристрою повторювати пакети даних для інших пристроїв.",
|
||||
"settings_clientRepeat": "Автономна система"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -136,9 +136,6 @@
|
|||
"settings_infoContactsCount": "联系人数量",
|
||||
"settings_infoChannelCount": "通道数量",
|
||||
"settings_presets": "预设",
|
||||
"settings_preset915Mhz": "915 兆赫",
|
||||
"settings_preset868Mhz": "868 兆赫",
|
||||
"settings_preset433Mhz": "433 兆赫",
|
||||
"settings_frequency": "频率 (MHz)",
|
||||
"settings_frequencyHelper": "300.0 - 2500.0",
|
||||
"settings_frequencyInvalid": "无效频率(300-2500 MHz)",
|
||||
|
|
@ -148,8 +145,6 @@
|
|||
"settings_txPower": "TX 功率(dBm)",
|
||||
"settings_txPowerHelper": "0 - 22",
|
||||
"settings_txPowerInvalid": "无效的发射功率(0-22 dBm)",
|
||||
"settings_longRange": "远距离",
|
||||
"settings_fastSpeed": "高速",
|
||||
"settings_error": "[保存:{message}]\n错误:{message}",
|
||||
"@settings_error": {
|
||||
"placeholders": {
|
||||
|
|
@ -1598,5 +1593,8 @@
|
|||
"map_runTrace": "运行路径跟踪",
|
||||
"scanner_bluetoothOffMessage": "请打开蓝牙功能,以便搜索设备。",
|
||||
"scanner_bluetoothOff": "蓝牙已关闭",
|
||||
"scanner_enableBluetooth": "启用蓝牙"
|
||||
"scanner_enableBluetooth": "启用蓝牙",
|
||||
"settings_clientRepeat": "离网重复",
|
||||
"settings_clientRepeatSubtitle": "允许此设备重复发送网状数据包给其他设备",
|
||||
"settings_clientRepeatFreqWarning": "离网重复通信需要使用 433、869 或 918 兆赫兹的频率。"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -59,46 +59,29 @@ class RadioSettings {
|
|||
required this.txPowerDbm,
|
||||
});
|
||||
|
||||
// Preset configurations
|
||||
static RadioSettings get preset915MHz => RadioSettings(
|
||||
frequencyMHz: 915.0,
|
||||
bandwidth: LoRaBandwidth.bw125,
|
||||
spreadingFactor: LoRaSpreadingFactor.sf7,
|
||||
codingRate: LoRaCodingRate.cr4_5,
|
||||
txPowerDbm: 20,
|
||||
);
|
||||
|
||||
static RadioSettings get preset868MHz => RadioSettings(
|
||||
frequencyMHz: 868.0,
|
||||
bandwidth: LoRaBandwidth.bw125,
|
||||
spreadingFactor: LoRaSpreadingFactor.sf7,
|
||||
codingRate: LoRaCodingRate.cr4_5,
|
||||
txPowerDbm: 14,
|
||||
);
|
||||
|
||||
static RadioSettings get preset433MHz => RadioSettings(
|
||||
frequencyMHz: 433.0,
|
||||
bandwidth: LoRaBandwidth.bw125,
|
||||
spreadingFactor: LoRaSpreadingFactor.sf7,
|
||||
codingRate: LoRaCodingRate.cr4_5,
|
||||
txPowerDbm: 20,
|
||||
);
|
||||
|
||||
static RadioSettings get presetLongRange => RadioSettings(
|
||||
frequencyMHz: 915.0,
|
||||
bandwidth: LoRaBandwidth.bw125,
|
||||
spreadingFactor: LoRaSpreadingFactor.sf12,
|
||||
codingRate: LoRaCodingRate.cr4_8,
|
||||
txPowerDbm: 20,
|
||||
);
|
||||
|
||||
static RadioSettings get presetFastSpeed => RadioSettings(
|
||||
frequencyMHz: 915.0,
|
||||
bandwidth: LoRaBandwidth.bw500,
|
||||
spreadingFactor: LoRaSpreadingFactor.sf7,
|
||||
codingRate: LoRaCodingRate.cr4_5,
|
||||
txPowerDbm: 20,
|
||||
);
|
||||
// Regional preset configurations
|
||||
static final List<(String, RadioSettings)> presets = [
|
||||
('Australia', RadioSettings(frequencyMHz: 915.8, bandwidth: LoRaBandwidth.bw250, spreadingFactor: LoRaSpreadingFactor.sf10, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
||||
('Australia (Narrow)', RadioSettings(frequencyMHz: 916.575, bandwidth: LoRaBandwidth.bw62_5, spreadingFactor: LoRaSpreadingFactor.sf7, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
||||
('Australia SA, WA, QLD', RadioSettings(frequencyMHz: 923.125, bandwidth: LoRaBandwidth.bw62_5, spreadingFactor: LoRaSpreadingFactor.sf8, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
||||
('Czech Republic', RadioSettings(frequencyMHz: 869.432, bandwidth: LoRaBandwidth.bw62_5, spreadingFactor: LoRaSpreadingFactor.sf7, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 14)),
|
||||
('EU 433MHz', RadioSettings(frequencyMHz: 433.650, bandwidth: LoRaBandwidth.bw250, spreadingFactor: LoRaSpreadingFactor.sf11, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
||||
('EU/UK (Long Range)', RadioSettings(frequencyMHz: 869.525, bandwidth: LoRaBandwidth.bw250, spreadingFactor: LoRaSpreadingFactor.sf11, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 14)),
|
||||
('EU/UK (Medium Range)', RadioSettings(frequencyMHz: 869.525, bandwidth: LoRaBandwidth.bw250, spreadingFactor: LoRaSpreadingFactor.sf10, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 14)),
|
||||
('EU/UK (Narrow)', RadioSettings(frequencyMHz: 869.618, bandwidth: LoRaBandwidth.bw62_5, spreadingFactor: LoRaSpreadingFactor.sf8, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 14)),
|
||||
('New Zealand', RadioSettings(frequencyMHz: 917.375, bandwidth: LoRaBandwidth.bw250, spreadingFactor: LoRaSpreadingFactor.sf11, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
||||
('New Zealand (Narrow)', RadioSettings(frequencyMHz: 917.375, bandwidth: LoRaBandwidth.bw62_5, spreadingFactor: LoRaSpreadingFactor.sf7, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
||||
('Portugal 433', RadioSettings(frequencyMHz: 433.375, bandwidth: LoRaBandwidth.bw62_5, spreadingFactor: LoRaSpreadingFactor.sf9, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
||||
('Portugal 869', RadioSettings(frequencyMHz: 869.618, bandwidth: LoRaBandwidth.bw62_5, spreadingFactor: LoRaSpreadingFactor.sf7, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 14)),
|
||||
('Switzerland', RadioSettings(frequencyMHz: 869.618, bandwidth: LoRaBandwidth.bw62_5, spreadingFactor: LoRaSpreadingFactor.sf8, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 14)),
|
||||
('USA Arizona', RadioSettings(frequencyMHz: 908.205, bandwidth: LoRaBandwidth.bw62_5, spreadingFactor: LoRaSpreadingFactor.sf10, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
||||
('USA/Canada', RadioSettings(frequencyMHz: 910.525, bandwidth: LoRaBandwidth.bw62_5, spreadingFactor: LoRaSpreadingFactor.sf7, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
||||
('Vietnam', RadioSettings(frequencyMHz: 920.250, bandwidth: LoRaBandwidth.bw250, spreadingFactor: LoRaSpreadingFactor.sf11, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
||||
// Off-grid repeat presets (valid client_repeat frequencies)
|
||||
('Off-Grid 433', RadioSettings(frequencyMHz: 433.0, bandwidth: LoRaBandwidth.bw250, spreadingFactor: LoRaSpreadingFactor.sf11, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
||||
('Off-Grid 869', RadioSettings(frequencyMHz: 869.0, bandwidth: LoRaBandwidth.bw250, spreadingFactor: LoRaSpreadingFactor.sf11, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 14)),
|
||||
('Off-Grid 918', RadioSettings(frequencyMHz: 918.0, bandwidth: LoRaBandwidth.bw250, spreadingFactor: LoRaSpreadingFactor.sf11, codingRate: LoRaCodingRate.cr4_5, txPowerDbm: 20)),
|
||||
];
|
||||
|
||||
int get frequencyHz => (frequencyMHz * 1000).round();
|
||||
int get bandwidthHz => bandwidth.hz;
|
||||
|
|
|
|||
|
|
@ -862,6 +862,7 @@ class _RadioSettingsDialogState extends State<_RadioSettingsDialog> {
|
|||
LoRaSpreadingFactor _spreadingFactor = LoRaSpreadingFactor.sf7;
|
||||
LoRaCodingRate _codingRate = LoRaCodingRate.cr4_5;
|
||||
final _txPowerController = TextEditingController(text: '20');
|
||||
bool _clientRepeat = false;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
|
|
@ -911,6 +912,8 @@ class _RadioSettingsDialogState extends State<_RadioSettingsDialog> {
|
|||
if (widget.connector.currentTxPower != null) {
|
||||
_txPowerController.text = widget.connector.currentTxPower.toString();
|
||||
}
|
||||
|
||||
_clientRepeat = widget.connector.clientRepeat ?? false;
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
@ -960,9 +963,23 @@ class _RadioSettingsDialogState extends State<_RadioSettingsDialog> {
|
|||
widget.connector.currentCr,
|
||||
);
|
||||
|
||||
final supportsRepeat =
|
||||
(widget.connector.firmwareVerCode ?? 0) >= 9;
|
||||
|
||||
if (supportsRepeat) {
|
||||
const validRepeatFreqsKHz = {433000, 869000, 918000};
|
||||
if (_clientRepeat && !validRepeatFreqsKHz.contains(freqHz)) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(l10n.settings_clientRepeatFreqWarning)),
|
||||
);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
await widget.connector.sendFrame(
|
||||
buildSetRadioParamsFrame(freqHz, bwHz, sf, cr),
|
||||
buildSetRadioParamsFrame(freqHz, bwHz, sf, cr,
|
||||
clientRepeat: supportsRepeat ? _clientRepeat : null),
|
||||
);
|
||||
await widget.connector.sendFrame(buildSetRadioTxPowerFrame(txPower));
|
||||
await widget.connector.refreshDeviceInfo();
|
||||
|
|
@ -1001,37 +1018,25 @@ class _RadioSettingsDialogState extends State<_RadioSettingsDialog> {
|
|||
mainAxisSize: MainAxisSize.min,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
l10n.settings_presets,
|
||||
style: const TextStyle(fontWeight: FontWeight.bold),
|
||||
),
|
||||
const SizedBox(height: 8),
|
||||
Wrap(
|
||||
spacing: 8,
|
||||
children: [
|
||||
_PresetChip(
|
||||
label: l10n.settings_preset915Mhz,
|
||||
onTap: () => _applyPreset(RadioSettings.preset915MHz),
|
||||
),
|
||||
_PresetChip(
|
||||
label: l10n.settings_preset868Mhz,
|
||||
onTap: () => _applyPreset(RadioSettings.preset868MHz),
|
||||
),
|
||||
_PresetChip(
|
||||
label: l10n.settings_preset433Mhz,
|
||||
onTap: () => _applyPreset(RadioSettings.preset433MHz),
|
||||
),
|
||||
_PresetChip(
|
||||
label: l10n.settings_longRange,
|
||||
onTap: () => _applyPreset(RadioSettings.presetLongRange),
|
||||
),
|
||||
_PresetChip(
|
||||
label: l10n.settings_fastSpeed,
|
||||
onTap: () => _applyPreset(RadioSettings.presetFastSpeed),
|
||||
),
|
||||
DropdownButtonFormField<int>(
|
||||
decoration: InputDecoration(
|
||||
labelText: l10n.settings_presets,
|
||||
border: const OutlineInputBorder(),
|
||||
),
|
||||
items: [
|
||||
for (var i = 0; i < RadioSettings.presets.length; i++)
|
||||
DropdownMenuItem(
|
||||
value: i,
|
||||
child: Text(RadioSettings.presets[i].$1),
|
||||
),
|
||||
],
|
||||
onChanged: (index) {
|
||||
if (index != null) {
|
||||
_applyPreset(RadioSettings.presets[index].$2);
|
||||
}
|
||||
},
|
||||
),
|
||||
const SizedBox(height: 24),
|
||||
const SizedBox(height: 16),
|
||||
TextField(
|
||||
controller: _frequencyController,
|
||||
decoration: InputDecoration(
|
||||
|
|
@ -1103,6 +1108,16 @@ class _RadioSettingsDialogState extends State<_RadioSettingsDialog> {
|
|||
),
|
||||
keyboardType: TextInputType.number,
|
||||
),
|
||||
if ((widget.connector.firmwareVerCode ?? 0) >= 9) ...[
|
||||
const SizedBox(height: 16),
|
||||
SwitchListTile(
|
||||
title: Text(l10n.settings_clientRepeat),
|
||||
subtitle: Text(l10n.settings_clientRepeatSubtitle),
|
||||
value: _clientRepeat,
|
||||
onChanged: (value) => setState(() => _clientRepeat = value),
|
||||
contentPadding: EdgeInsets.zero,
|
||||
),
|
||||
],
|
||||
],
|
||||
),
|
||||
),
|
||||
|
|
@ -1117,14 +1132,3 @@ class _RadioSettingsDialogState extends State<_RadioSettingsDialog> {
|
|||
}
|
||||
}
|
||||
|
||||
class _PresetChip extends StatelessWidget {
|
||||
final String label;
|
||||
final VoidCallback onTap;
|
||||
|
||||
const _PresetChip({required this.label, required this.onTap});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ActionChip(label: Text(label), onPressed: onTap);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue