comparison USBLib/Communication/LibUsb0/LibUsbDevice.cs @ 46:053cc617af54

USBLib: added functions to clear USB endpoint halt state
author Ivo Smits <Ivo@UCIS.nl>
date Sun, 30 Jun 2013 16:28:36 +0200
parents dcfec2be27c9
children 2d16447eff12
comparison
equal deleted inserted replaced
45:8df7f4dc5615 46:053cc617af54
85 return PipeTransfer(endpoint, false, false, buffer, offset, length, 0); 85 return PipeTransfer(endpoint, false, false, buffer, offset, length, 0);
86 } 86 }
87 public override int BulkWrite(byte endpoint, byte[] buffer, int offset, int length) { 87 public override int BulkWrite(byte endpoint, byte[] buffer, int offset, int length) {
88 return PipeTransfer(endpoint, true, false, buffer, offset, length, 0); 88 return PipeTransfer(endpoint, true, false, buffer, offset, length, 0);
89 } 89 }
90 public override void BulkReset(byte endpoint) {
91 PipeReset(endpoint);
92 }
90 public override int InterruptRead(byte endpoint, byte[] buffer, int offset, int length) { 93 public override int InterruptRead(byte endpoint, byte[] buffer, int offset, int length) {
91 return PipeTransfer(endpoint, false, false, buffer, offset, length, 0); 94 return PipeTransfer(endpoint, false, false, buffer, offset, length, 0);
92 } 95 }
93 public override int InterruptWrite(byte endpoint, byte[] buffer, int offset, int length) { 96 public override int InterruptWrite(byte endpoint, byte[] buffer, int offset, int length) {
94 return PipeTransfer(endpoint, true, false, buffer, offset, length, 0); 97 return PipeTransfer(endpoint, true, false, buffer, offset, length, 0);
98 }
99 public override void InterruptReset(byte endpoint) {
100 PipeReset(endpoint);
95 } 101 }
96 public unsafe override int ControlRead(UsbControlRequestType requestType, byte request, short value, short index, byte[] buffer, int offset, int length) { 102 public unsafe override int ControlRead(UsbControlRequestType requestType, byte request, short value, short index, byte[] buffer, int offset, int length) {
97 if (buffer == null) buffer = new Byte[0]; 103 if (buffer == null) buffer = new Byte[0];
98 if (offset < 0 || length < 0 || offset + length > buffer.Length) throw new ArgumentOutOfRangeException("length", "The specified offset and length exceed the buffer length"); 104 if (offset < 0 || length < 0 || offset + length > buffer.Length) throw new ArgumentOutOfRangeException("length", "The specified offset and length exceed the buffer length");
99 int code; 105 int code;