Example #1
0
        public static unsafe void Poll()
        {
            while (true)
            {
                for (int i = 0; i < Controllers.Count; i++)
                {
                    IUSBController controller = (IUSBController)Controllers.Item[i];

                    //tada
                    controller?.Poll(controller);
                }

                for (int i = 0; i < Devices.Count; i++)
                {
                    USBDevice device = (USBDevice)Devices.Item[i];

                    if (device.State == USBDeviceState.CONFIGURED)
                    {
                        device.Driver?.Poll(device);
                    }
                }

                MultiTasking.Tasking.CurrentTask.CurrentThread.Sleep(0, 100);
            }
        }
Example #2
0
        /// <summary>
        /// Poll queue heads
        /// </summary>
        /// <param name="controller"></param>
        public static void Poll(IUSBController controller)
        {
            UHCIController uhciController = (UHCIController)controller;

            for (int i = 0; i < MAX_HEADS; i++)
            {
                if (uhciController.QueueHeadPool[i].Transfer != null)
                {
                    int address = (int)uhciController.QueueHeadPool;
                    address += sizeof(UHCIQueueHead) * i;

                    ProcessHead(uhciController, (UHCIQueueHead *)(address));
                }
            }
        }
Example #3
0
 public DelcomV2Light(IUSBController controller)
 {
     _controller = controller;
 }
Example #4
0
 private static void ChangeColour(IUSBController controller, byte[] controlBytes, LightColour colour)
 {
     controlBytes[2] = (byte)colour;
     controller.HidSetFeature(controlBytes);
 }
Example #5
0
 private static void ChangeColour(IUSBController controller, byte[] controlBytes, LightColour colour)
 {
     controlBytes[2] = (byte)colour;
     controller.HidSetFeature(controlBytes);
 }
Example #6
0
 public static void RegisterController(IUSBController controller)
 {
     Controllers.Add(controller);
 }