Example #1
0
        private StorageManager()
        {
            _usbStorages = new Hashtable();

            _sdDetectPort              = new InterruptPort(EMX.Pin.IO24, true, Port.ResistorMode.PullUp, Port.InterruptMode.InterruptEdgeBoth);
            _sdDetectPort.OnInterrupt += new NativeEventHandler(_sdDetectPort_OnInterrupt);

            try
            {
                MountCardStorage();
            }
            catch (Exception)
            {
                //TODO: emulator throws exception
                return;
            }

            USBHostController.DeviceConnectedEvent    += new USBH_DeviceConnectionEventHandler(USBHostController_DeviceConnectedEvent);
            USBHostController.DeviceDisconnectedEvent += new USBH_DeviceConnectionEventHandler(USBHostController_DeviceDisconnectedEvent);

            USBH_Device[] connectedDevices = USBHostController.GetDevices();
            foreach (USBH_Device connected in connectedDevices)
            {
                USBHostController_DeviceConnectedEvent(connected);
            }
        }
Example #2
0
        public static int GetCount(USBH_DeviceType type)
        {
            int n = 0;

            foreach (USBH_Device device in USBHostController.GetDevices())
            {
                if (device.TYPE == type)
                {
                    n++;
                }
            }

            return(n);
        }
Example #3
0
        private static void SetupUSB()
        {
            Trace.TraceInformation("Setting up USB host...");

            USBHostController.DeviceBadConnectionEvent +=
                (device) =>
            {
                Trace.TraceInformation("USB device bad connection");
            };

            USBHostController.DeviceDisconnectedEvent +=
                (device) =>
            {
                Trace.TraceInformation("USB device disconnected");

                switch (device.TYPE)
                {
                case USBH_DeviceType.Serial_FTDI:
                    //webhost.Stop();
                    automationController.Dispose();
                    break;
                }
            };

            USBHostController.DeviceConnectedEvent +=
                (device) =>
            {
                Trace.TraceInformation("USB device connected");

                switch (device.TYPE)
                {
                case USBH_DeviceType.Serial_FTDI:
                    var usbSerial = new USBH_SerialUSB(device, 19200, Parity.None, 8, System.IO.Ports.StopBits.One);

                    // PowerLinc USB Dual-Band #2413U
                    if (device.VENDOR_ID == InsteonAutomationController.VendorID & device.PRODUCT_ID == InsteonAutomationController.ProductID)
                    {
                        Trace.TraceInformation("PowerLinc USB Dual-Band #2413U");

                        automationController = new InsteonAutomationController(settings, usbSerial);
                        automationController.Initalize();

                        //webhost.Start(settings, automationController);
                        //SetupTimers();
                    }
                    break;

                case USBH_DeviceType.Unknown:
                    // Aeon Labs Z-Stick2
                    if (device.VENDOR_ID == ZWaveAutomationController.VendorID & device.PRODUCT_ID == ZWaveAutomationController.ProductID)
                    {
                        Trace.TraceInformation("Aeon Labs Z-Stick2");

                        USBH_Device silabs = new USBH_Device(device.ID, device.INTERFACE_INDEX, USBH_DeviceType.Serial_SiLabs, device.VENDOR_ID, device.PRODUCT_ID, device.PORT_NUMBER);
                        usbSerial = new USBH_SerialUSB(silabs, 19200, System.IO.Ports.Parity.None, 8, System.IO.Ports.StopBits.One);
                        usbSerial.Open();

                        automationController = new ZWaveAutomationController(settings, usbSerial);
                        automationController.Initalize();
                    }
                    break;
                }
            };

            USBHostController.GetDevices();
        }
Example #4
0
 public static int GetCount()
 {
     return(USBHostController.GetDevices().Length);
 }