Látható és használt műholdak számának meghatározása és megjelenítése
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user