Example #1
0
        private void ParseControllerConfig(XmlNode configRoot)
        {
            int temp_mapping = 0;

            for (int i = 0; i < (int)ChannelNumber.NUM_CHANNELS; i++)
            {
                channel_config[i] = new ChannelConfigValues();
                inputMapping[i]   = new ControllerProperty();

                temp_mapping    = int.Parse(configRoot.SelectNodes(String.Format(".//Channel[@param='{0}']", StringEnum.GetStringValue((ChannelNumber)i))).Item(0).Attributes["map"].Value);
                inputMapping[i] = (ControllerProperty)Math.Abs(temp_mapping);
                if (temp_mapping < 0)
                {
                    inputInverted[i] = true;
                }

                channel_config[i].MIN    = double.Parse(configRoot.SelectNodes(String.Format(".//Channel[@param='{0}']", StringEnum.GetStringValue((ChannelNumber)i))).Item(0).Attributes["min"].Value);
                channel_config[i].MAX    = double.Parse(configRoot.SelectNodes(String.Format(".//Channel[@param='{0}']", StringEnum.GetStringValue((ChannelNumber)i))).Item(0).Attributes["max"].Value);
                channel_config[i].CENTER = double.Parse(configRoot.SelectNodes(String.Format(".//Channel[@param='{0}']", StringEnum.GetStringValue((ChannelNumber)i))).Item(0).Attributes["default"].Value);

                precisionFormat[i] = configRoot.SelectNodes(String.Format(".//Channel[@param='{0}']", StringEnum.GetStringValue((ChannelNumber)i))).Item(0).Attributes["precision"].Value;
                channelGain[i]     = double.Parse(configRoot.SelectNodes(String.Format(".//Channel[@param='{0}']", StringEnum.GetStringValue((ChannelNumber)i))).Item(0).Attributes["gain"].Value);
                channelPrefix[i]   = configRoot.SelectNodes(String.Format(".//Channel[@param='{0}']", StringEnum.GetStringValue((ChannelNumber)i))).Item(0).InnerXml;
            }

            z_persist      = Boolean.Parse(configRoot.SelectNodes(String.Format(".//Channel[@param='{0}']", StringEnum.GetStringValue(ChannelNumber.CH1))).Item(0).Attributes["persist"].Value);
            z_accumulating = Boolean.Parse(configRoot.SelectNodes(String.Format(".//Channel[@param='{0}']", StringEnum.GetStringValue(ChannelNumber.CH1))).Item(0).Attributes["accum"].Value);

            chanSeparator     = configRoot.SelectNodes(".//ChannelSeparator").Item(0).InnerXml;
            stopCommand       = configRoot.SelectNodes(".//StopCommand").Item(0).InnerXml;
            cmdPrefixAbsolute = configRoot.SelectNodes(".//StartOfFrame[@type='absolute']").Item(0).InnerXml;
            cmdPrefixRelative = configRoot.SelectNodes(".//StartOfFrame[@type='relative']").Item(0).InnerXml;
        }
Example #2
0
        /********************************************************************************
        * FUNCTION:        UpdateInputLabels
        * Description:     Update label text beside each input select button based on the
        *                  current channel mapping
        * Parameters:      N/A
        ********************************************************************************/
        private void UpdateInputLabels()
        {
            int index = 0;

            Control[] labels   = { label1, label2, label3, label4, label5 };
            String    temp_str = "";

            if (ChannelMapping != null)
            {
                foreach (ControllerProperty cp in ChannelMapping)
                {
                    switch (cp)
                    {
                    case ControllerProperty.X:
                        temp_str = StringEnum.GetStringValue(ControllerProperty.X);
                        break;

                    case ControllerProperty.Y:
                        temp_str = StringEnum.GetStringValue(ControllerProperty.Y);
                        break;

                    case ControllerProperty.Z:
                        temp_str = StringEnum.GetStringValue(ControllerProperty.Z);
                        break;

                    case ControllerProperty.RotationX:
                        temp_str = StringEnum.GetStringValue(ControllerProperty.RotationX);
                        break;

                    case ControllerProperty.RotationY:
                        temp_str = StringEnum.GetStringValue(ControllerProperty.RotationY);
                        break;

                    case ControllerProperty.RotationZ:
                        temp_str = StringEnum.GetStringValue(ControllerProperty.RotationZ);
                        break;

                    case ControllerProperty.Button_0:
                        temp_str = StringEnum.GetStringValue(ControllerProperty.Button_0);
                        break;

                    case ControllerProperty.Button_1:
                        temp_str = StringEnum.GetStringValue(ControllerProperty.Button_1);
                        break;

                    case ControllerProperty.Button_2:
                        temp_str = StringEnum.GetStringValue(ControllerProperty.Button_2);
                        break;

                    case ControllerProperty.Button_3:
                        temp_str = StringEnum.GetStringValue(ControllerProperty.Button_3);
                        break;

                    case ControllerProperty.Button_4:
                        temp_str = StringEnum.GetStringValue(ControllerProperty.Button_4);
                        break;

                    default:
                        break;
                    }

                    if (ChannelInverted[index] == true)
                    {
                        temp_str = "-" + temp_str;
                    }

                    labels[index].Text      = temp_str;
                    labels[index].Font      = new Font(labels[index].Font, FontStyle.Bold);
                    labels[index].BackColor = SystemColors.Control;
                    index++;
                }
            }
        }