internal void ResetCOMPort() { if (this._serialPort != null) { this._serialPort.Dispose(); this._serialPort = null; } }
internal void Disconnect() { if (this._serialPort != null) { this._serialPort.Flush(); this._serialPort.Dispose(); this._serialPort = null; } }
internal bool Connect(string comPort) { if (this._serialPort != null) { return(false); } this._serialPort = new SerialCOM(@"\\.\" + comPort, 0x1c200, StopBits.One, Parity.None, 8); return(this._serialPort.Open()); }
private void Form1_Load(object sender, EventArgs e) { serial = new SerialCOM(); serial.sp = serialPort1; string[] portnames; int[] Baudrate = { 9600, 115200 }; portnames = SerialPort.GetPortNames(); foreach (string port in portnames) { comboBox1.Items.Add(port); } foreach (int baud in Baudrate) { comboBox2.Items.Add(baud); } serialPort1.DataReceived += new SerialDataReceivedEventHandler(serialPort1_DataReceived); comboBox1.Text = portnames[0]; }
private void Worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { // check error, check cancel, then use result if (e.Error != null) { // handle the error lb_status.Content = "Error"; } else if (e.Cancelled) { // handle cancellation lb_status.Content = "Scanner not found"; } else { // use it on the UI thread try { string receivedDate = (string)e.Result; if (receivedDate != "Null") { dynamic data = JsonConvert.DeserializeObject(receivedDate); tb_serialId.Text = data.serialId; lb_status.Content = ""; } else { lb_status.Content = "Error"; tb_serialId.Text = ""; } } catch (Exception ex) { logFile.Error(ex.Message); Constant.mainWindowPointer.WriteLog(ex.Message); } } // general cleanup code, runs when there was an error or not. serial.Close(); serial = null; btn_scanId.IsEnabled = true; btn_scanId.Content = "Scan"; }
private void Worker_DoWork(object sender, DoWorkEventArgs e) { if (serial == null) { serial = new SerialCOM(Properties.Settings.Default.ComPortName.ToString(), Properties.Settings.Default.ComPortBaudrate); serial.Open(); } if (serial._serialPort.IsOpen) { Dispatcher.BeginInvoke(new ThreadStart(() => { lb_status.Content = "Scanning..."; })); e.Result = serial.ReceiveData(); } else { e.Cancel = true; } }