static void EnumerateCB(IPConnection sender, string UID, string connectedUID, char position,
                         short[] hardwareVersion, short[] firmwareVersion,
                         int deviceIdentifier, short enumerationType)
 {
     if (enumerationType == IPConnection.ENUMERATION_TYPE_CONNECTED ||
         enumerationType == IPConnection.ENUMERATION_TYPE_AVAILABLE)
     {
         if (deviceIdentifier == BrickletIndustrialDigitalIn4V2.DEVICE_IDENTIFIER)
         {
             try
             {
                 brickletIndustrialDigitalIn4V2 = new BrickletIndustrialDigitalIn4V2(UID, ipcon);
                 brickletIndustrialDigitalIn4V2.SetAllValueCallbackConfiguration(10000, true);
                 brickletIndustrialDigitalIn4V2.AllValueCallback += InterruptCB;
                 System.Console.WriteLine("Industrial Digital In 4 V2 initialized");
             }
             catch (TinkerforgeException e)
             {
                 System.Console.WriteLine("Industrial Digital In 4 V2 init failed: " + e.Message);
                 brickletIndustrialDigitalIn4V2 = null;
             }
         }
     }
 }
 static void InterruptCB(BrickletIndustrialDigitalIn4V2 sender, bool[] changed, bool[] value)
 {
     System.Console.WriteLine("Fire! Fire!");
 }