Exemple #1
0
        public USB_DataReport decodeDataReport()
        {
            USB_DataReport data = new USB_DataReport();

            data.ReportId = dataReceived[0];
            data.X        = BitConverter.ToInt16(dataReceived, 1);
            data.Y        = dataReceived[3];
            data.Z        = dataReceived[4];
            data.RX       = dataReceived[5];
            data.RY       = dataReceived[6];
            data.RZ       = dataReceived[7];


            //Console.WriteLine(data.X);
            return(data);
        }
Exemple #2
0
        private void timer1_tick_configData(object sender, EventArgs e)
        {
            if (HID.connected)
            {
                labelStatusValue.Text      = "Connected";
                labelStatusValue.ForeColor = Color.FromArgb(255, 0, 250, 0);

                /*foreach (byte i in HID.dataReceived)
                 * {
                 *  Console.Write(i + " ");
                 * }*/
                //System.Threading.Thread.Sleep(5000);
                if (checkValues())
                {
                    //modificou as infos, precisa enviar
                    //Console.WriteLine("modifcou");
                    if (configData.Info < 255)
                    {
                        configData.Info = 1;    // Set estado de sem ação.
                    }
                }
                if (configData.Info == 255)
                {
                    if (HID.configReceived[0] == 0) // equivalente a nao definido
                    {
                        activeTrackBar(false);
                        configData.ReportId = 241; // 0xF1
                        //pegar os parametros do volante ou do profile?
                        //iniciando sem valores
                        HID.sendData(configData);
                    }
                    else
                    {
                        activeTrackBar(true);
                        configData      = HID.decodeConfigReport();
                        configData.Info = 0;
                        // refresh layout bar
                        fwVersion = Convert.ToString(configData.Version / 100.0);
                        labelFirmwareVersion.Text = fwVersion;
                        refreshValues();
                    }
                }
                else if (configData.Info == 1)
                {
                    //configData enviado para joystick
                    HID.sendData(configData);
                    configData.Info = 2;
                }
                else if (configData.Info == 2)
                {
                    // precisa verificar se os valores são iguais ao atual do profile, se não set Info = 1
                    if (HID.configReceived != null)
                    {
                        //byte[] configTemp = HID.dataReceived;//HID.decodeConfigReport();
                        if (HID.isEqual(HID.configReceived, HID.encodeConfigReport(configData)))
                        {
                            //configData = HID.decodeConfigReport();
                            USB_ConfigReport temp = HID.decodeConfigReport();
                            configData.Calibrate  = 0;
                            configData.Centralize = 0;

                            configData.Info = 0;
                        }
                        else
                        {
                            configData.Info = 1;
                        }
                    }

                    //configData recebida do joystick
                }
                //HID.sendData();
            }
            else
            {
                labelStatusValue.Text      = "Disconnected";
                labelStatusValue.ForeColor = Color.FromArgb(255, 255, 0, 0);
                HID.find();
                HID.connect();
            }
            joystickData = HID.decodeDataReport();
            refreshJoystickValues();
            //Console.WriteLine("1tick " + configData.Info + " " + test[0] + " " + test[1]);

            //HID.sendData(configData);

            /*
             * //Image img = Image.FromFile("pictureWheel3.jpg");
             * Image img = brWheelProfile.Properties.Resources.pictureWheelDisplay;
             * Graphics gfx = Graphics.FromImage(img);
             * gfx.TranslateTransform((float)img.Width / 2, (float)img.Height / 2);
             * gfx.RotateTransform(countTick);
             * gfx.TranslateTransform(-(float)img.Width / 2, -(float)img.Height / 2);
             * gfx.InterpolationMode = InterpolationMode.HighQualityBicubic;
             * gfx.DrawImage(img, new Point(0, 0));
             * gfx.Dispose();
             * pictureWheel.Image = img;
             */
            // Console.WriteLine("tick " + configData.Info);
        }