47 lines
1.4 KiB
Dart
47 lines
1.4 KiB
Dart
|
// ignore_for_file: constant_identifier_names
|
||
|
|
||
|
import 'apb.dart';
|
||
|
import 'parser.dart';
|
||
|
import 'sentence.dart';
|
||
|
import 'types.dart';
|
||
|
|
||
|
const String TypeAAM = 'AAM';
|
||
|
|
||
|
class AAM {
|
||
|
String statusArrivalCircleEntered;
|
||
|
String statusPerpendicularPassed;
|
||
|
double arrivalCircleRadius;
|
||
|
String arrivalCircleRadiusUnit;
|
||
|
String destinationWaypointID;
|
||
|
|
||
|
AAM(
|
||
|
{required this.statusArrivalCircleEntered,
|
||
|
required this.statusPerpendicularPassed,
|
||
|
required this.arrivalCircleRadius,
|
||
|
required this.arrivalCircleRadiusUnit,
|
||
|
required this.destinationWaypointID});
|
||
|
|
||
|
static AAM newAAM(BaseSentence s) {
|
||
|
var p = Parser(s);
|
||
|
p.assertType(TypeAAM);
|
||
|
return AAM(
|
||
|
statusArrivalCircleEntered: p.enumString(
|
||
|
0,
|
||
|
"arrival circle entered status",
|
||
|
[WPStatusArrivalCircleEnteredA, WPStatusArrivalCircleEnteredV]),
|
||
|
statusPerpendicularPassed: p.enumString(
|
||
|
1,
|
||
|
"perpendicularly passed status",
|
||
|
[WPStatusPerpendicularPassedA, WPStatusPerpendicularPassedV]),
|
||
|
arrivalCircleRadius: p.float64(2, "arrival circle radius"),
|
||
|
arrivalCircleRadiusUnit: p.enumString(3, "arrival circle radius units", [
|
||
|
DistanceUnitKilometre,
|
||
|
DistanceUnitNauticalMile,
|
||
|
DistanceUnitStatuteMile,
|
||
|
DistanceUnitMetre
|
||
|
]),
|
||
|
destinationWaypointID: p.string(4, "destination waypoint ID"),
|
||
|
);
|
||
|
}
|
||
|
}
|