public UsbEndpointAssert hasDirection(int direction) { isNotNull(); int actualDirection = actual.getDirection(); assertThat(actualDirection) // .overridingErrorMessage("Expected direction <%s> but was <%s>.", direction, actualDirection) // .isEqualTo(direction); return this; }
if (ep.getDirection() == UsbConstants.USB_DIR_OUT) { epOut = ep; } else if (ep.getDirection() == UsbConstants.USB_DIR_IN) { epIn = ep;
public void open() throws IOException { if (!device_found) { throw new IOException("Device not Connected"); } mConnection = mUsbManager.openDevice(mUsbDevice); Log.d(TAG, "Claiming interfaces, count=" + mUsbDevice.getInterfaceCount()); mConnection.controlTransfer(0x21, 0x22, 0x1, 0, null, 0, 0); mControlInterface = mUsbDevice.getInterface(0); Log.d(TAG, "Control interface=" + mControlInterface); if (!mConnection.claimInterface(mControlInterface, true)) { throw new IOException("Could not claim control interface."); } mControlEndpoint = mControlInterface.getEndpoint(0); Log.d(TAG, "Control endpoint direction: " + mControlEndpoint.getDirection()); Log.d(TAG, "Claiming data interface."); mDataInterface = mUsbDevice.getInterface(1); Log.d(TAG, "data interface=" + mDataInterface); if (!mConnection.claimInterface(mDataInterface, true)) { throw new IOException("Could not claim data interface."); } mReadEndpoint = mDataInterface.getEndpoint(1); Log.d(TAG, "Read endpoint direction: " + mReadEndpoint.getDirection()); mWriteEndpoint = mDataInterface.getEndpoint(0); Log.d(TAG, "Write endpoint direction: " + mWriteEndpoint.getDirection()); connected = true; setBaudRate(1000000); //Thread.sleep(1000); clear(); }
UsbInterface intf = device.getInterface(0); // checks for 2 endpoints if (intf.getEndpointCount() != 2) { Toast toast = Toast.makeText(context, "could not find endpoint", duration); toast.show(); return; } UsbEndpoint ep = intf.getEndpoint(0); if (ep.getType() == UsbConstants.USB_ENDPOINT_XFER_BULK) { if (ep.getDirection() == UsbConstants.USB_DIR_OUT) {
if (usbEndpointTemp.getDirection() == UsbConstants.USB_DIR_IN) { } else if (usbEndpointTemp.getDirection() == UsbConstants.USB_DIR_OUT) {
public UsbEndpointAssert hasDirection(int direction) { isNotNull(); int actualDirection = actual.getDirection(); assertThat(actualDirection) // .overridingErrorMessage("Expected direction <%s> but was <%s>.", direction, actualDirection) // .isEqualTo(direction); return this; }
private void openInterface() throws IOException { Log.d(TAG, "claiming interfaces, count=" + mDevice.getInterfaceCount()); mControlInterface = mDevice.getInterface(0); Log.d(TAG, "Control iface=" + mControlInterface); // class should be USB_CLASS_COMM if (!mConnection.claimInterface(mControlInterface, true)) { throw new IOException("Could not claim control interface."); } mControlEndpoint = mControlInterface.getEndpoint(0); Log.d(TAG, "Control endpoint direction: " + mControlEndpoint.getDirection()); Log.d(TAG, "Claiming data interface."); mDataInterface = mDevice.getInterface(1); Log.d(TAG, "data iface=" + mDataInterface); // class should be USB_CLASS_CDC_DATA if (!mConnection.claimInterface(mDataInterface, true)) { throw new IOException("Could not claim data interface."); } mReadEndpoint = mDataInterface.getEndpoint(1); Log.d(TAG, "Read endpoint direction: " + mReadEndpoint.getDirection()); mWriteEndpoint = mDataInterface.getEndpoint(0); Log.d(TAG, "Write endpoint direction: " + mWriteEndpoint.getDirection()); }
private void openInterface() throws IOException { Log.d(TAG, "claiming interfaces, count=" + mDevice.getInterfaceCount()); mControlInterface = mDevice.getInterface(0); Log.d(TAG, "Control iface=" + mControlInterface); // class should be USB_CLASS_COMM if (!mConnection.claimInterface(mControlInterface, true)) { throw new IOException("Could not claim control interface."); } mControlEndpoint = mControlInterface.getEndpoint(0); Log.d(TAG, "Control endpoint direction: " + mControlEndpoint.getDirection()); Log.d(TAG, "Claiming data interface."); mDataInterface = mDevice.getInterface(1); Log.d(TAG, "data iface=" + mDataInterface); // class should be USB_CLASS_CDC_DATA if (!mConnection.claimInterface(mDataInterface, true)) { throw new IOException("Could not claim data interface."); } mReadEndpoint = mDataInterface.getEndpoint(1); Log.d(TAG, "Read endpoint direction: " + mReadEndpoint.getDirection()); mWriteEndpoint = mDataInterface.getEndpoint(0); Log.d(TAG, "Write endpoint direction: " + mWriteEndpoint.getDirection()); }
private boolean openCH34X() { if(connection.claimInterface(mInterface, true)) { Log.i(CLASS_ID, "Interface succesfully claimed"); }else { Log.i(CLASS_ID, "Interface could not be claimed"); return false; } // Assign endpoints int numberEndpoints = mInterface.getEndpointCount(); for(int i=0;i<=numberEndpoints-1;i++) { UsbEndpoint endpoint = mInterface.getEndpoint(i); if(endpoint.getType() == UsbConstants.USB_ENDPOINT_XFER_BULK && endpoint.getDirection() == UsbConstants.USB_DIR_IN) { inEndpoint = endpoint; }else if(endpoint.getType() == UsbConstants.USB_ENDPOINT_XFER_BULK && endpoint.getDirection() == UsbConstants.USB_DIR_OUT) { outEndpoint = endpoint; } } return init() == 0; }
private boolean openCP2130() { if(connection.claimInterface(mInterface, true)) { Log.i(CLASS_ID, "Interface succesfully claimed"); }else { Log.i(CLASS_ID, "Interface could not be claimed"); return false; } // Assign endpoints int numberEndpoints = mInterface.getEndpointCount(); for(int i=0;i<=numberEndpoints-1;i++) { UsbEndpoint endpoint = mInterface.getEndpoint(i); if(endpoint.getType() == UsbConstants.USB_ENDPOINT_XFER_BULK && endpoint.getDirection() == UsbConstants.USB_DIR_IN) { inEndpoint = endpoint; }else { outEndpoint = endpoint; } } return true; }
&& endpoint.getDirection() == UsbConstants.USB_DIR_IN) && endpoint.getDirection() == UsbConstants.USB_DIR_OUT)
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); }
if(endpoint.getType() == UsbConstants.USB_ENDPOINT_XFER_BULK) { if(endpoint.getDirection() == UsbConstants.USB_DIR_IN) { Log.d(TAG, "Found IN endpoint " + endpoint); mInEndpoint = endpoint;
Log.d(TAG, "Control endpoint direction: " + mControlEndpoint.getDirection()); Log.d(TAG, "Read endpoint direction: " + mReadEndpoint.getDirection()); mWriteEndpoint = mDataInterface.getEndpoint(0); Log.d(TAG, "Write endpoint direction: " + mWriteEndpoint.getDirection()); if (mEnableAsyncReads) { Log.d(TAG, "Async reads enabled");
&& endpoint.getDirection() == UsbConstants.USB_DIR_IN)
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; }
&& endpoint.getDirection() == UsbConstants.USB_DIR_IN)
UsbEndpoint ep = dataIface.getEndpoint(i); if (ep.getType() == UsbConstants.USB_ENDPOINT_XFER_BULK) { if (ep.getDirection() == UsbConstants.USB_DIR_IN) { mReadEndpoint = ep; } else {
@Override public void doRun() { UsbRequest request = connection.requestWait(); if(request != null && request.getEndpoint().getType() == UsbConstants.USB_ENDPOINT_XFER_BULK && request.getEndpoint().getDirection() == UsbConstants.USB_DIR_IN) { byte[] data = serialBuffer.getDataReceived(); // FTDI devices reserves two first bytes of an IN endpoint with info about // modem and Line. if(isFTDIDevice()) { ((FTDISerialDevice) usbSerialDevice).ftdiUtilities.checkModemStatus(data); //Check the Modem status serialBuffer.clearReadBuffer(); if(data.length > 2) { data = ((FTDISerialDevice) usbSerialDevice).ftdiUtilities.adaptArray(data); onReceivedData(data); } }else { // Clear buffer, execute the callback serialBuffer.clearReadBuffer(); onReceivedData(data); } // Queue a new request requestIN.queue(serialBuffer.getReadBuffer(), SerialBuffer.DEFAULT_READ_BUFFER_SIZE); } }
if (usbInterface.getEndpoint(i).getDirection() == UsbConstants.USB_DIR_IN) receiveEndPoint = usbInterface.getEndpoint(i); else