NMEA C# parser. Biblioteka NmeaParser.WinDesktop - wczytanie pliku LOG

0

Uzywam biblioteki NmeaParser.WinDesktop aby wczytac punkty/pozycje/predkosc do ListView z pliku .log z NMEA. To dziala, kordynaty sa poprawne, predkosci poprawne itp, ale callback (funkcja dodajaca punkty) wywoluje sie co 1 ms, przrez co ladowanie trwa dlugo. Jak wczytac calosc od razu?

Oto moj kod:

// 1 is the time in ms
            // new NmeaFileDevice(s); // dont work, has bigger lag
            NmeaFileDevice fs = new NmeaFileDevice(s, 1);
            fs.MessageReceived += device_NmeaMessageReceived;
            fs.OpenAsync();
0

NmeaFileDevice dziedziczy po BufferedStreamDevice, a tam jest używany System.Threading.Timer, który działa na milisekundach i teraz tak, możesz zmienić ten timer, albo stworzyć publiczną metodę, która będzie wywoływała prywatną metodę z BufferedStream onRead i ją odpalisz tyle razy ile potrzebujesz xd

0

Ogólnie funkcja

public override int Read(byte[] buffer, int offset, int count)

może posłużyć ci do wczytania tego pliku, zbuforujesz ten plik do buffora i go podasz do tej funkcji, a ona go dopisze do wewnętrznego.
Gdzieś w onRead jest rzutowanie jeszcze buffora na utf-8 co pewnie możliwe, że te dane są tak zapisane.

1 użytkowników online, w tym zalogowanych: 0, gości: 1