Пример #1
0
        /// <summary>
        ///     Construct a SevenSegment display from a list of LEDs.
        /// </summary>
        /// <param name="Leds">The list of LEDs to use</param>
        /// <param name="rightToLeftDigits">Whether the digits are right-to-left digits</param>
        public SevenSegmentDisplay(IList <Led> Leds, bool rightToLeftDigits = false) : base(Leds.Count / 8, 1)
        {
            if (Leds.Count % 8 != 0)
            {
                throw new ArgumentException("Leds should contain a multiple of 8 segments when using this constructor",
                                            "leds");
            }

            var numDigits = Leds.Count / 8;

            digits = new Collection <SevenSegmentDigit>();

            for (var i = 0; i < numDigits; i++)
            {
                var leds  = Leds.Skip(i * 8).Take(8).ToList();
                var digit = new SevenSegmentDigit(leds);
                digits.Add(digit);
            }

            if (rightToLeftDigits)
            {
                digits = digits.Reverse().ToList();
            }

            setupDigits();
        }
        /// <summary>
        /// Construct a SevenSegment display from a list of LEDs.
        /// </summary>
        /// <param name="Leds">The list of LEDs to use</param>
        /// <param name="rightToLeftDigits">Whether the digits are right-to-left digits</param>
        public SevenSegmentDisplay(IList<Led> Leds, bool rightToLeftDigits = false) : base(Leds.Count/8, 1)
        {
            if (Leds.Count % 8 != 0)
                throw new ArgumentException("Leds should contain a multiple of 8 segments when using this constructor", "leds");

            int numDigits = Leds.Count / 8;

            digits = new Collection<SevenSegmentDigit>();

            for(int i=0;i<numDigits;i++)
            {
                var leds = Leds.Skip(i * 8).Take(8).ToList();
                var digit = new SevenSegmentDigit(leds);
                digits.Add(digit);
            }

            if (rightToLeftDigits)
                digits = digits.Reverse().ToList();

            setupDigits();
        }