public void Send(uint id, VividTouchMessageType messageType, byte[] bytes) { var message = new byte[bytes.Length + 5]; message[0] = 0x07; message[1] = (byte)id; message[2] = (byte)messageType; Array.Copy(bytes, 0, message, 3, bytes.Length); message[bytes.Length + 3] = 0x08; message[bytes.Length + 4] = 0x0d; #if DEBUG CrestronConsole.PrintLine("VT Board Tx: "); Tools.PrintBytes(message, message.Length, true); #endif _txQueue.Enqueue(message); if (_txThread == null || _txThread.ThreadState != Thread.eThreadStates.ThreadRunning) { _txThread = new Thread(specific => { while (!_txQueue.IsEmpty) { var m = _txQueue.Dequeue(); _comPort.Send(m, m.Length); Thread.Sleep(200); } return(null); }, null) { Name = string.Format("{0} Tx Handler", GetType().Name), Priority = Thread.eThreadPriority.MediumPriority }; } }
public void Send(VividTouchMessageType messageType, byte[] bytes) { _comPortHandler.Send(0x01, messageType, bytes); }