Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
 public ClassSerial()
 {
     queryDone = true;
     epState   = eProgramState.UnknownState;
     strRx     = new List <string>();
     mserial   = new SerialPort();
     strBufRx  = "";
     // sComPort = USBTools.doGetUsb(usbDeviceString);
 }
Esempio n. 4
0
        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 + ";");
            }
        }
Esempio n. 5
0
        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");
        }