Ejemplo n.º 1
0
        private void OpenDevice()
        {
            ushort vid = 0, pid = 0;

            if (textBox3.Text != "" && textBox2.Text != "")
            {
                vid = (ushort)Convert.ToInt32(textBox3.Text, 16);
                pid = (ushort)Convert.ToInt32(textBox2.Text, 16);
            }
            Clear();
            Print("0x" + vid.ToString("x"));
            Print("0x" + pid.ToString("x"));
            try
            {
                HidDevice[] HidDeviceList = HidDevices.Enumerate(vid, pid, Convert.ToUInt16(0xFF31)).ToArray();
                if (HidDeviceList == null || HidDeviceList.Length == 0)
                {
                    Print("Connect usb device. Try open again or select a keyboard templet!");
                    HidDevice = null;
                    return;
                }
                for (int i = 0; i < HidDeviceList.Length; i++)
                {
                    //Print(HidDeviceList[i].DevicePath);
                    HidDevice = HidDeviceList[0];
                    break;
                }
                if (HidDevice == null)
                {
                    Print("Connect usb device. Try open again.");
                    return;
                }
                Print("Device OK");
                byte[] outdata = new byte[9]; outdata[0] = 0;
                outdata[1] = 0xFF; outdata[2] = 0xFA;
                HidDevice.Write(outdata); Thread.Sleep(60);
                // 0xFFFA是open的flag
                // 0xFFF1是upload的flag
                // 0xFFF2是end的flag
            }
            catch (Exception ex)
            {
                Print(ex.ToString());
            }
        }
Ejemplo n.º 2
0
 private void openToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (textBox3.Text != "")
     {
         vid = (ushort)Convert.ToInt32(textBox3.Text, 16);
     }
     if (textBox4.Text != "")
     {
         pid = (ushort)Convert.ToInt32(textBox4.Text, 16);
     }
     Clear();
     Print("0x" + vid.ToString("x"));
     Print("0x" + pid.ToString("x"));
     try
     {
         HidDevice[] HidDeviceList = HidDevices.Enumerate(vid, pid, Convert.ToUInt16(0xFF31)).ToArray();
         if (HidDeviceList == null || HidDeviceList.Length == 0)
         {
             Print("Connect usb device and install driver. Try open again");
             return;
         }
         for (int i = 0; i < HidDeviceList.Length; i++)
         {
             Print(HidDeviceList[i].DevicePath);
             HidDevice = HidDeviceList[0]; break;
         }
         if (HidDevice == null)
         {
             Print("Connect usb device and install driver. Try open again");
             return;
         }
         Print("Device OK");
         byte[] outdata = new byte[9]; outdata[0] = 0;
         outdata[1] = 0xFF; outdata[2] = 0xFA;
         HidDevice.Write(outdata); Thread.Sleep(60);
     }
     catch (Exception ex)
     {
         Print(ex.ToString());
     }
 }
Ejemplo n.º 3
0
        private void uploadToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                int addr = 0;
                if (textBox4.Text != "" || textBox4.Text != null)
                {
                    addr = Convert.ToInt32(textBox4.Text);
                }
                if (textBox2.Text == "")
                {
                    Clear();
                    Print("Nothing to upload");
                    return;
                }
                string[] str = textBox2.Text.Split(',');
                if (HidDevice == null)
                {
                    Clear();
                    Print("Invalid device");
                    return;
                }
                Clear();
                Print("Uploading address=" + addr);
                byte[] outdata = new byte[9]; outdata[0] = 0;
                byte[] a       = new byte[2];

                outdata[1] = 0xFF; outdata[2] = 0xF1;
                HidDevice.Write(outdata, 50); Thread.Sleep(50);

                for (ushort i = 0; (i * 2) < Convert.ToInt32(eepromsize); i += 3)
                {
                    a          = BitConverter.GetBytes((ushort)(i * 2 + addr));
                    outdata[1] = a[0]; outdata[2] = a[1];
                    if ((i + 2) < str.Length)
                    {
                        ushort data3 = Convert.ToUInt16(str[i + 2]);
                        //Print(data3);
                        a          = BitConverter.GetBytes(data3);
                        outdata[7] = a[0]; outdata[8] = a[1];
                    }
                    if ((i + 1) < str.Length)
                    {
                        ushort data2 = Convert.ToUInt16(str[i + 1]);
                        //Print(data2);
                        a          = BitConverter.GetBytes(data2);
                        outdata[5] = a[0]; outdata[6] = a[1];
                    }
                    if (i < str.Length)
                    {
                        ushort data1 = Convert.ToUInt16(str[i]);
                        //Print(data1);
                        a          = BitConverter.GetBytes(data1);
                        outdata[3] = a[0]; outdata[4] = a[1];
                    }
                    else
                    {
                        break;
                    }
                    HidDevice.Write(outdata, 50);
                    string outdatastr = "";
                    for (int k = 1; k < outdata.Length; k++)
                    {
                        outdatastr += outdata[k].ToString() + "/";
                    }
                    Print(outdatastr);
                    Thread.Sleep(50);
                }
                outdata[1] = 0xFF; outdata[2] = 0xF2;
                HidDevice.Write(outdata, 50); Thread.Sleep(50);
                Print("Upload finished");
            }
            catch (Exception ex) { Print(ex.ToString()); }
        }
Ejemplo n.º 4
0
 private void UploadPrintBox()
 {
     OpenDevice();
     Encode(iencode);
     Print("eepromsize=" + eepromsize.ToString());
     try
     {
         if (CodeTemp == "")
         {
             Print("Nothing to upload");
             return;
         }
         string[] str = CodeTemp.Split(',');
         if (HidDevice == null)
         {
             Print("Invalid device");
             return;
         }
         byte[] outdata = new byte[9]; outdata[0] = 0;
         byte[] a       = new byte[2];
         outdata[1] = 0xFF; outdata[2] = 0xF1;
         HidDevice.Write(outdata); Thread.Sleep(60);
         for (ushort i = 0; (i * 2 + 4 + addr) < eepromsize; i += 3)
         {
             a          = BitConverter.GetBytes((ushort)(i * 2 + addr));
             outdata[1] = a[0]; outdata[2] = a[1];
             if ((i + 2) < str.Length)
             {
                 ushort data3 = Convert.ToUInt16(str[i + 2]);
                 //Print(data3);
                 a          = BitConverter.GetBytes(data3);
                 outdata[7] = a[0]; outdata[8] = a[1];
             }
             if ((i + 1) < str.Length)
             {
                 ushort data2 = Convert.ToUInt16(str[i + 1]);
                 //Print(data2);
                 a          = BitConverter.GetBytes(data2);
                 outdata[5] = a[0]; outdata[6] = a[1];
             }
             if (i < str.Length)
             {
                 ushort data1 = Convert.ToUInt16(str[i]);
                 //Print(data1);
                 a          = BitConverter.GetBytes(data1);
                 outdata[3] = a[0]; outdata[4] = a[1];
             }
             else
             {
                 break;
             }
             HidDevice.Write(outdata);
             string outdatastr = "";
             for (int k = 1; k < outdata.Length; k++)
             {
                 outdatastr += outdata[k].ToString() + "/";
             }
             Print(outdatastr);
             Thread.Sleep(60);
         }
         outdata[1] = 0xFF; outdata[2] = 0xF2;
         HidDevice.Write(outdata); Thread.Sleep(60);
         Print("Upload finished");
     }
     catch (Exception ex) { Print(ex.ToString()); }
 }