Látható és használt műholdak számának meghatározása és megjelenítése

This commit is contained in:
2026-06-06 23:16:03 +02:00
parent 9347e22843
commit 497821bb41
6 changed files with 442 additions and 47 deletions
+32
View File
@@ -1,4 +1,5 @@
import 'package:nmea/nmea.dart';
import 'package:terepi_seged/models/satellite_info.dart';
/// GSA — GNSS DOP és aktív műholdak
///
@@ -67,6 +68,37 @@ class Gngsa extends TalkerSentence {
_ => 'Unknown',
};
int? get systemId {
if (fields.length <= 18) return null;
final rawSys = fields[18].split('*').first.trim();
if (rawSys.isEmpty) return null;
return int.tryParse(rawSys);
}
GnssConstellation get constellation {
switch (systemId) {
case 1:
return GnssConstellation.gps;
case 2:
return GnssConstellation.glonass;
case 3:
return GnssConstellation.galileo;
case 4:
return GnssConstellation.beidou;
case 5:
return GnssConstellation.qzss;
default:
return SatelliteInfo.constellationFromTalker(talkerId);
}
}
String get constellationKey => constellation.name;
List<String> get activeSatelliteKeys =>
activeSatellitePrns.map((prn) => '$constellationKey:$prn').toList();
int get usedSatelliteCount => activeSatellitePrns.length;
double _parseDouble(String? s) {
if (s == null || s.isEmpty) return 0.0;
return double.tryParse(s) ?? 0.0;