public void SetInterface(USBPacket packet, USBSetupPacket setupPacket) { throw new NotImplementedException(); }
public void ProcessVendorSet(USBPacket packet, USBSetupPacket setupPacket) { throw new NotImplementedException(); }
public void SetConfiguration(USBPacket packet, USBSetupPacket setupPacket) { //throw new NotImplementedException(); }
public void SetDescriptor(USBPacket packet, USBSetupPacket setupPacket) { throw new NotImplementedException(); }
public void ProcessClassSet(USBPacket packet, USBSetupPacket setupPacket) { //MessageRecipient recipient = (MessageRecipient)(setupPacket.requestType & 0x3); ushort index = setupPacket.index; byte request = setupPacket.request; ushort value = setupPacket.value; switch ((HUBRequestCode)request) { case HUBRequestCode.ClearHubFeature: if (index > 0) { switch ((PortFeature)value) { case PortFeature.CPortSuspend: ports[index - 1] = (uint)(ports[index - 1] & (~((uint)PortStatus.CPortSuspend))); break; case PortFeature.CPortOverCurrent: ports[index - 1] = (uint)(ports[index - 1] & (~((uint)PortStatus.CPortOverCurrent))); break; case PortFeature.CPortEnable: ports[index - 1] = (uint)(ports[index - 1] & (~((uint)PortStatus.CPortEnable))); break; case PortFeature.PortEnable: ports[index - 1] = (uint)(ports[index - 1] & (uint)PortStatus.PortEnable); break; case PortFeature.PortSuspend: ports[index - 1] = (uint)(ports[index - 1] & (uint)PortStatus.PortSuspend); break; case PortFeature.CPortConnection: ports[index - 1] = (uint)(ports[index - 1] & (~((uint)PortStatus.CPortConnection))); break; case PortFeature.CPortReset: ActiveDevice(this.GetDevice((byte)(index))); ports[index - 1] = (uint)(ports[index - 1] & (~((uint)PortStatus.CPortReset))); break; default: this.Log(LogLevel.Warning, "Unsupported ClearHubFeature request!!!"); break; } } break; case HUBRequestCode.SetHubFeature: if (index > 0) { if ((PortFeature)value == PortFeature.PortReset) { IUSBPeripheral device = GetDevice((byte)(index)); ports[index - 1] |= (uint)PortStatus.CPortReset; ports[index - 1] |= (uint)PortStatus.PortEnable; if (device != null) { device.SetAddress(0); device.Reset(); } } else if ((PortFeature)value == PortFeature.PortSuspend) { ports[index - 1] |= (uint)PortStatus.PortSuspend; } } break; default: this.Log(LogLevel.Warning, "Unsupported HUB ProcessClassSet request!!!"); break; } }
public void ClearFeature(USBPacket packet, USBSetupPacket setupPacket) { throw new NotImplementedException(); }
public byte[] GetDescriptor(USBPacket packet, USBSetupPacket setupPacket) { return(null); }
public void ProcessClassSet(USBPacket packet, USBSetupPacket setupPacket) { throw new System.NotImplementedException(); }
public byte[] ProcessVendorGet(USBPacket packet, USBSetupPacket setupPacket) { throw new System.NotImplementedException(); }
public byte[] GetStatus(USBPacket packet, USBSetupPacket setupPacket) { throw new NotImplementedException(); }
public void SetFeature(USBPacket packet, USBSetupPacket setupPacket) { throw new System.NotImplementedException(); }
public byte[] GetInterface(USBPacket packet, USBSetupPacket setupPacket) { throw new System.NotImplementedException(); }
public void ClearFeature(USBPacket packet, USBSetupPacket setupPacket) { throw new USBRequestException(); }