public PpsCard(string inputResourceLocator, string logFilePath, string rawFilePath, string errFilePath) { InputResourceLocator = inputResourceLocator; logger = new ThreadedLogger(logFilePath, "PpsCardLogger"); logger.Start(); logger.LogLine("time(UTC)\tdelay\taverage (N=90)\taverage (N=500)\taverage (N=1000)\ttemperature"); if (int.TryParse(inputResourceLocator, out int comPortNumber)) { card = new NmeaDevice(new ComPort(comPortNumber, 115200, Parity.NOPARITY, 8, StopBits.ONESTOPBIT), rawFilePath, errFilePath, "PpsCard"); } else { card = new NmeaDevice(inputResourceLocator, rawFilePath, errFilePath, "PpsCard"); } card.MessageReceived += NmeaMessageReceived; card.OpenPort(); card.startLogging(); card.ResetInputStream(); }