Ejemplo n.º 1
0
 public Diode(Circuit parent, Point origin, string model)
     : base(parent, origin)
 {
     ComponentType = "Diode";
     MinLength     = 3;
     ID            = parent.GetNextComponentName("D");
     ModelFile     = "res/models/diodes.xml";
     LoadModel(model);
     PinNames.Add(1, "Anode");
     PinNames.Add(2, "Cathode");
 }
Ejemplo n.º 2
0
            public bool this[PinNames in_pin]
            {
                get
                {
                    int port = (int)in_pin / 8;
                    int pin  = (int)in_pin % 8;

                    switch (port)
                    {
                    case 0:
                        return((m_ppi.PortA & (1 << pin)) != 0);

                    case 1:
                        return((m_ppi.PortB & (1 << pin)) != 0);

                    case 2:
                        return((m_ppi.PortC & (1 << pin)) != 0);
                    }

                    return(false);
                }
                set
                {
                    int port = (int)in_pin / 8;
                    int pin  = (int)in_pin % 8;
                    switch (port)
                    {
                    case 0:
                        m_ppi.m_port_A.In = (byte)(m_ppi.m_port_A.In & ~(1 << pin) | (value ? (1 << pin) : 0));
                        break;

                    case 1:
                        m_ppi.m_port_B.In = (byte)(m_ppi.m_port_B.In & ~(1 << pin) | (value ? (1 << pin) : 0));
                        break;

                    case 2:
                        m_ppi.m_port_C.In = (byte)(m_ppi.m_port_C.In & ~(1 << pin) | (value ? (1 << pin) : 0));
                        break;
                    }
                }
            }