38 lines
786 B
C#
38 lines
786 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO.Ports;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using NmeaParser;
|
|
|
|
namespace skyscraper5.NmeaSharpWrapper
|
|
{
|
|
internal class SerialDevice : NmeaSharpWrapper
|
|
{
|
|
public SerialDevice(string portname, int baudrate)
|
|
{
|
|
this.portname = portname;
|
|
this.baudrate = baudrate;
|
|
}
|
|
|
|
private string portname;
|
|
private int baudrate;
|
|
|
|
protected override void ProcessorThread()
|
|
{
|
|
SerialPort sp = new SerialPort(this.portname, this.baudrate);
|
|
SerialPortDevice spd = new SerialPortDevice(sp);
|
|
spd.MessageReceived += HandleNmeaMessage;
|
|
spd.OpenAsync().Wait();
|
|
CancelRequest = false;
|
|
while (!CancelRequest)
|
|
{
|
|
Thread.Sleep(1000);
|
|
}
|
|
|
|
spd.CloseAsync().Wait();
|
|
}
|
|
}
|
|
}
|