FileDocCategorySizeDatePackage
UsbEndpoint.javaAPI DocAndroid 5.1 API4998Thu Mar 12 22:22:10 GMT 2015android.hardware.usb

UsbEndpoint

public class UsbEndpoint extends Object implements android.os.Parcelable
A class representing an endpoint on a {@link UsbInterface}. Endpoints are the channels for sending and receiving data over USB. Typically bulk endpoints are used for sending non-trivial amounts of data. Interrupt endpoints are used for sending small amounts of data, typically events, separately from the main data streams. The endpoint zero is a special endpoint for control messages sent from the host to device. Isochronous endpoints are currently unsupported.

Fields Summary
private final int
mAddress
private final int
mAttributes
private final int
mMaxPacketSize
private final int
mInterval
public static final Parcelable.Creator
CREATOR
Constructors Summary
public UsbEndpoint(int address, int attributes, int maxPacketSize, int interval)
UsbEndpoint should only be instantiated by UsbService implementation

hide

        mAddress = address;
        mAttributes = attributes;
        mMaxPacketSize = maxPacketSize;
        mInterval = interval;
    
Methods Summary
public intdescribeContents()


       
        return 0;
    
public intgetAddress()
Returns the endpoint's address field. The address is a bitfield containing both the endpoint number as well as the data direction of the endpoint. the endpoint number and direction can also be accessed via {@link #getEndpointNumber} and {@link #getDirection}.

return
the endpoint's address

        return mAddress;
    
public intgetAttributes()
Returns the endpoint's attributes field.

return
the endpoint's attributes

        return mAttributes;
    
public intgetDirection()
Returns the endpoint's direction. Returns {@link UsbConstants#USB_DIR_OUT} if the direction is host to device, and {@link UsbConstants#USB_DIR_IN} if the direction is device to host.

see
{@link UsbConstants#USB_DIR_IN}
see
{@link UsbConstants#USB_DIR_OUT}
return
the endpoint's direction

        return mAddress & UsbConstants.USB_ENDPOINT_DIR_MASK;
    
public intgetEndpointNumber()
Extracts the endpoint's endpoint number from its address

return
the endpoint's endpoint number

        return mAddress & UsbConstants.USB_ENDPOINT_NUMBER_MASK;
    
public intgetInterval()
Returns the endpoint's interval field.

return
the endpoint's interval

        return mInterval;
    
public intgetMaxPacketSize()
Returns the endpoint's maximum packet size.

return
the endpoint's maximum packet size

        return mMaxPacketSize;
    
public intgetType()
Returns the endpoint's type. Possible results are:
  • {@link UsbConstants#USB_ENDPOINT_XFER_CONTROL} (endpoint zero)
  • {@link UsbConstants#USB_ENDPOINT_XFER_ISOC} (isochronous endpoint)
  • {@link UsbConstants#USB_ENDPOINT_XFER_BULK} (bulk endpoint)
  • {@link UsbConstants#USB_ENDPOINT_XFER_INT} (interrupt endpoint)

return
the endpoint's type

        return mAttributes & UsbConstants.USB_ENDPOINT_XFERTYPE_MASK;
    
public java.lang.StringtoString()

        return "UsbEndpoint[mAddress=" + mAddress + ",mAttributes=" + mAttributes +
                ",mMaxPacketSize=" + mMaxPacketSize + ",mInterval=" + mInterval +"]";
    
public voidwriteToParcel(android.os.Parcel parcel, int flags)

        parcel.writeInt(mAddress);
        parcel.writeInt(mAttributes);
        parcel.writeInt(mMaxPacketSize);
        parcel.writeInt(mInterval);