Ejemplo n.º 1
0
        private void usb_OnDataRecieved_5(object sender, UsbLibrary.DataRecievedEventArgs args)
        {
            SensorData tmp = new SensorData(args.data);

            i++;
            if (i % speedChar == 0)
            {
                this.BeginInvoke(updateCrartDelegat, tmp);
                i = 1;
            }

            switch (status)
            {
            case Status.Mouse:
                Mouse.MoveMouse(tmp.Gz, tmp.Gx);
                break;

            case Status.Gestures:
                GesturesEnum ge = Gestures.IdentifyGesture(tmp);
                if (ge != GesturesEnum.None)
                {
                    this.BeginInvoke(updateGesturesLableDelegat, ge);
                }

                if (ge != GesturesEnum.None)
                {
                    System.Diagnostics.Debug.Print("--------------{0}", ge.ToString());
                }
                break;

            case Status.Level:
                this.BeginInvoke(updateLevelDelegat, tmp);
                break;
            }
        }
Ejemplo n.º 2
0
 private void usbHidPort1_OnDataRecieved(object sender, UsbLibrary.DataRecievedEventArgs args)
 {
     if (InvokeRequired)
     {
         try
         {
             Invoke(new UsbLibrary.DataRecievedEventHandler(usbHidPort1_OnDataRecieved), new object[] { sender, args });
         }
         catch (Exception ex)
         {
             Console.WriteLine(ex.ToString());
         }
     }
     else
     {
         byte[] usb_gelen = new byte[usbHidPort1.SpecifiedDevice.OutputReportLength + 1];
         byte   i         = 0;
         foreach (byte myData in args.data)
         {
             usb_gelen[i++] = myData;
         }
         label2.Text = Convert.ToString(Convert.ToChar(usb_gelen[1]))
                       + Convert.ToString(Convert.ToChar(usb_gelen[2]))
                       + Convert.ToString(Convert.ToChar(usb_gelen[3]))
                       + Convert.ToString(Convert.ToChar(usb_gelen[4]))
                       + Convert.ToString(Convert.ToChar(usb_gelen[5]))
                       + Convert.ToString(Convert.ToChar(usb_gelen[6]))
                       + Convert.ToString(Convert.ToChar(usb_gelen[7]))
                       + " " + Convert.ToString(Convert.ToChar(176)) + "C";
     }
 }
Ejemplo n.º 3
0
 private void usbHidPort1_OnDataRecieved(object sender, UsbLibrary.DataRecievedEventArgs args)
 {
     if (InvokeRequired)
     {
         try
         {
             Invoke(new UsbLibrary.DataRecievedEventHandler(usbHidPort1_OnDataRecieved), new object[] { sender, args });
         }
         catch (Exception ex)
         {
             Console.WriteLine(ex.ToString());
         }
     }
     else
     {
         byte[] usb_gelen = new byte[usbHidPort1.SpecifiedDevice.OutputReportLength + 1];
         byte   i = 0, porte = 0x00;
         foreach (byte myData in args.data)
         {
             usb_gelen[i++] = myData;
         }
         if (usb_gelen[3] == 1)
         {
             label5.BackColor = Color.Red;
             porte            = Convert.ToByte(porte | 0x01);
         }
         else
         {
             label5.BackColor = Color.LightSkyBlue;
         }
         label5.Text = "RE0 : " + Convert.ToString(usb_gelen[3]);
         label7.Text = porte.ToString("X2");
         if (usb_gelen[4] == 1)
         {
             label6.BackColor = Color.Red;
             porte            = Convert.ToByte(porte | 0x02);
         }
         else
         {
             label6.BackColor = Color.LightSkyBlue;
         }
         label6.Text = "RE1 : " + Convert.ToString(usb_gelen[4]);
         label7.Text = "0X" + porte.ToString("X2");
     }
 }
Ejemplo n.º 4
0
        public void DataReceived(object sender, UsbLibrary.DataRecievedEventArgs e)
        {
            Array.Clear(writeBuffer, 0, writeBuffer.Length);
            char[] asciiChars = new char[Encoding.ASCII.GetCharCount(e.data, 0, e.data.Length)];
            Encoding.ASCII.GetChars(e.data, 0, e.data.Length, asciiChars, 0);
            string newString = new string(asciiChars);

            tempString += new string(asciiChars).Substring(5);
            tempString  = tempString.Replace("\0", string.Empty);

            //send read number of results on device message
            if (_HeaderRead && !_NumResultsRead && _CountStep <= 3)
            {
                GetSampleCountMessages();
                return;
            }

            ////send read config message
            //if (_HeaderRead && _NumResultsRead && !_ConfigRead && _CountStep <= 1)
            //{
            //    GetConfigMessages();
            //    return;
            //}

            //preheader
            if (tempString.StartsWith(Statics.GetStringFromAsciiCode((byte)AsciiCodes.ENQ)) && tempString.Length == 1)
            {
                tempString     = string.Empty;
                writeBuffer[3] = (byte)AsciiCodes.RH;
                writeBuffer[4] = (byte)AsciiCodes.ACK;
                Port.SpecifiedDevice.SendData(writeBuffer);
                return;
            }

            //new line detected so frame is complete
            if (tempString.Contains("\r\n"))
            {
                tempString = tempString.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries)[0];

                //header
                if (tempString.Contains(((char)AsciiCodes.STX).ToString() + "1H"))
                {
                    _HeaderRead = true;
                    ParseHeader(tempString);
                    tempString     = string.Empty;
                    writeBuffer[3] = (byte)AsciiCodes.RH;
                    writeBuffer[4] = (byte)AsciiCodes.EOT;
                    Port.SpecifiedDevice.SendData(writeBuffer);
                    Thread.Sleep(100);
                    return;
                }

                //patient record
                if (tempString.Length > tempString.IndexOf((char)AsciiCodes.STX) + 2 && tempString[tempString.IndexOf((char)AsciiCodes.STX) + 2] == 'P')
                {
                    tempString = string.Empty;
                }

                //terminator record
                if (tempString.Length > tempString.IndexOf((char)AsciiCodes.STX) + 2 && tempString[tempString.IndexOf((char)AsciiCodes.STX) + 2] == 'L')
                {
                    tempString = string.Empty;
                }

                //glucose record
                if (tempString.Contains("^^^Glucose"))
                {
                    string[] splitrecord = tempString.Split(new string[] { "|", "\r", "^" }, StringSplitOptions.RemoveEmptyEntries);
                    int      year        = int.Parse(splitrecord[7].Substring(0, 4));
                    int      month       = int.Parse(splitrecord[7].Substring(4, 2));
                    int      day         = int.Parse(splitrecord[7].Substring(6, 2));
                    int      hour        = int.Parse(splitrecord[7].Substring(8, 2));
                    int      minute      = int.Parse(splitrecord[7].Substring(10, 2));

                    DateTime dtTimeStamp = new DateTime(year, month, day, hour, minute, 0);

                    int    glucose      = int.Parse(splitrecord[3]);
                    string sampleFormat = splitrecord[4];

                    this.SampleFormat = sampleFormat.ToLowerInvariant().Contains("mmol") ? SampleFormat.MMOL : SampleFormat.MGDL;

                    //put the record in the dataset and raise the read event
                    try
                    {
                        if (Records.FindByTimestamp(dtTimeStamp) == null)
                        {
                            //only insert non-duplicate records
                            OnRecordRead(new RecordReadEventArgs(this._Records.AddRecordRow(dtTimeStamp, glucose, sampleFormat)));
                            RecordsRead++;
                        } //if
                    }     //try
                    catch
                    {
                    }//catch

                    tempString = string.Empty;
                }

                //num results message arrived
                if (tempString.Contains("D|") && !_NumResultsRead)
                {
                    //cut message out of string
                    string    message = tempString.Substring(tempString.IndexOf("D|"));
                    string [] splits  = tempString.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries);
                    this.SampleCount = Convert.ToInt32(splits[1]);
                    tempString       = string.Empty;
                    _NumResultsRead  = true;
                    _CountStep       = 0;
                    Thread.Sleep(100);
                    OnHeaderRead(new HeaderReadEventArgs(SampleCount, this));
                    //GetConfigMessages();
                    return;
                }

                ////results format
                //if (tempString.Contains("D|") && !_ConfigRead)
                //{
                //    //cut message out of string
                //    string message = tempString.Substring(tempString.IndexOf("D|"));
                //    string[] splits = tempString.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries);
                //    BitArray bitary = new BitArray(Byte.Parse(splits[1]));
                //    SampleFormat = (bitary.Get(2)) ? SampleFormat.MMOL : SampleFormat.MGDL;
                //    tempString = string.Empty;
                //    _ConfigRead = true;
                //    _CountStep = 0;
                //    Thread.Sleep(100);
                //    return;
                //}
            }

            //end of transmission encountered after a header record is read
            if (_HeaderRead && _NumResultsRead && RecordsRead >= SampleCount)
            {
                _HeaderRead          = false;
                Port.OnDataRecieved -= new UsbLibrary.DataRecievedEventHandler(DataReceived);
                Port.SpecifiedDevice.DataRecieved -= SpecifiedDevice_DataRecieved;
                OnReadFinished(new ReadFinishedEventArgs(this));
                Close();
                Dispose();
                return;
            }//elseif

            if (_NumResultsRead)// && _ConfigRead)
            {
                Array.Clear(writeBuffer, 0, writeBuffer.Length);
                writeBuffer[4] = (byte)AsciiCodes.RH;
                writeBuffer[5] = (byte)AsciiCodes.ACK;
                Port.SpecifiedDevice.SendData(writeBuffer);
                Thread.Sleep(100);
            }
        }
Ejemplo n.º 5
0
 void SpecifiedDevice_DataRecieved(object sender, UsbLibrary.DataRecievedEventArgs args)
 {
     DataReceived(sender, args);
 }
Ejemplo n.º 6
0
 private void usb_OnDataRecieved_6(object sender, UsbLibrary.DataRecievedEventArgs args)
 {
     System.Diagnostics.Debug.Print("---usb_OnDataRecieved_6");
 }
Ejemplo n.º 7
0
 private void usb_OnDataRecieved(object sender, UsbLibrary.DataRecievedEventArgs args)
 {
 }
Ejemplo n.º 8
0
 public void USBCom_OnDataReceived(object sender, UsbLibrary.DataRecievedEventArgs args)
 {
     OnLaserReportReceived(args.data);
 }