Пример #1
0
        public void SetLandingGearLED(SwitchPanelPZ55LEDPosition switchPanelPZ55LEDPosition, PanelLEDColor switchPanelPZ55LEDColor)
        {
            try
            {
                switch (switchPanelPZ55LEDPosition)
                {
                case SwitchPanelPZ55LEDPosition.UP:
                {
                    _ledUpperColor = GetSwitchPanelPZ55LEDColor(switchPanelPZ55LEDPosition, switchPanelPZ55LEDColor);
                    break;
                }

                case SwitchPanelPZ55LEDPosition.LEFT:
                {
                    _ledLeftColor = GetSwitchPanelPZ55LEDColor(switchPanelPZ55LEDPosition, switchPanelPZ55LEDColor);
                    break;
                }

                case SwitchPanelPZ55LEDPosition.RIGHT:
                {
                    _ledRightColor = GetSwitchPanelPZ55LEDColor(switchPanelPZ55LEDPosition, switchPanelPZ55LEDColor);
                    break;
                }
                }
                OnLedLightChanged(new SaitekPanelLEDPosition(switchPanelPZ55LEDPosition), switchPanelPZ55LEDColor);
                SetLandingGearLED(_ledUpperColor | _ledLeftColor | _ledRightColor);
            }
            catch (Exception e)
            {
                Common.DebugP("SetLandingGearLED() :\n" + e.Message + e.StackTrace);
                SetLastException(e);
            }
        }
Пример #2
0
        public List <DcsOutputAndColorBinding> GetLedDcsBiosOutputs(SwitchPanelPZ55LEDPosition switchPanelPZ55LEDPosition)
        {
            var result = new List <DcsOutputAndColorBinding>();

            foreach (var colorOutputBinding in _listColorOutputBinding)
            {
                if ((SwitchPanelPZ55LEDPosition)colorOutputBinding.SaitekLEDPosition.GetPosition() == switchPanelPZ55LEDPosition)
                {
                    result.Add(colorOutputBinding);
                }
            }
            return(result);
        }
Пример #3
0
        public void SetLedDcsBiosOutput(SwitchPanelPZ55LEDPosition switchPanelPZ55LEDPosition, List <DcsOutputAndColorBinding> dcsOutputAndColorBindingPZ55List)
        {
            /*
             * Replace all old entries found for this position with the new ones for this particular position
             * If list is empty then so be it
             */
            _listColorOutputBinding.RemoveAll(item => item.SaitekLEDPosition.Position.Equals(new SaitekPanelLEDPosition(switchPanelPZ55LEDPosition).Position));

            foreach (var dcsOutputAndColorBinding in dcsOutputAndColorBindingPZ55List)
            {
                _listColorOutputBinding.Add((DcsOutputAndColorBindingPZ55)dcsOutputAndColorBinding);
            }
            IsDirtyMethod();
        }
Пример #4
0
        private SwitchPanelPZ55LEDs GetSwitchPanelPZ55LEDColor(SwitchPanelPZ55LEDPosition switchPanelPZ55LEDPosition, PanelLEDColor panelLEDColor)
        {
            var result = SwitchPanelPZ55LEDs.ALL_DARK;

            switch (switchPanelPZ55LEDPosition)
            {
            case SwitchPanelPZ55LEDPosition.UP:
            {
                switch (panelLEDColor)
                {
                case PanelLEDColor.DARK:
                {
                    result = SwitchPanelPZ55LEDs.ALL_DARK;
                    break;
                }

                case PanelLEDColor.GREEN:
                {
                    result = SwitchPanelPZ55LEDs.UP_GREEN;
                    break;
                }

                case PanelLEDColor.RED:
                {
                    result = SwitchPanelPZ55LEDs.UP_RED;
                    break;
                }

                case PanelLEDColor.YELLOW:
                {
                    result = SwitchPanelPZ55LEDs.UP_YELLOW;
                    break;
                }
                }
                break;
            }

            case SwitchPanelPZ55LEDPosition.LEFT:
            {
                switch (panelLEDColor)
                {
                case PanelLEDColor.DARK:
                {
                    result = SwitchPanelPZ55LEDs.ALL_DARK;
                    break;
                }

                case PanelLEDColor.GREEN:
                {
                    result = SwitchPanelPZ55LEDs.LEFT_GREEN;
                    break;
                }

                case PanelLEDColor.RED:
                {
                    result = SwitchPanelPZ55LEDs.LEFT_RED;
                    break;
                }

                case PanelLEDColor.YELLOW:
                {
                    result = SwitchPanelPZ55LEDs.LEFT_YELLOW;
                    break;
                }
                }
                break;
            }

            case SwitchPanelPZ55LEDPosition.RIGHT:
            {
                switch (panelLEDColor)
                {
                case PanelLEDColor.DARK:
                {
                    result = SwitchPanelPZ55LEDs.ALL_DARK;
                    break;
                }

                case PanelLEDColor.GREEN:
                {
                    result = SwitchPanelPZ55LEDs.RIGHT_GREEN;
                    break;
                }

                case PanelLEDColor.RED:
                {
                    result = SwitchPanelPZ55LEDs.RIGHT_RED;
                    break;
                }

                case PanelLEDColor.YELLOW:
                {
                    result = SwitchPanelPZ55LEDs.RIGHT_YELLOW;
                    break;
                }
                }
                break;
            }
            }
            return(result);
        }
Пример #5
0
        /*internal DCSBiosOutput GetOutput(PanelLEDColor switchPanelPZ55LEDColor, SwitchPanelPZ55LEDPosition switchPanelPZ55LEDPosition)
         * {
         *  foreach (var colorOutputBinding in _listColorOutputBinding)
         *  {
         *      //todo
         *      if (colorOutputBinding.PanelPZ55LEDColor == switchPanelPZ55LEDColor && colorOutputBinding.PanelPZ55LEDPosition == switchPanelPZ55LEDPosition && colorOutputBinding.DCSBiosOutputLED.HasBeenSet)
         *      {
         *          return colorOutputBinding.DCSBiosOutputLED;
         *      }
         *  }
         *  return null;
         * }*/

        public bool LedIsConfigured(SwitchPanelPZ55LEDPosition switchPanelPZ55LEDPosition)
        {
            return(_listColorOutputBinding.Any(colorOutputBinding => (SwitchPanelPZ55LEDPosition)colorOutputBinding.SaitekLEDPosition.GetPosition() == switchPanelPZ55LEDPosition));
        }