/// <summary> /// Write message to the ublox reciver. /// </summary> /// <param name="message"></param> public bool WriteMessage(IMessageBase message) { byte[] messageArray = message.ToArray(); WriteReceiver(messageArray); if (message.IsAcknowledged) { int acknowledgeKey = new { Class = 0x05, Id = 0x01, MessageClass = messageArray[2], MessageId = messageArray[3] }.GetHashCode(); var stopwatch = new Stopwatch(); stopwatch.Start(); do { if (Acknowlagements.ContainsKey(acknowledgeKey)) { Acknowlagements.Remove(acknowledgeKey); return(true); } else { Task.Delay(10).Wait(); } } while (stopwatch.Elapsed < TimeSpan.FromSeconds(AcknowledgementTimeOut)); } return(false); }