gnssview_old/plugins/gnss/lib/nmea/abm.dart
tanlinxing 553bde932c getx
2024-07-31 19:04:11 +08:00

41 lines
1.0 KiB
Dart

// ignore_for_file: constant_identifier_names
import 'parser.dart';
import 'sentence.dart';
const TypeABM = "ABM";
class ABM {
int numFragments;
int fragmentNumber;
int messageID;
String mmsi;
String channel;
int vdlMessageNumber;
List<int>
payload; // Assuming the byte array is represented as a list of integers
ABM({
required this.numFragments,
required this.fragmentNumber,
required this.messageID,
required this.mmsi,
required this.channel,
required this.vdlMessageNumber,
required this.payload,
});
static ABM newABM(BaseSentence s) {
var p = Parser(s);
return ABM(
numFragments: p.int64(0, 'number of fragments'),
fragmentNumber: p.int64(1, 'fragment number'),
messageID: p.int64(2, 'message ID'),
mmsi: p.string(3, 'MMSI'),
channel: p.string(4, 'channel'),
vdlMessageNumber: p.int64(5, 'VDL message number'),
payload: p.sixBitASCIIArmour(
6, p.int64(7, 'number of padding bits'), 'payload'),
);
}
}