Package ch.ntb.usb
Class USB
- java.lang.Object
-
- ch.ntb.usb.USB
-
public class USB extends java.lang.Object
This class manages all USB devices and defines some USB specific constants.
-
-
Field Summary
Fields Modifier and Type Field Description static int
FULLSPEED_MAX_BULK_PACKET_SIZE
The maximum packet size of a bulk transfer when operating in fullspeed (12 MB/s) mode.static int
HIGHSPEED_MAX_BULK_PACKET_SIZE
The maximum packet size of a bulk transfer when operating in highspeed (480 MB/s) mode.static int
REQ_CLEAR_FEATURE
This request is used to clear or disable a specific feature (USB spec 9.4.1).static int
REQ_GET_CONFIGURATION
This request returns the current device configuration value (USB spec 9.4.2).static int
REQ_GET_DESCRIPTOR
This request returns the specified descriptor if the descriptor exists (USB spec 9.4.3).static int
REQ_GET_INTERFACE
This request returns the selected alternate setting for the specified interface (USB spec 9.4.4).static int
REQ_GET_STATUS
This request returns status for the specified recipient (USB spec 9.4.5).static int
REQ_SET_ADDRESS
This request sets the device address for all future device accesses (USB spec 9.4.6).static int
REQ_SET_CONFIGURATION
This request sets the device configuration (USB spec 9.4.7).static int
REQ_SET_DESCRIPTOR
This request is optional and may be used to update existing descriptors or new descriptors may be added (USB spec 9.4.8).static int
REQ_SET_FEATURE
This request is used to set or enable a specific feature (USB spec 9.4.9).static int
REQ_SET_INTERFACE
This request allows the host to select an alternate setting for the specified interface (USB spec 9.4.10).static int
REQ_SYNCH_FRAME
This request is used to set and then report an endpoint’s synchronization frame (USB spec 9.4.11).static int
REQ_TYPE_DIR_DEVICE_TO_HOST
Identifies the direction of data transfer in the second phase of the control transfer.
The state of the Direction bit is ignored if the wLength field is zero, signifying there is no Data stage.
Specifies bit 7 of bmRequestType.static int
REQ_TYPE_DIR_HOST_TO_DEVICE
Identifies the direction of data transfer in the second phase of the control transfer.
The state of the Direction bit is ignored if the wLength field is zero, signifying there is no Data stage.
Specifies bit 7 of bmRequestType.static int
REQ_TYPE_RECIP_DEVICE
Specifies the intended recipient of the request.
Requests may be directed to the device, an interface on the device, or a specific endpoint on a device.static int
REQ_TYPE_RECIP_ENDPOINT
Specifies the intended recipient of the request.
Requests may be directed to the device, an interface on the device, or a specific endpoint on a device.static int
REQ_TYPE_RECIP_INTERFACE
Specifies the intended recipient of the request.
Requests may be directed to the device, an interface on the device, or a specific endpoint on a device.static int
REQ_TYPE_RECIP_OTHER
Specifies the intended recipient of the request.
Requests may be directed to the device, an interface on the device, or a specific endpoint on a device.static int
REQ_TYPE_TYPE_CLASS
Specifies the type of the request.
Specifies bits 6..5 of bmRequestType.static int
REQ_TYPE_TYPE_RESERVED
Specifies the type of the request.
Specifies bits 6..5 of bmRequestType.static int
REQ_TYPE_TYPE_STANDARD
Specifies the type of the request.
Specifies bits 6..5 of bmRequestType.static int
REQ_TYPE_TYPE_VENDOR
Specifies the type of the request.
Specifies bits 6..5 of bmRequestType.
-
Constructor Summary
Constructors Constructor Description USB()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Usb_Bus
getBus()
Returns the rootUsb_Bus
element.static Device
getDevice(short idVendor, short idProduct)
static Device
getDevice(short idVendor, short idProduct, java.lang.String filename)
Create a new device an register it in a device queue.static void
init()
Explicitly callsLibusbJava.usb_init()
.
-
-
-
Field Detail
-
REQ_GET_STATUS
public static final int REQ_GET_STATUS
This request returns status for the specified recipient (USB spec 9.4.5).
-
REQ_CLEAR_FEATURE
public static final int REQ_CLEAR_FEATURE
This request is used to clear or disable a specific feature (USB spec 9.4.1).
-
REQ_SET_FEATURE
public static final int REQ_SET_FEATURE
This request is used to set or enable a specific feature (USB spec 9.4.9).
-
REQ_SET_ADDRESS
public static final int REQ_SET_ADDRESS
This request sets the device address for all future device accesses (USB spec 9.4.6).
-
REQ_GET_DESCRIPTOR
public static final int REQ_GET_DESCRIPTOR
This request returns the specified descriptor if the descriptor exists (USB spec 9.4.3).
-
REQ_SET_DESCRIPTOR
public static final int REQ_SET_DESCRIPTOR
This request is optional and may be used to update existing descriptors or new descriptors may be added (USB spec 9.4.8).
-
REQ_GET_CONFIGURATION
public static final int REQ_GET_CONFIGURATION
This request returns the current device configuration value (USB spec 9.4.2).
-
REQ_SET_CONFIGURATION
public static final int REQ_SET_CONFIGURATION
This request sets the device configuration (USB spec 9.4.7).
-
REQ_GET_INTERFACE
public static final int REQ_GET_INTERFACE
This request returns the selected alternate setting for the specified interface (USB spec 9.4.4).
-
REQ_SET_INTERFACE
public static final int REQ_SET_INTERFACE
This request allows the host to select an alternate setting for the specified interface (USB spec 9.4.10).
-
REQ_SYNCH_FRAME
public static final int REQ_SYNCH_FRAME
This request is used to set and then report an endpoint’s synchronization frame (USB spec 9.4.11).
-
REQ_TYPE_DIR_HOST_TO_DEVICE
public static final int REQ_TYPE_DIR_HOST_TO_DEVICE
Identifies the direction of data transfer in the second phase of the control transfer.
The state of the Direction bit is ignored if the wLength field is zero, signifying there is no Data stage.
Specifies bit 7 of bmRequestType.
-
REQ_TYPE_DIR_DEVICE_TO_HOST
public static final int REQ_TYPE_DIR_DEVICE_TO_HOST
Identifies the direction of data transfer in the second phase of the control transfer.
The state of the Direction bit is ignored if the wLength field is zero, signifying there is no Data stage.
Specifies bit 7 of bmRequestType.
-
REQ_TYPE_TYPE_STANDARD
public static final int REQ_TYPE_TYPE_STANDARD
Specifies the type of the request.
Specifies bits 6..5 of bmRequestType.
-
REQ_TYPE_TYPE_CLASS
public static final int REQ_TYPE_TYPE_CLASS
Specifies the type of the request.
Specifies bits 6..5 of bmRequestType.
-
REQ_TYPE_TYPE_VENDOR
public static final int REQ_TYPE_TYPE_VENDOR
Specifies the type of the request.
Specifies bits 6..5 of bmRequestType.
-
REQ_TYPE_TYPE_RESERVED
public static final int REQ_TYPE_TYPE_RESERVED
Specifies the type of the request.
Specifies bits 6..5 of bmRequestType.
-
REQ_TYPE_RECIP_DEVICE
public static final int REQ_TYPE_RECIP_DEVICE
Specifies the intended recipient of the request.
Requests may be directed to the device, an interface on the device, or a specific endpoint on a device. When an interface or endpoint is specified, the wIndex field identifies the interface or endpoint.
Specifies bits 4..0 of bmRequestType.
-
REQ_TYPE_RECIP_INTERFACE
public static final int REQ_TYPE_RECIP_INTERFACE
Specifies the intended recipient of the request.
Requests may be directed to the device, an interface on the device, or a specific endpoint on a device. When an interface or endpoint is specified, the wIndex field identifies the interface or endpoint.
Specifies bits 4..0 of bmRequestType.
-
REQ_TYPE_RECIP_ENDPOINT
public static final int REQ_TYPE_RECIP_ENDPOINT
Specifies the intended recipient of the request.
Requests may be directed to the device, an interface on the device, or a specific endpoint on a device. When an interface or endpoint is specified, the wIndex field identifies the interface or endpoint.
Specifies bits 4..0 of bmRequestType.
-
REQ_TYPE_RECIP_OTHER
public static final int REQ_TYPE_RECIP_OTHER
Specifies the intended recipient of the request.
Requests may be directed to the device, an interface on the device, or a specific endpoint on a device. When an interface or endpoint is specified, the wIndex field identifies the interface or endpoint.
Specifies bits 4..0 of bmRequestType.
-
HIGHSPEED_MAX_BULK_PACKET_SIZE
public static int HIGHSPEED_MAX_BULK_PACKET_SIZE
The maximum packet size of a bulk transfer when operating in highspeed (480 MB/s) mode.
-
FULLSPEED_MAX_BULK_PACKET_SIZE
public static int FULLSPEED_MAX_BULK_PACKET_SIZE
The maximum packet size of a bulk transfer when operating in fullspeed (12 MB/s) mode.
-
-
Method Detail
-
getDevice
public static Device getDevice(short idVendor, short idProduct, java.lang.String filename)
Create a new device an register it in a device queue. If the device is already registered, a reference to it will be returned.- Parameters:
idVendor
- the vendor id of the USB deviceidProduct
- the product id of the USB devicefilename
- an optional filename which can be used to distinguish multiple devices with the same vendor and product id.- Returns:
- a newly created device or an already registered device
-
getDevice
public static Device getDevice(short idVendor, short idProduct)
SeegetDevice(short, short, String)
. The parameterfilename
is set to null.- Parameters:
idVendor
-idProduct
-- Returns:
- a newly created device or an already registered device
-
getBus
public static Usb_Bus getBus() throws USBException
Returns the rootUsb_Bus
element.- Returns:
- the root
Usb_Bus
element - Throws:
USBException
-
init
public static void init()
Explicitly callsLibusbJava.usb_init()
. Note that you don't need to call this procedure as it is called implicitly when creating a new device withgetDevice(short, short, String)
.
-
-