A.3. Devices

Table A.6. Constants used for device speed

DefinitionValueDescription
USB_DEVICE_SPEED_SLOW0x00Device speed is 1.5Mbit/s.
USB_DEVICE_SPEED_NORMAL0x01Device speed is 12Mbit/s.
USB_DEVICE_SPEED_MAX0x01Maximal device speed (USB 1.1)

Table A.7. Constants used for device states

DefinitionValueDescription
USB_DEVICE_STATE_UNPLUGGED0x00Device has been registered at USB module.
USB_DEVICE_STATE_ATTACHED0x01Device is attached to the USB but not powered.
USB_DEVICE_STATE_POWERED0x02Device is attached and powered but has not been reset. The USB Hub module will detect that a new device has been connected. Of course there may be the case that more than one device connected at the same time. In this case the Hub module is responsible to switch exactly one device to the bus per time by configuring the according hub.
USB_DEVICE_STATE_DEFAULT0x03Device is attached and powered and has been reset. It is responding at the default address. To set this address you must send a SET_ADDRESS standard device request to the device at the default address on the default pipe.
USB_DEVICE_STATE_ADDRESS0x04Device is attached and powered, has been reset and has got its own unique number. But device has not been configured. This can be done sending configuration on the default pipe.
USB_DEVICE_STATE_CONFIGURED0x05Device is attached and powered, has been reset, has got its own unique number and has been configured. The host program's can now use the device.
USB_DEVICE_STATE_SUSPENDED0x40This overlays actual device state. Device must be powered. The device enters this state if it hasn't seen an idle USB (that means also frame token are not sent!) for 3ms.