예제 #1
0
        // BE CAREFUL!  RUNS ON A SEPARATE THREAD!
        public NodeDriver ReadConfiguration()
        {
            var driver = NodeDriver.BuildWith(
                new FieldGuid(SnapDriver.PHIDGETS_DRIVER_ID),   // TypeId
                new FieldString(string.Empty),                  // Address
                new FieldBase64(string.Empty),                  // Configuration
                new FieldString(Resources.Strings.DriverName)); // DriverName

            driver = driver.SetRunning(new FieldBool(Running)); // status only
            if (Running)                                        // Running property is threadsafe
            {
                var devicesMutable = new Collection <NodeDevice>();
                // Phidgets claims to be a threadsafe library,
                // and manager is readonly
                foreach (Phidget phidget in manager.Devices)
                {
                    var dev = new PhidgetsDevice(phidget);
                    devicesMutable.Add(dev.Device);
                }
                driver = driver.NodeDeviceChildren.Append(
                    new ReadOnlyCollection <NodeDevice>(devicesMutable));
            }
            return(driver);
        }
예제 #2
0
 // BE CAREFUL!  RUNS ON A SEPARATE THREAD!
 public NodeDriver ReadConfiguration()
 {
     var driver = NodeDriver.BuildWith(
         new FieldGuid(SnapDriver.PHIDGETS_DRIVER_ID),  // TypeId
         new FieldString(string.Empty),      // Address
         new FieldBase64(string.Empty),      // Configuration
         new FieldString(Resources.Strings.DriverName));// DriverName
     driver = driver.SetRunning(new FieldBool(Running)); // status only
     if (Running) // Running property is threadsafe
     {
         var devicesMutable = new Collection<NodeDevice>();
         // Phidgets claims to be a threadsafe library,
         // and manager is readonly
         foreach (Phidget phidget in manager.Devices)
         {
             var dev = new PhidgetsDevice(phidget);
             devicesMutable.Add(dev.Device);
         }
         driver = driver.NodeDeviceChildren.Append(
             new ReadOnlyCollection<NodeDevice>(devicesMutable));
     }
     return driver;
 }