public static bool ParseConfigurationString(string configString, SerialRemoteDeviceDriver cfgData)
        {
            if (string.IsNullOrEmpty(configString) == false)
            {
                string[] cfgFields = StringUtils.ToStringArray(configString, SerialRemoteDeviceDriver.Delimiter);
                if (cfgFields == null || cfgFields.Length < 1)
                {
                    return(false);
                }

                int i = 0;
                int param;

                string portName = string.Empty;

                if (cfgFields.Length > i)
                {
                    cfgData.ComPortName = cfgFields[i++];
                }

                if (cfgFields.Length > i && int.TryParse(cfgFields[i++], out param))
                {
                    cfgData.InterCodeWordsGap = param;
                }

                if (cfgFields.Length > i && int.TryParse(cfgFields[i++], out param))
                {
                    cfgData.MinCodeWordOccurences = param;
                }

                if (cfgFields.Length > i && int.TryParse(cfgFields[i++], out param))
                {
                    cfgData.MinCodeWordLength = param;
                }

                if (cfgFields.Length > i && int.TryParse(cfgFields[i++], out param))
                {
                    cfgData.MaxCodeWordLength = param;
                }
            }
            else
            {
                SerialRemoteDeviceDriver tmp = new SerialRemoteDeviceDriver();

                string[] ports = SerialPort.GetPortNames();
                if (ports == null || ports.Length < 1)
                {
                    throw new Exception("There are no serial ports installed on this system.");
                }

                cfgData.ComPortName           = ports[0];
                cfgData.InterCodeWordsGap     = tmp.InterCodeWordsGap;
                cfgData.MinCodeWordOccurences = tmp.MinCodeWordOccurences;
                cfgData.MinCodeWordLength     = tmp.MinCodeWordLength;
                cfgData.MaxCodeWordLength     = tmp.MaxCodeWordLength;
            }

            return(true);
        }
        public SerialDeviceTuningDlg(SerialRemoteDeviceDriver cfgData)
        {
            _cfgData = cfgData;

            InitializeComponent();

            this.Load += new EventHandler(RemoteControlFineTuningDlg_Load);
            this.HandleDestroyed += new EventHandler(RemoteControlFineTuningDlg_HandleDestroyed);
        }
        public SerialDeviceCfgDlg()
            : base()
        {
            SetTitle("TXT_SERIAL_DEVICE_CFG");
            InitializeComponent();

            this.DeviceConfigurationData = new SerialRemoteDeviceDriver();

            this.Load += new EventHandler(SerialDeviceInputPinCfgDlg_Load);
        }
Exemple #4
0
        public SerialRemoteDeviceDriver Clone()
        {
            SerialRemoteDeviceDriver retVal = new SerialRemoteDeviceDriver();

            retVal.ComPortName           = this.ComPortName;
            retVal.InterCodeWordsGap     = this.InterCodeWordsGap;
            retVal.MaxCodeWordLength     = this.MaxCodeWordLength;
            retVal.MinCodeWordLength     = this.MinCodeWordLength;
            retVal.MinCodeWordOccurences = this.MinCodeWordOccurences;

            return(retVal);
        }
        public static bool ParseConfigurationString(string configString, SerialRemoteDeviceDriver cfgData)
        {
            if (string.IsNullOrEmpty(configString) == false)
            {
                string[] cfgFields = StringUtils.ToStringArray(configString, SerialRemoteDeviceDriver.Delimiter);
                if (cfgFields == null || cfgFields.Length < 1)
                    return false;

                int i = 0;
                int param;

                string portName = string.Empty;

                if (cfgFields.Length > i)
                    cfgData.ComPortName = cfgFields[i++];

                if (cfgFields.Length > i && int.TryParse(cfgFields[i++], out param))
                    cfgData.InterCodeWordsGap = param;

                if (cfgFields.Length > i && int.TryParse(cfgFields[i++], out param))
                    cfgData.MinCodeWordOccurences = param;

                if (cfgFields.Length > i && int.TryParse(cfgFields[i++], out param))
                    cfgData.MinCodeWordLength = param;

                if (cfgFields.Length > i && int.TryParse(cfgFields[i++], out param))
                    cfgData.MaxCodeWordLength = param;
            }
            else
            {
                SerialRemoteDeviceDriver tmp = new SerialRemoteDeviceDriver();

                string[] ports = SerialPort.GetPortNames();
                if (ports == null || ports.Length < 1)
                    throw new Exception("There are no serial ports installed on this system.");

                cfgData.ComPortName = ports[0];
                cfgData.InterCodeWordsGap = tmp.InterCodeWordsGap;
                cfgData.MinCodeWordOccurences = tmp.MinCodeWordOccurences;
                cfgData.MinCodeWordLength = tmp.MinCodeWordLength;
                cfgData.MaxCodeWordLength = tmp.MaxCodeWordLength;
            }

            return true;
        }
        private void btnDetect_Click(object sender, EventArgs e)
        {
            SerialRemoteDeviceDriver driver = this.DeviceConfigurationData.Clone();
            SerialDeviceTuningDlg dlg = new SerialDeviceTuningDlg(driver);

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                this.DeviceConfigurationData = driver;
                Reload();
            }
        }
        public SerialRemoteDeviceDriver Clone()
        {
            SerialRemoteDeviceDriver retVal = new SerialRemoteDeviceDriver();
            retVal.ComPortName = this.ComPortName;
            retVal.InterCodeWordsGap = this.InterCodeWordsGap;
            retVal.MaxCodeWordLength = this.MaxCodeWordLength;
            retVal.MinCodeWordLength = this.MinCodeWordLength;
            retVal.MinCodeWordOccurences = this.MinCodeWordOccurences;

            return retVal;
        }