//Arun Geo Thomas private void btnStartOperation_Click(object sender, EventArgs e) { if (File.Exists(logFileName)) { File.Delete(logFileName); } try { serialPortManager = new SerialPortManager(cbCOMPortsSelector.SelectedItem.ToString()); if (serialPortManager.Connect()) { lblSerialportMessages.Text = "Connected"; readSerialPortData = true; serialPortReadThread = new Thread(new ThreadStart(BackendThreadExecute)); serialPortReadThread.Start(); cbCOMPortsSelector.Enabled = false; btnStartOperation.Enabled = false; JSTimer.Start(); } else { lblSerialportMessages.Text = "Already Connected"; } } catch (Exception ex) { lblSerialportMessages.Text = "Error Cant Connect: " + ex.Message; } }
static void Main() { SerialPortManager serialPortManager = new SerialPortManager(CommunicationMode.Server); serialPortManager.Log += (sender, eventArgs) => Console.WriteLine(eventArgs.Message); serialPortManager.Connect(); ManualResetEventSlim exitEvent = new ManualResetEventSlim(false); Console.CancelKeyPress += (sender, args) => exitEvent.Set(); while (!exitEvent.IsSet) { Console.WriteLine("Waiting for message"); serialPortManager.ReceiveMessage(); Console.WriteLine("Message received with type " + OperationContext.Request.Message.MessageType); switch (OperationContext.Request.Message.MessageType) { case MessageType.ListFilesRequest: HandleListFilesRequest(serialPortManager); break; case MessageType.SendFileRequest: HandleSendFileRequest(serialPortManager); break; case MessageType.ReceiveFileRequest: HandleReceiveFileRequest(serialPortManager); break; default: throw new NotImplementedException( "No handler for message type " + OperationContext.Request.Message.MessageType); } } }