public TemperatureHumiditySensorPro(BaseShield.DigitalPorts port)
            : base(port)
        {
            outputPort = new TristatePort(Pin1, true, false, Port.ResistorMode.PullUp);

            inputPort = new InterruptPort(Pin2, false, Port.ResistorMode.PullUp, Port.InterruptMode.InterruptEdgeLow);
            inputPort.DisableInterrupt();
            inputPort.OnInterrupt += new NativeEventHandler(inputPort_OnInterrupt);

            dataReceivedEvent = new AutoResetEvent(false);
        }
 public DigitalElement(BaseShield.DigitalPorts port)
 {
     var pins = BaseShield.GetDigitalPins(port);
     Pin1 = pins[0];
     Pin2 = pins[1];
 }
 public AnalogElement(BaseShield.AnalogPorts port)
 {
     var channels = BaseShield.GetAnalogChannels(port);
     Channel1 = channels[0];
     Channel2 = channels[1];
 }
 public PushButton(BaseShield.DigitalPorts port)
     : base(port)
 {
     interruptPort = new InterruptPort(this.Pin1, true, Port.ResistorMode.PullDown, Port.InterruptMode.InterruptNone);
     interruptPort.OnInterrupt += port_OnInterrupt;
 }