Esempio n. 1
0
 public void SetMapping(StandardConfiguration stdConfig, RgbConfiguration rgbConfig)
 {
     options[OptionStrings.BoardLabel].SetText(stdConfig.Label);
     options[OptionStrings.FlagsCheck].SetCheck(stdConfig.Flags);
     options[OptionStrings.Qe1Sensitivity].SetCombo(ConfigDefines.ByteToCombo(stdConfig.QE1Sens));
     options[OptionStrings.Qe1ReductionRatio].SetCombo(stdConfig.QE1ReductionRatio);
     options[OptionStrings.Qe2Sensitivity].SetCombo(ConfigDefines.ByteToCombo(stdConfig.QE2Sens));
     options[OptionStrings.Qe2ReductionRatio].SetCombo(stdConfig.QE2ReductionRatio);
     options[OptionStrings.Ps2Mode].SetCombo(stdConfig.PS2Mode);
     options[OptionStrings.RgbInterface].SetCombo(stdConfig.RgbInterface);
     options[OptionStrings.RgbBrightness].SetNumber(stdConfig.RgbBrightness);
     options[OptionStrings.DebounceTime].SetNumber(stdConfig.ButtonDebounce);
     options[OptionStrings.RgbMode].SetCombo(rgbConfig.Mode);
     options[OptionStrings.RgbConfig].SetButtonColor(0, rgbConfig.Led1Hue);
     options[OptionStrings.RgbConfig].SetButtonColor(1, rgbConfig.Led2Hue);
     options[OptionStrings.AxisDebounceTime].SetNumber(stdConfig.AxisDebounce);
     options[OptionStrings.AxisSustainTime].SetNumber(stdConfig.AxisSustain);
     options[OptionStrings.AscEmulation].SetCombo(stdConfig.AscEmulation);
     options[OptionStrings.ControllerOutput].SetCombo(stdConfig.ControllerOutput);
 }
Esempio n. 2
0
        public bool ReadConfig()
        {
            configBytes.Clear();
            HidStream hidStream;

            if (Device.TryOpen(out hidStream))
            {
                using (hidStream)
                {
                    try
                    {
                        int attempts = 0;
                        while (attempts < maxConfig)
                        {
                            byte[] config = new byte[64];
                            config[0] = 0xc0;
                            hidStream.GetFeature(config);
                            if (config[0] != 0xc0)
                            {
                                //StatusWrite("Mismatch in config report ID");
                            }
                            else
                            {
                                if (!configBytes.ContainsKey(config[1]))
                                {
                                    configBytes.Add(config[1], config);
                                    switch (config[1])
                                    {
                                    case 0:
                                        StdConfig = new StandardConfiguration(config);
                                        break;

                                    case 1:
                                        RgbConfig = new RgbConfiguration(config);
                                        break;

                                    case 2:
                                        KeyConfig = new KeyMappingConfiguration(config);
                                        break;

                                    case 3:
                                        DeviceConfig = new DeviceConfiguration(config);
                                        break;
                                    }
                                }
                                attempts++;
                            }
                        }
                        if (configBytes.Count == 0)
                        {
                            //StatusWrite("Failed to get any config reports.");
                        }
                        else
                        {
                            //StatusWrite($"Found {configBytes.Count} config reports.");
                        }
                    }
                    catch (Exception ex)
                    {
                        //StatusWrite("Failed to get config. Please disconnect and reconnect the board.");
                        return(false);
                    }
                }
            }
            else
            {
                //StatusWrite("Failed to open device. Please disconnect and reconnect.");
                return(false);
            }

            return(true);
        }
Esempio n. 3
0
        public bool ReadConfig()
        {
            configBytes.Clear();
            HidStream hidStream;

            if (Device.TryOpen(out hidStream))
            {
                using (hidStream)
                {
                    try
                    {
                        int attempts = 0;
                        while (attempts < maxConfig)
                        {
                            byte[] config = new byte[64];
                            config[0] = 0xc0;
                            hidStream.GetFeature(config);
                            if (config[0] != 0xc0)
                            {
                                //StatusWrite("Mismatch in config report ID");
                                attempts++;
                            }
                            else
                            {
                                if (!configBytes.ContainsKey(config[1]))
                                {
                                    configBytes.Add(config[1], config);
                                    switch (config[1])
                                    {
                                    case 0:
                                        StdConfig = new StandardConfiguration(config);
                                        break;

                                    case 1:
                                        RgbConfig = new RgbConfiguration(config);
                                        break;

                                    case 2:
                                        KeyConfig = new KeyMappingConfiguration(config);
                                        break;

                                    case 3:
                                        DeviceConfig = new DeviceConfiguration(config);
                                        break;
                                    }
                                }
                                attempts++;
                            }
                        }
                        NumConfigPages = configBytes.Count;
                    }
                    catch (Exception ex)
                    {
                        return(false);
                    }
                }
            }
            else
            {
                return(false);
            }

            return(true);
        }