Package ch.ntb.usb

# Class Usb_Config_Descriptor

java.lang.Object
ch.ntb.usb.Usb_Descriptor
ch.ntb.usb.Usb_Config_Descriptor

public class Usb_Config_Descriptor extends Usb_Descriptor
Represents the descriptor of a USB configuration.
A USB device can have several different configuration.
The length of the configuration descriptor is `Usb_Descriptor.USB_DT_CONFIG_SIZE` and the type is `Usb_Descriptor.USB_DT_CONFIG`.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`USB_MAXCONFIG`
Maximum number of configurations per device

### Fields inherited from class ch.ntb.usb.Usb_Descriptor

`USB_DT_CONFIG, USB_DT_CONFIG_SIZE, USB_DT_DEVICE, USB_DT_DEVICE_SIZE, USB_DT_ENDPOINT, USB_DT_ENDPOINT_AUDIO_SIZE, USB_DT_ENDPOINT_SIZE, USB_DT_HID, USB_DT_HUB, USB_DT_HUB_NONVAR_SIZE, USB_DT_INTERFACE, USB_DT_INTERFACE_SIZE, USB_DT_PHYSICAL, USB_DT_REPORT, USB_DT_STRING`

## Constructor Summary

Constructors
Constructor
Description
`Usb_Config_Descriptor()`

## Method Summary

Modifier and Type
Method
Description
`byte`
`getBConfigurationValue()`
Returns the value to use as an argument to select this configuration (`LibusbJava.usb_set_configuration(long, int)`).
`byte`
`getBmAttributes()`
Returns the power parameters for this configuration.
Bit 7: Reserved, set to 1 (USB 1.0 Bus Powered)
Bit 6: Self Powered
Bit 5: Remote Wakeup
Bit 4..0: Reserved, set to 0
`byte`
`getBNumInterfaces()`
Returns the number of interfaces.
`byte[]`
`getExtra()`
Returns the data of extra descriptor(s) if available.
`int`
`getExtralen()`
Returns the number of bytes of the extra descriptor.
`byte`
`getIConfiguration()`
Returns the index of the String descriptor describing this configuration.
`Usb_Interface[]`
`getInterface()`
Returns the USB interface descriptors.
`byte`
`getMaxPower()`
Returns the maximum power consumption in 2mA units.
`short`
`getWTotalLength()`
Returns the total length in bytes of all descriptors.
When the configuration descriptor is read, it returns the entire configuration hierarchy which includes all related interface and endpoint descriptors.
`String`
`toString()`

### Methods inherited from class ch.ntb.usb.Usb_Descriptor

`getBDescriptorType, getBLength`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### USB_MAXCONFIG

public static final int USB_MAXCONFIG
Maximum number of configurations per device

See Also:
  - Constant Field Values

## Constructor Details

### Usb_Config_Descriptor

public Usb_Config_Descriptor()

## Method Details

### getBConfigurationValue

public byte getBConfigurationValue()
Returns the value to use as an argument to select this configuration (`LibusbJava.usb_set_configuration(long, int)`).

Returns:
  the value to use as an argument to select this configuration

### getBmAttributes

public byte getBmAttributes()
Returns the power parameters for this configuration.
Bit 7: Reserved, set to 1 (USB 1.0 Bus Powered)
Bit 6: Self Powered
Bit 5: Remote Wakeup
Bit 4..0: Reserved, set to 0

Returns:
  the power parameters for this configuration

### getBNumInterfaces

public byte getBNumInterfaces()
Returns the number of interfaces.

Returns:
  the number of interfaces

### getExtra

public byte[] getExtra()
Returns the data of extra descriptor(s) if available.

Returns:
  null or a byte array with the extra descriptor data

### getExtralen

public int getExtralen()
Returns the number of bytes of the extra descriptor.

Returns:
  the number of bytes of the extra descriptor

### getIConfiguration

public byte getIConfiguration()
Returns the index of the String descriptor describing this configuration.

Returns:
  the index of the String descriptor

### getInterface

public Usb_Interface[] getInterface()
Returns the USB interface descriptors.

Returns:
  the USB interface descriptors

### getMaxPower

public byte getMaxPower()
Returns the maximum power consumption in 2mA units.

Returns:
  the maximum power consumption in 2mA units

### getWTotalLength

public short getWTotalLength()
Returns the total length in bytes of all descriptors.
When the configuration descriptor is read, it returns the entire configuration hierarchy which includes all related interface and endpoint descriptors. The `wTotalLength` field reflects the number of bytes in the hierarchy.

Returns:
  the total length in bytes of all descriptors

### toString

public String toString()

Overrides:
  `toString` in class `Object`