Пример #1
0
        /// <summary>
        /// Add a new Touch Pad at these coordinates
        /// </summary>
        /// <param name="x">Millimeters</param>
        /// <param name="y">Millimeters</param>
        public void AddTouchPadAtPoint(double x, double y)
        {
            var newTouchPad = new Element
            {
                Name = "T" + (_touchPads.Count),
                Package = new PinheadSingle(),
                X = x,
                Y = y,
                Rotation = 90
            };

            var newTouchPadOut = new Element
            {
                Name = _touchPads.Count + "",
                Package = new PinheadSingle(),
                X = 5 + 3.81,
                Y = 15 + 5.08 + (_touchPads.Count * 2.54), //Places output above the
                Rotation = 90
            };

            _touchPads.Add(newTouchPad);

            var padSignal = new Signal();

            padSignal.AddContact(
                   element: newTouchPad,
                   padIndex: 0
                   );
            padSignal.AddContact(
                   element: newTouchPadOut,
                   padIndex: 0
                   );

            _board.Elements.Add(newTouchPad);
            _board.Elements.Add(newTouchPadOut);

            _board.Signals.Add("N$" + newTouchPad.Name, padSignal);
        }
Пример #2
0
        /// <summary>
        /// Ataches the data pin of the last LED to PinheadOut
        /// </summary>
        public void attachToOutputPin()
        {
            var ledSignal = new Signal();

            ledSignal.AddContact(
                    element: _leds.Last(),
                    padIndex: 1 // Data OUT
                    );

            ledSignal.AddContact(
                  element: PinheadOut,
                  padIndex: 0 // Data
                  );

            _board.Signals.Add("LP2", ledSignal);
        }
Пример #3
0
        /// <summary>
        /// Add a new LED at these coordinates
        /// </summary>
        /// <param name="x">Millimeters</param>
        /// <param name="y">Millimeters</param>
        public void AddLedAtPoint(double x, double y)
        {
            var newLed = new Element
            {
                Name = "LED" + (_leds.Count),
                Package = new WS2812B(),
                X = x,
                Y = y
            };

            var ledSignal = new Signal();
            if (_leds.Count == 0)
            {
                //Connect to input pad
                ledSignal.AddContact(
                    element: Pinhead,
                    padIndex: 2 // Data
                    );
            }
            else
            {
                ledSignal.AddContact(
                    element: _leds.Last(),
                    padIndex: 1 // Data OUT
                    );
            }
            ledSignal.AddContact(
                element: newLed,
                padIndex: 3 // Data IN
                );

            _leds.Add(newLed);
            _board.Elements.Add(newLed);

            _board.Signals.Add("N$" + newLed.Name, ledSignal);
            _board.Signals["VCC"].AddContact(
                element: newLed,
                padIndex: 0 // VCC
                );
            _board.Signals["GND"].AddContact(
                element: newLed,
                padIndex: 2 // GND
                );
        }