11import 'dart:convert' ;
2+ import 'dart:developer' ;
23import 'dart:typed_data' ;
34import 'package:flutter/material.dart' ;
45import 'package:native_add/flutter_nmea_impl.dart' as flutter_nmea;
@@ -17,7 +18,7 @@ class MyApp extends StatefulWidget {
1718class _MyAppState extends State <MyApp > {
1819 final _formKey = GlobalKey <FormState >();
1920 final textEditingController = TextEditingController ();
20- late String result;
21+ late Map < dynamic , dynamic > result;
2122 late Uint8List byteArr;
2223
2324 bool showData = false ;
@@ -28,24 +29,122 @@ class _MyAppState extends State<MyApp> {
2829
2930 // Test data for
3031 List <String > dataPoints = [
31- '{"0EEFF-00": "/+4AAGRD/j/yAKlmAAAAALAiDwAAAAAACAD/AAAABgB9gCQiAIIywA=="}' ,
32- '{"1FB12-16": "EvsBAGRD/j/BAKlmAAAAAIk5CgAAAAAAIwD/ABYABgAYQMfxFSVHUk1EQEBFAP///////xgBWgAoALQAAAAAAAPh/w=="}' ,
33- '{"0EEFF-09": "/+4AAGRD/j854qdmAAAAAKYuBwAAAAAACAD/AAkABgCP87AcAILcwA=="}' ,
34- '{"1F014-1C": "FPABALg+gD9dtqdmAAAAALDoBQAAAAAAhgD/ABwABgA0CBMZR1BTTUFQIDg2MjIA//////////////////////////8zMy40MAD//////////////////////////////////zEuMAD/////////////////////////////////////MzQ1MDQ0OTU5NAD///////////////////////////8CAg=="}' ,
32+ '{"0EEFF-00": "/+4AAGRD/j/yAKlmAAAAALAiDwAAAAAACAD/AAAABgB9gCQiAIIywA=="}' ,
33+ '{"1FB12-16": "EvsBAGRD/j/BAKlmAAAAAIk5CgAAAAAAIwD/ABYABgAYQMfxFSVHUk1EQEBFAP///////xgBWgAoALQAAAAAAAPh/w=="}' ,
34+ '{"0EEFF-09": "/+4AAGRD/j854qdmAAAAAKYuBwAAAAAACAD/AAkABgCP87AcAILcwA=="}' ,
35+ '{"1F014-1C": "FPABALg+gD9dtqdmAAAAALDoBQAAAAAAhgD/ABwABgA0CBMZR1BTTUFQIDg2MjIA//////////////////////////8zMy40MAD//////////////////////////////////zEuMAD/////////////////////////////////////MzQ1MDQ0OTU5NAD///////////////////////////8CAg=="}' ,
36+ '{"1F805-03": "BfgBAGRD/j/7AKlmAAAAAIisBAAAAAAAKwD/AAMAAwAw3k3g8VggQHY6VwKapwWA8z3EO6a69Wxqr/7/////JPwURgCCAOby//8A"}' ,
37+ '{"0EEFF-1C": "/+4AAGRD/j854qdmAAAAAFxRBwAAAAAACAD/ABwABgC6rrEcAILwwA=="}' ,
38+ '{"0EEFF-0F": "/+4AAGRD/j/0AKlmAAAAAJIGAQAAAAAACAD/AA8ABgDg87YcAILcwA=="}' ,
39+ '{"1F50B-13": "C/UBAPQZ/D9u4qdmAAAAAEhqDQAAAAAACAD/ABMAAwD/5gAAAAAA/w=="}' ,
40+ '{"1FA04-03": "BPoBAGRD/j/7AKlmAAAAAHiTBAAAAAAAkwD/AAMABgAw/QwFAAAAAKwP////f/EFRSplqPEP////f/UGrg+tPPAL////f/ULRSo5KLMS////f/UMUQ4UmusQ////f/UN9AzPbxcR////f/UU3DWuAC8N////f/UZ/w7xsWIR////f/Ud3Be21AoP////f/VF8yo5KIcQ////f/VGlhragOkJ////f/VV8xtB3owN////f/U="}' ,
41+ '{"1FD06-13": "Bv0BAPQZ/D9u4qdmAAAAAH1sDQAAAAAACAD/ABMABQD/HXT//////w=="}' ,
42+ '{"1F811-16": "EfgBALg+gD/TF6hmAAAAALeLCgAAAAAAMQD/ABYABABVajs6O8IN7dPom/UY9AAAAAAAAAAAGO4A4RcBNjcgICAgICAgICAgICAgICAgICAA"}' ,
43+ '{"1F805-16": "BfgBAGRD/j/7AKlmAAAAAH7oBAAAAAAALwD/ABYAAwDU3k3QylggQJvQujqapwWAKHLOX6a69QDv5wAAAAAAFPwCPgBwAJDy//8A/////w=="}' ,
44+ '{"1F014-13": "FPABALg+gD8nrqdmAAAAAKChCQAAAAAAhgD/ABMABgA0CNUHR1BTTUFQIDg2MTcA//////////////////////////8zMy40MAD//////////////////////////////////zEuMAD/////////////////////////////////////MzQ0ODUwNTY4MgD///////////////////////////8CAg=="}' ,
45+ '{"0EEFF-08": "/+4AAGRD/j854qdmAAAAAIxGBwAAAAAACAD/AAgABgBVirAcAILcwA=="}' ,
46+ '{"1F11A-16": "GvEBAGRD/j/7AKlmAAAAALovBAAAAAAACAD/ABYABgDS+P//cff//w=="}' ,
47+ '{"1F513-23": "E/UBAGRD/j/7AKlmAAAAAHmOBwAAAAAADgD/ACMABgD///////+f7LwAn+y8AA=="}' ,
48+ '{"1F801-03": "AfgBAPQZ/D/7AKlmAAAAAKFgCgAAAAAACAD/AAMAAgDMZkkYXwbj0w=="}' ,
49+ '{"1EFFF-14": "/+8BAGRD/j9u4qdmAAAAAEQ3DwAAAAAAIAD/ABQABwDlmEcZAgIGAwEBAw8I/w8AT4qwHAERABkAIpBOK4LZAg=="}' ,
50+ '{"1EFFF-07": "/+8BAGRD/j9u4qdmAAAAALbyDAAAAAAADQD/AAcABwDlmJMKAgIDCQARARkA"}' ,
51+ '{"1EFFF-0D": "/+8BAGRD/j9v4qdmAAAAAMMUAQAAAAAADQD/AA0ABwDlmJMKAgIDCQARARkA"}' ,
52+ '{"1EFFF-12": "/+8BAGRD/j9s4qdmAAAAAFkkDQAAAAAAIAD/ABIABwDlmEcZAgIGAwEBAw8I/w8APj2lHAERABkAIpBOK/TYAg=="}' ,
53+ '{"0EEFF-21": "/+4AAGRD/j/zAKlmAAAAAFCUBgAAAAAACAD/ACEABgDCy7UcAILwwA=="}' ,
54+ '{"1EFFF-09": "/+8BAGRD/j9u4qdmAAAAAAXcAgAAAAAADQD/AAkABwDlmJMKAgIDCQARARkA"}' ,
55+ '{"1F50B-23": "C/UBAGRD/j/7AKlmAAAAAMdBCAAAAAAACAD/ACMAAwD/oQAAAAAAAg=="}' ,
56+ '{"0EEFF-11": "/+4AAGRD/j854qdmAAAAAHM5BwAAAAAACAD/ABEABgCSHaQcAILwwA=="}' ,
57+ '{"0EAF0-21": "8OoAAGRD/j/oAKlmAAAAAEiNCgAAAAAAAwDwACEABgAA7gA="}' ,
58+ '{"1EFFF-13": "/+8BAGRD/j9u4qdmAAAAAIJYDAAAAAAAEQD/ABMABwDlmOcIAAoDAQMNivXixQERAQ=="}' ,
59+ '{"1FB02-16": "AvsBAGRD/j/0AKlmAAAAABZ3BgAAAAAATAD/ABYABgAF5pzkFQAAAABXREQ4ODcyTUFOSEFUVEFOIAD///////////9jAAAAAAAAAAALTQAAAAAAAE5ZIEhBUkJPUgD/////////////PuH/"}' ,
60+ '{"1F014-0C": "FPABALg+gD/R36dmAAAAAD6DAQAAAAAAhgD/AAwABgA0CAAAVmlydHVhbCBOMksgSW5wdXQgSGFuZGxlcgD///////8xLjAwAP///////////////////////////////////zEuMAD/////////////////////////////////////MzQ1MDQ0OTU5NAD///////////////////////////8CAA=="}' ,
61+ '{"0EAF0-02": "8OoAAGRD/j/yAKlmAAAAAC7YDAAAAAAAAwDwAAIABgAA7gA="}' ,
62+ '{"0EEFF-1E": "/+4AAGRD/j/xAKlmAAAAAOWlDQAAAAAACAD/AB4ABgAjkuDnAMigwA=="}' ,
63+ '{"1F113-02": "E/EBAGRD/j/7AKlmAAAAALaDCgAAAAAACAD/AAIAAgD/zyEAAP///w=="}' ,
64+ '{"1EFFF-0A": "/+8BAGRD/j9t4qdmAAAAAPbAAwAAAAAADQD/AAoABwDlmJMKAgIDCQARARkA"}' ,
65+ '{"1F801-16": "AfgBAGRD/j/7AKlmAAAAAFNuCQAAAAAACAD/ABYAAgCyZ0kY9gbj0w=="}' ,
66+ '{"0EEFF-07": "/+4AAGRD/j854qdmAAAAAHosBwAAAAAACAD/AAcABgBPirAcAILcwA=="}' ,
67+ '{"1FD0A-16": "Cv0BAGRD/j/7AKlmAAAAAIwtBAAAAAAACAD/ABYABQDSAACRYg8A/w=="}' ,
68+ '{"1F112-16": "EvEBAGRD/j/7AKlmAAAAAOUxBAAAAAAACAD/ABYAAgDSDVf/f3H3/Q=="}' ,
69+ '{"1FB11-16": "EfsBAGRD/j/vAKlmAAAAAH2TAgAAAAAAGwD/ABYABgAYC84sFERFTExBIEFVUk9SQQD/////////4f8="}' ,
70+ '{"0EEFF-19": "/+4AAGRD/j854qdmAAAAACZMBwAAAAAACAD/ABkABgBXUrEcAILwwA=="}' ,
71+ '{"1F80F-16": "D/gBAGRD/j/5AKlmAAAAALH4BwAAAAAAGwD/ABYABAASBXkqFPtQ3dMy9UMYcP//CgA6NQH//wBw//8="}' ,
72+ '{"1EFFF-17": "/+8BAGRD/j9u4qdmAAAAACc+DQAAAAAAEQD/ABcABwDlmOcIAAoDAQMNivXixQERAQ=="}' ,
73+ '{"0EAFF-01": "/+oAAGRD/j/dAKlmAAAAAHtJCwAAAAAAAwD/AAEABgAA7gA="}' ,
74+ '{"1EFFF-0B": "/+8BAGRD/j9t4qdmAAAAAPFfCAAAAAAADQD/AAsABwDlmJMKAgIDCQARARkA"}' ,
75+ '{"1F112-02": "EvEBAPQZ/D/7AKlmAAAAAAKACgAAAAAACAD/AAIAAgD/R0//f/9//Q=="}' ,
76+ '{"0EEFF-0A": "/+4AAGRD/j854qdmAAAAAMswBwAAAAAACAD/AAoABgBXUrEcAILcwA=="}' ,
77+ '{"1F802-16": "AvgBAPQZ/D/7AKlmAAAAACanCAAAAAAACAD/ABYAAgDZ/KwTAwD//w=="}' ,
78+ '{"0EEFF-13": "/+4AAGRD/j854qdmAAAAANA9BwAAAAAACAD/ABMABgBSBbAcAILwwA=="}' ,
79+ '{"1FD06-16": "Bv0BAGRD/j/7AKlmAAAAABspBAAAAAAACAD/ABYABQDS//////AD/w=="}' ,
80+ '{"0EEFF-16": "/+4AAGRD/j/dAKlmAAAAAIZLCwAAAAAACAD/ABYABgAsgwI/AMN4wA=="}' ,
81+ '{"1FA03-16": "A/oBAGRD/j/7AKlmAAAAAOvpBAAAAAAACAD/ABYABgDU0j4AXQD/fw=="}' ,
82+ '{"1F014-08": "FPABALg+gD/jiKdmAAAAAMnKCwAAAAAAhgD/AAgABgA0CAAAVmlydHVhbCBOMksgSW5wdXQgSGFuZGxlcgD///////8xLjAwAP///////////////////////////////////zEuMAD/////////////////////////////////////MzQ1MzY1MTU0MQD///////////////////////////8CAA=="}' ,
83+ '{"1EFFF-1C": "/+8BAGRD/j9u4qdmAAAAAItZCgAAAAAADgD/ABwABwDlmOAIAgIDCQwS0A8ZAA=="}' ,
84+ '{"1EFFF-19": "/+8BAGRD/j9u4qdmAAAAAMY6CQAAAAAADgD/ABkABwDlmOAIAgIDCQwS0A8ZAA=="}' ,
85+ '{"1FD08-13": "CP0BAPQZ/D9u4qdmAAAAAERoDQAAAAAACAD/ABMABQD/AAAddP///w=="}' ,
86+ '{"0EEFF-06": "/+4AAGRD/j854qdmAAAAAP4/BwAAAAAACAD/AAYABgBSBbAcAILcwA=="}' ,
87+ '{"0EEFF-12": "/+4AAGRD/j854qdmAAAAAJ47BwAAAAAACAD/ABIABgA+PaUcAILwwA=="}' ,
88+ '{"0EEFF-26": "/+4AALg+gD/dAKlmAAAAADlWCwAAAAAACAD/ACYABgC9y2g0AIL6wA=="}' ,
89+ '{"1F010-03": "EPABAGRD/j/7AKlmAAAAAPaUBAAAAAAACAD/AAMAAwAw8N5N4PFYIA=="}' ,
90+ '{"0EFFF-02": "/+8AAGRD/j/0AKlmAAAAAO1ICgAAAAAACAD/AAIABwDlmBAXBAQUAQ=="}' ,
91+ '{"1FA03-03": "A/oBAGRD/j/7AKlmAAAAAImuBAAAAAAACAD/AAMABgAw00YAbQBNAA=="}' ,
92+ '{"1EFFF-11": "/+8BAGRD/j9s4qdmAAAAAA62CwAAAAAAGQD/ABEABwDlmEgZAgIDAwEBAw8I/w8Akh2kHAETl68D"}' ,
93+ '{"0EEFF-15": "/+4AAGRD/j854qdmAAAAAFdEBwAAAAAACAD/ABUABgBVirAcAILwwA=="}' ,
94+ '{"0EEFF-0C": "/+4AAGRD/j854qdmAAAAAIhTBwAAAAAACAD/AAwABgC6rrEcAILcwA=="}' ,
95+ '{"1F903-13": "A/kBAGRD/j9u4qdmAAAAAHDRBQAAAAAACAD/ABMAAwD/8f///3///w=="}' ,
96+ '{"0EEFF-10": "/+4AAGRD/j/zAKlmAAAAAPFCAwAAAAAACAD/ABAABgCEkeDnAMigwA=="}' ,
97+ '{"1F11A-03": "GvEBAGRD/j/7AKlmAAAAADyxBAAAAAAACAD/AAMABgAw8t5NZff//w=="}' ,
98+ '{"0EAF0-25": "8OoAAGRD/j+LAKlmAAAAAMC3AAAAAAAAAwDwACUABgAA7gA="}' ,
99+ '{"1FA04-16": "BPoBAGRD/j/7AKlmAAAAAPHyBAAAAAAAGwD/ABYABgDU/wIJ6ArzGwAAAAAAAPIxAAAhQgAAAAAAAPI="}' ,
100+ '{"1EFFF-02": "/+8BAPQZ/D/7AKlmAAAAAP5LCgAAAAAADQD/AAIABwDlmBAXBAQRAgpODBEA"}' ,
101+ '{"1F503-23": "A/UBAGRD/j/7AKlmAAAAAGUyCAAAAAAACAD/ACMAAgD/AAD//wD//w=="}' ,
102+ '{"1F119-03": "GfEBAPQZ/D/7AKlmAAAAAE6ICgAAAAAACAD/AAMAAwA0/n/+f/5//w=="}' ,
103+ '{"0EEFF-0B": "/+4AAGRD/j854qdmAAAAACtPBwAAAAAACAD/AAsABgC3rrEcAILcwA=="}' ,
104+ '{"1EFFF-15": "/+8BAGRD/j9u4qdmAAAAAIbyBAAAAAAAEQD/ABUABwDlmOcIAAoDAQMNivXixQERAQ=="}' ,
105+ '{"1FF04-26": "BP8BAGRD/j/7AKlmAAAAAP+RCgAAAAAACAD/ACYABwCjmV+AAQEAAQ=="}' ,
106+ '{"1EFFF-1B": "/+8BAPQZ/D9u4qdmAAAAAAVrCwAAAAAAEQD/ABsABwDlmOcIAAoDAQMNivXixQERAQ=="}' ,
107+ '{"0EEFF-1B": "/+4AAGRD/j854qdmAAAAAJhNBwAAAAAACAD/ABsABgC3rrEcAILwwA=="}' ,
108+ '{"1FD07-23": "B/0BAPQZ/D/7AKlmAAAAAMt6BQAAAAAACAD/ACMABQD/wKF0/3///w=="}' ,
109+ '{"1EFFF-08": "/+8BAGRD/j9t4qdmAAAAAGBhAwAAAAAADQD/AAgABwDlmJMKAgIDCQARARkA"}' ,
110+ '{"1F80E-16": "DvgBAPQZ/D/7AKlmAAAAAGU4CgAAAAAAHAD/ABYABAABIr3dFR274tOMLU0YfL3XAADYCAr///9/wPj/"}' ,
111+ '{"0EEFF-03": "/+4AAGRD/j/dAKlmAAAAAOVRCwAAAAAACAD/AAMABgA8WrkcAJF4wA=="}' ,
112+ '{"1EFFF-0C": "/+8BAGRD/j9u4qdmAAAAAEMzCAAAAAAADQD/AAwABwDlmJMKAgIDCQARARkA"}' ,
113+ '{"0EEFF-25": "/+4AAGRD/j/yAKlmAAAAAINNCwAAAAAACAD/ACUABgD7y7UcAILwwA=="}' ,
114+ '{"1EFFF-1D": "/+8BAGRD/j9u4qdmAAAAANgXCgAAAAAAEQD/AB0ABwDlmOcIAAoDAQMNivXixQERAQ=="}' ,
115+ '{"0EEFF-17": "/+4AAGRD/j854qdmAAAAALpIBwAAAAAACAD/ABcABgCP87AcAILwwA=="}' ,
116+ '{"1F119-02": "GfEBAPQZ/D/7AKlmAAAAABX8CAAAAAAACAD/AAIAAwD/R0/4/9P//w=="}' ,
117+ '{"1F014-17": "FPABALg+gD++oadmAAAAAAINAAAAAAAAhgD/ABcABgA0CBMZR1BTTUFQIDg2MjIA//////////////////////////8zMy40MAD//////////////////////////////////zEuMAD/////////////////////////////////////MzQ0MjI3NTIxNQD///////////////////////////8CAg=="}' ,
118+ '{"1F904-13": "BPkBAGRD/j9u4qdmAAAAAJHPBQAAAAAAIgD/ABMAAwD//////w////////////////////////////9/////f/9/"}' ,
119+ '{"1F014-19": "FPABALg+gD9ZtqdmAAAAAHfxAQAAAAAAhgD/ABkABgA0CNUHR1BTTUFQIDg2MTcA//////////////////////////8zMy40MAD//////////////////////////////////zEuMAD/////////////////////////////////////MzQ1MDgxOTE1OQD///////////////////////////8CAg=="}' ,
120+ '{"1EFFF-06": "/+8BAGRD/j9u4qdmAAAAAOsuCAAAAAAADQD/AAYABwDlmJMKAgIDCQARARkA"}' ,
121+ '{"0EEFF-14": "/+4AAGRD/j854qdmAAAAADBCBwAAAAAACAD/ABQABgBPirAcAILwwA=="}' ,
122+ '{"1EFFF-03": "/+8BAGRD/j/7AKlmAAAAAP7MBAAAAAAAPgD/AAMABwDlmBcABAQ5J2xARWY4QDrPlUA6zxVAOs8VQArXozzNzMw9CtejPM3MzD2nOTQ/2R6MP26Ypj8kr0Y/AAAAAA=="}' ,
123+ '{"1F112-03": "EvEBAGRD/j/7AKlmAAAAANDGCQAAAAAACAD/AAMAAgAz/v//f/9//A=="}' ,
124+ '{"0EEFF-23": "/+4AAGRD/j/B/qhmAAAAAEhFCwAAAAAACAD/ACMABgADIOoQAIh4wA=="}' ,
125+ '{"0EEFF-1D": "/+4AAGRD/j854qdmAAAAALFVBwAAAAAACAD/AB0ABgCY4rEcAILwwA=="}' ,
126+ '{"1F802-03": "AvgBAPQZ/D/7AKlmAAAAAPlbCgAAAAAACAD/AAMAAgA0/E/iAwD//w=="}' ,
127+ '{"0EEFF-01": "/+4AAGRD/j/yAKlmAAAAAEI1DwAAAAAACAD/AAEABgBuvCQiAIcywA=="}' ,
128+ '{"1FD07-16": "B/0BAGRD/j/7AKlmAAAAAFwrBAAAAAAACAD/ABYABQDS/////3/wAw=="}' ,
129+ '{"1FD06-23": "Bv0BAGRD/j/7AKlmAAAAAF2MCgAAAAAACAD/ACMABQD/oXT//////w=="}' ,
130+ '{"0EEFF-02": "/+4AAGRD/j/dAKlmAAAAALlPCwAAAAAACAD/AAIABgDJ2r0cAJZQwA=="}' ,
131+ '{"1FD0C-23": "DP0BAPQZ/D/6AKlmAAAAAIOXCgAAAAAACAD/ACMABQD/AABSjgT//w=="}' ,
132+ '{"0EEFF-0D": "/+4AAGRD/j854qdmAAAAAPAyBwAAAAAACAD/AA0ABgCY4rEcAILcwA=="}' ,
133+ '{"1F11A-11": "GvEBAGRD/j9s4qdmAAAAAArdCwAAAAAACAD/ABEABgD/8t1NZff//w=="}'
35134 ];
36135
37136 for (var data in dataPoints) {
38137 List <String > key = jsonDecode (data).keys.toList ();
39- print ('Processing data: $key ' );
138+ log ('Processing data: $key ' );
40139 byteArr = Uint8List .fromList (utf8.encode (data));
41140 result = flutter_nmea.processData (byteArr);
141+ log ('$result ' );
42142 }
43143 }
44144
45145 void processDataCall () {
46- if (! textEditingController.text.isEmpty ) {
146+ if (textEditingController.text.isNotEmpty ) {
47147 byteArr = Uint8List .fromList (utf8.encode (textEditingController.text));
48- print (byteArr);
49148 setState (() {
50149 showData = true ;
51150 });
0 commit comments