public int OpenPort(string comPort) { int error = 0x00; try { if (!mserial.IsOpen) { error = 0x00; mserial.PortName = comPort; mserial.Open(); mserial.DiscardInBuffer(); mserial.DiscardOutBuffer(); if (!mserial.IsOpen) { error = 0x01; return(error); } else { epState = eProgramState.COMPORT_OPENED; mserial.DataReceived += Mserial_DataReceived; } } } catch (Exception e) { string errMsg = e.Message; error = 0x02; return(error); } return(error); }
private void DevicePluggedOutEventReceived(object sender, EventArrivedEventArgs e) { try { ManagementBaseObject instance = (ManagementBaseObject)e.NewEvent["TargetInstance"]; // if (vserial.communicationErrorBool == false) { string[] deviceArr = deviceID.Split('|'); int deviceArrLen = deviceArr.Length; for (int a = 0; a < deviceArrLen; a++) { if (instance.Properties["DeviceID"].Value.ToString().Contains(deviceArr[a])) { // getWristStrapStateBtn.Enabled = false; // calibrationBtn.Enabled = false; epState = eProgramState.UsbPlugIn; callback("UsbCableUnplug;");// ("USB cable unplug detected"); //OnDevicePluggedIn(EventArgs.Empty); // AppendToLogFile("USB_PLUG_OUT_DETECTED"); // vserial.setCommunicationError(true); // vserial.ClosePort(); // LogOff(); } } // vserial.communicationErrorBool = true; } } catch (Exception g) { // HandleCatchMessage(ref g); } }
public ClassSerial() { queryDone = true; epState = eProgramState.UnknownState; strRx = new List <string>(); mserial = new SerialPort(); strBufRx = ""; // sComPort = USBTools.doGetUsb(usbDeviceString); }
public void Init() { try { SetupPnPEventWatcher(); pluggedInWatcher.Start(); pluggedOutWatcher.Start(); string deviceID = "VID_04B4&PID_0002|VID_04D8&PID_000A|VID_0000&PID_0000"; string ard1 = "USB Serial Port"; string ard2 = "USB Serial Port"; string ard3 = "def"; string ard = ard1 + "|" + ard2 + "|" + ard3; // string ardComPortNo = ""; sComPort = "null"; sComPort = USBTools.doGetUsb2(ard, deviceID);//,ref outDeviceName); if (!sComPort.Contains("COM")) { epState = eProgramState.COMPORT_NUMBER_NOT_FOUND; callback("COMPORT_NUMBER_NOT_FOUND;"); return; } //callback("COMPORT_OPEN:SUCCESS:" + sComPort + ";"); if (this.OpenPort(sComPort) == 0x01) { epState = eProgramState.COMPORT_FAIL_OPEN; callback("ERROR:COMPORT_OPEN_FAIL;"); return; } else { callback("COMPORT_OPEN_SUCCESS:" + sComPort + ";"); } } catch (Exception e) { callback("ClassSerial:ExceptionHit:" + e.Message + ";"); } }
private void DevicePluggedInEventReceived(object sender, EventArrivedEventArgs e) { try { ManagementBaseObject instance = (ManagementBaseObject)e.NewEvent["TargetInstance"]; string[] deviceArr = deviceID.Split('|'); int deviceArrLen = deviceArr.Length; for (int a = 0; a < deviceArrLen; a++) { if (instance.Properties["DeviceID"].Value.ToString().Contains(deviceArr[a])) { epState = eProgramState.UsbPlugIn; /* * // if (vserial.communicationErrorBool == true) * { * vserial.communicationErrorBool = false; * //OnDevicePluggedIn(EventArgs.Empty); * // AppendToLogFile("USB_PLUG_IN_DETECTED"); * * * * * * string ard1 = "USB Serial Port"; * string ard2 = "USB Serial Port"; * string ard3 = "def"; * string ard = ard1 + "|" + ard2 + "|" + ard3; * // string ardComPortNo = ""; * finalComPortNumber = "null"; * finalComPortNumber = doGetUsb(ard);//,ref outDeviceName); * string instanceId = doGetUsbDeviceId(ard, deviceID); * // bool resetResult = PortHelper.TryResetPortByInstanceId(@"USB\VID_04D8&PID_000A\9&22F2C77B&0&4"); * * bool portSuccess = false; * while (!portSuccess) * { * // bool resetResult = PortHelper.TryResetPortByName(finalComPortNumber); * bool resetResult = PortHelper.TryResetPortByInstanceId(instanceId); * System.Threading.Thread.Sleep(5000); * portSuccess = CSerial.IsPortAvailable(finalComPortNumber); * } * * //TryResetPortByName * if (finalComPortNumber.Equals("null")) * { * msg("COM Port Error"); * vserial.setCommunicationError(true); * // getWristStrapStateBtn.Enabled = false; * // calibrationBtn.Enabled = false; * } * else * { * int err = vserial.OpenPort(finalComPortNumber); * if (err > 0) * { * msg("COM Port Error"); * vserial.setCommunicationError(true); * // getWristStrapStateBtn.Enabled = false; * // calibrationBtn.Enabled = false; * } * else * { * msg("COM Port Opened Success"); * comPortOpenedSuccess = true; * vserial.setCommunicationError(false); * * // getWristStrapStateBtn.Enabled = true; * // calibrationBtn.Enabled = true; * startStuffHere(); * } * } * * if (comPortOpenedSuccess == false) * { * outLabel(ref taskMessageLabel, "Com Port Fail,Please call support", false); * * * return; * } * } * */ } } } catch (Exception g) { // HandleCatchMessage(ref g); } callback("UsbCablePlugIn;"); //msg("USB cable plug in detected"); }