public UsbEndpointAssert hasMaximumPacketSize(int size) { isNotNull(); int actualSize = actual.getMaxPacketSize(); assertThat(actualSize) // .overridingErrorMessage("Expected maximum packet size <%s> but was <%s>.", size, actualSize) // .isEqualTo(size); return this; }
private UsbMidiOutput(UsbInterface iface, UsbEndpoint ep) { this.iface = iface; outputEndpoint = ep; outBuffer = new byte[ep.getMaxPacketSize()]; setVirtualCable(0); }
public UsbEndpointAssert hasMaximumPacketSize(int size) { isNotNull(); int actualSize = actual.getMaxPacketSize(); assertThat(actualSize) // .overridingErrorMessage("Expected maximum packet size <%s> but was <%s>.", size, actualSize) // .isEqualTo(size); return this; }
private UsbMidiInterface asMidiInterface(UsbInterface iface) { // We really ought to check interface class and subclass, but we don't since a lot of MIDI // devices don't fully comply with the standard. // if (iface.getInterfaceClass() != 1 || iface.getInterfaceSubclass() != 3) return null; List<UsbMidiInput> inputs = new ArrayList<UsbMidiInput>(); List<UsbMidiOutput> outputs = new ArrayList<UsbMidiOutput>(); int epCount = iface.getEndpointCount(); for (int j = 0; j < epCount; ++j) { UsbEndpoint ep = iface.getEndpoint(j); // If the endpoint looks like a MIDI endpoint, assume that it is one. My reading of the USB // MIDI specification is that the max // packet size ought to be 0x40, but I've seen at least one interface (Focusrite Scarlett 2i4) // that reports a max packet size // of 0x200. So, we'll just check the minimum requirement for the rest of this class to work, // i.e., the max packet size must be // a positive multiple of 4. if ((ep.getType() & UsbConstants.USB_ENDPOINT_XFERTYPE_MASK) == UsbConstants.USB_ENDPOINT_XFER_BULK && (ep.getMaxPacketSize() & 0x03) == 0 && ep.getMaxPacketSize() > 0) { if ((ep.getDirection() & UsbConstants.USB_ENDPOINT_DIR_MASK) == UsbConstants.USB_DIR_IN) { inputs.add(new UsbMidiInput(iface, ep)); } else { outputs.add(new UsbMidiOutput(iface, ep)); } } } return (inputs.isEmpty() && outputs.isEmpty()) ? null : new UsbMidiInterface(iface, inputs, outputs); }
connection.claimInterface(intf, forceClaim); byte[] bytes = new byte[endpoint.getMaxPacketSize()];
return filterStatusBytes(mReadBuffer, dest, totalBytesRead, endpoint.getMaxPacketSize());
return filterStatusBytes(mReadBuffer, dest, totalBytesRead, endpoint.getMaxPacketSize());
return filterStatusBytes(mReadBuffer, dest, totalBytesRead, endpoint.getMaxPacketSize());
return filterStatusBytes(mReadBuffer, dest, totalBytesRead, endpoint.getMaxPacketSize());
private final byte[] inputBuffer = new byte[inputEndpoint.getMaxPacketSize()]; private final byte[] tmpBuffer = new byte[3];
int dequedDataBufferLength; int queueSize; final int maxPacketSize = outputEndpoint.getMaxPacketSize(); byte[] endpointBuffer = new byte[maxPacketSize]; int endpointBufferLength;
+ " max_packet_size: " + usbEndpointIN.getMaxPacketSize()); Log.i(logTag,"constructor: [endpoint 1 (OUT)] address: " + usbEndpointOUT.getAddress() + " attributes: " + usbEndpointOUT.getAttributes() + " direction: " + usbEndpointOUT.getDirection() + " max_packet_size: " + usbEndpointOUT.getMaxPacketSize());
private String getEndpointText(final UsbEndpoint endpoint, final int index) { final String addressInBinary = padLeft(Integer.toBinaryString(endpoint.getAddress()), "0", 8); final String addressInHex = padLeft(Integer.toHexString(endpoint.getAddress()), "0", 2); final String attributesInBinary = padLeft(Integer.toBinaryString(endpoint.getAttributes()), "0", 8); String endpointText = "#" + index + "\n"; endpointText += getString(R.string.address_) + "0x" + addressInHex + " (" + addressInBinary + ")\n"; endpointText += getString(R.string.number_) + endpoint.getEndpointNumber() + "\n"; endpointText += getString(R.string.direction_) + UsbConstantResolver.resolveUsbEndpointDirection(endpoint.getDirection()) + "\n"; endpointText += getString(R.string.type_) + UsbConstantResolver.resolveUsbEndpointType(endpoint.getType()) + "\n"; endpointText += getString(R.string.poll_interval_) + endpoint.getInterval() + "\n"; endpointText += getString(R.string.max_packet_size_) + endpoint.getMaxPacketSize() + "\n"; endpointText += getString(R.string.attributes_) + attributesInBinary; return endpointText; }
byte[] recordIn = new byte[mEndpointIn.getMaxPacketSize()]; int receivedLength = mDeviceConnection.bulkTransfer(mEndpointIn, recordIn, recordIn.length, mTimeout);
continue; if (readEndpoint.getMaxPacketSize() != 64) { Timber.e(TAG, "tryGetDevice: Wrong packet size for read endpoint"); continue; if (writeEndpoint.getMaxPacketSize() != 64) { Timber.e(TAG, "tryGetDevice: Wrong packet size for write endpoint"); continue;
Log.i(TAG," Number: " + mEndpoint.getEndpointNumber()); Log.i(TAG," Interval: " + mEndpoint.getInterval()); Log.i(TAG," Packet size: " + mEndpoint.getMaxPacketSize()); Log.i(TAG," Type: " + mEndpoint.getType());
final UsbDeviceConnection deviceConnection = usbDeviceConnection; final UsbEndpoint usbEndpoint = inputEndpoint; final int maxPacketSize = inputEndpoint.getMaxPacketSize(); final MidiInputDevice sender = MidiInputDevice.this;