Warning thresholds added in drone profile. traffic light indication in drone satus menue added. layout and content optimized
This commit is contained in:
@@ -17,6 +17,18 @@ class DroneProfile {
|
||||
required this.maxRangeM,
|
||||
required this.maxEnduranceMin,
|
||||
required this.maxAltitudeM,
|
||||
this.gpsSatGreenMin = defaultGpsSatGreenMin,
|
||||
this.gpsSatRedMin = defaultGpsSatRedMin,
|
||||
this.hdopGreenMax = defaultHdopGreenMax,
|
||||
this.hdopRedMax = defaultHdopRedMax,
|
||||
this.currentGreenMaxA = defaultCurrentGreenMaxA,
|
||||
this.currentRedMaxA = defaultCurrentRedMaxA,
|
||||
this.batteryVoltageGreenMinV = defaultBatteryVoltageGreenMinV,
|
||||
this.batteryVoltageRedMinV = defaultBatteryVoltageRedMinV,
|
||||
this.rxQualityGreenMin = defaultRxQualityGreenMin,
|
||||
this.rxQualityRedMin = defaultRxQualityRedMin,
|
||||
this.rxSnrGreenMinDb = defaultRxSnrGreenMinDb,
|
||||
this.rxSnrRedMinDb = defaultRxSnrRedMinDb,
|
||||
});
|
||||
|
||||
/// Null fuer ein noch nicht gespeichertes (neu angelegtes) Profil.
|
||||
@@ -34,6 +46,42 @@ class DroneProfile {
|
||||
final double maxEnduranceMin;
|
||||
final double maxAltitudeM;
|
||||
|
||||
/// Ampel-Schwellwerte fuer die farbcodierten Telemetriefelder im
|
||||
/// Drohnen-Status-Menue (Doku: "Schwellwerte fuer die Ampel-Kodierung im
|
||||
/// Drohnenprofil anlegen", siehe domain/telemetry/telemetry_field_status.dart)
|
||||
/// - je Feld eine Gruen- und eine Rot-Schwelle, dazwischen gilt gelb.
|
||||
/// *Max/*GreenMax bei Feldern, bei denen ein NIEDRIGER Wert gut ist (HDOP),
|
||||
/// *Min/*GreenMin bei Feldern, bei denen ein HOHER Wert gut ist (alle
|
||||
/// anderen). Default-Werte als statische Konstanten (statt nur inline im
|
||||
/// Konstruktor), damit sie auch als Fallback beim Import aelterer, noch
|
||||
/// ohne diese Felder exportierter Profile dienen koennen (siehe
|
||||
/// drone_share_codec.dart).
|
||||
final double gpsSatGreenMin;
|
||||
final double gpsSatRedMin;
|
||||
final double hdopGreenMax;
|
||||
final double hdopRedMax;
|
||||
final double currentGreenMaxA;
|
||||
final double currentRedMaxA;
|
||||
final double batteryVoltageGreenMinV;
|
||||
final double batteryVoltageRedMinV;
|
||||
final double rxQualityGreenMin;
|
||||
final double rxQualityRedMin;
|
||||
final double rxSnrGreenMinDb;
|
||||
final double rxSnrRedMinDb;
|
||||
|
||||
static const defaultGpsSatGreenMin = 8.0;
|
||||
static const defaultGpsSatRedMin = 6.0;
|
||||
static const defaultHdopGreenMax = 2.0;
|
||||
static const defaultHdopRedMax = 5.0;
|
||||
static const defaultCurrentGreenMaxA = 20.0;
|
||||
static const defaultCurrentRedMaxA = 30.0;
|
||||
static const defaultBatteryVoltageGreenMinV = 20.4;
|
||||
static const defaultBatteryVoltageRedMinV = 19.2;
|
||||
static const defaultRxQualityGreenMin = 70.0;
|
||||
static const defaultRxQualityRedMin = 50.0;
|
||||
static const defaultRxSnrGreenMinDb = 0.0;
|
||||
static const defaultRxSnrRedMinDb = -10.0;
|
||||
|
||||
/// T1 Ranger (Heewing) - Standardprofil (Doku 3.5), analog DEFAULT_DRONE
|
||||
/// im HTML-Demonstrator.
|
||||
static const _t1RangerName = 'T1 Ranger';
|
||||
@@ -76,6 +124,18 @@ class DroneProfile {
|
||||
double? maxRangeM,
|
||||
double? maxEnduranceMin,
|
||||
double? maxAltitudeM,
|
||||
double? gpsSatGreenMin,
|
||||
double? gpsSatRedMin,
|
||||
double? hdopGreenMax,
|
||||
double? hdopRedMax,
|
||||
double? currentGreenMaxA,
|
||||
double? currentRedMaxA,
|
||||
double? batteryVoltageGreenMinV,
|
||||
double? batteryVoltageRedMinV,
|
||||
double? rxQualityGreenMin,
|
||||
double? rxQualityRedMin,
|
||||
double? rxSnrGreenMinDb,
|
||||
double? rxSnrRedMinDb,
|
||||
}) {
|
||||
return DroneProfile(
|
||||
id: id ?? this.id,
|
||||
@@ -91,6 +151,18 @@ class DroneProfile {
|
||||
maxRangeM: maxRangeM ?? this.maxRangeM,
|
||||
maxEnduranceMin: maxEnduranceMin ?? this.maxEnduranceMin,
|
||||
maxAltitudeM: maxAltitudeM ?? this.maxAltitudeM,
|
||||
gpsSatGreenMin: gpsSatGreenMin ?? this.gpsSatGreenMin,
|
||||
gpsSatRedMin: gpsSatRedMin ?? this.gpsSatRedMin,
|
||||
hdopGreenMax: hdopGreenMax ?? this.hdopGreenMax,
|
||||
hdopRedMax: hdopRedMax ?? this.hdopRedMax,
|
||||
currentGreenMaxA: currentGreenMaxA ?? this.currentGreenMaxA,
|
||||
currentRedMaxA: currentRedMaxA ?? this.currentRedMaxA,
|
||||
batteryVoltageGreenMinV: batteryVoltageGreenMinV ?? this.batteryVoltageGreenMinV,
|
||||
batteryVoltageRedMinV: batteryVoltageRedMinV ?? this.batteryVoltageRedMinV,
|
||||
rxQualityGreenMin: rxQualityGreenMin ?? this.rxQualityGreenMin,
|
||||
rxQualityRedMin: rxQualityRedMin ?? this.rxQualityRedMin,
|
||||
rxSnrGreenMinDb: rxSnrGreenMinDb ?? this.rxSnrGreenMinDb,
|
||||
rxSnrRedMinDb: rxSnrRedMinDb ?? this.rxSnrRedMinDb,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user