Classes | |
struct | ConfigDescriptor |
struct | InterfaceDescriptor |
struct | EndpointDescriptor |
struct | IADDescriptor |
struct | CDCCSInterfaceDescriptor |
struct | CDCCSInterfaceDescriptor4 |
struct | CMFunctionalDescriptor |
struct | ACMFunctionalDescriptor |
struct | CDCDescriptor |
struct | MSCDescriptor |
Macros | |
#define | GET_STATUS 0 |
#define | CLEAR_FEATURE 1 |
#define | SET_FEATURE 3 |
#define | SET_ADDRESS 5 |
#define | GET_DESCRIPTOR 6 |
#define | SET_DESCRIPTOR 7 |
#define | GET_CONFIGURATION 8 |
#define | SET_CONFIGURATION 9 |
#define | GET_INTERFACE 10 |
#define | SET_INTERFACE 11 |
#define | USB_ENDPOINT_DIRECTION_MASK 0x80 |
#define | USB_ENDPOINT_OUT(addr) ((addr) | 0x00) |
#define | USB_ENDPOINT_IN(addr) ((addr) | 0x80) |
#define | USB_ENDPOINTS 7 |
#define | USB_ENDPOINT_TYPE_MASK 0x03 |
#define | USB_ENDPOINT_TYPE_CONTROL 0x00 |
#define | USB_ENDPOINT_TYPE_ISOCHRONOUS 0x01 |
#define | USB_ENDPOINT_TYPE_BULK 0x02 |
#define | USB_ENDPOINT_TYPE_INTERRUPT 0x03 |
#define | REQUEST_HOSTTODEVICE 0x00 |
#define | REQUEST_DEVICETOHOST 0x80 |
#define | REQUEST_DIRECTION 0x80 |
#define | REQUEST_STANDARD 0x00 |
#define | REQUEST_CLASS 0x20 |
#define | REQUEST_VENDOR 0x40 |
#define | REQUEST_TYPE 0x60 |
#define | REQUEST_DEVICE 0x00 |
#define | REQUEST_INTERFACE 0x01 |
#define | REQUEST_ENDPOINT 0x02 |
#define | REQUEST_OTHER 0x03 |
#define | REQUEST_RECIPIENT 0x1F |
#define | REQUEST_DEVICETOHOST_CLASS_INTERFACE (REQUEST_DEVICETOHOST | REQUEST_CLASS | REQUEST_INTERFACE) |
#define | REQUEST_HOSTTODEVICE_CLASS_INTERFACE (REQUEST_HOSTTODEVICE | REQUEST_CLASS | REQUEST_INTERFACE) |
#define | REQUEST_DEVICETOHOST_STANDARD_INTERFACE (REQUEST_DEVICETOHOST | REQUEST_STANDARD | REQUEST_INTERFACE) |
#define | CDC_SET_LINE_CODING 0x20 |
#define | CDC_GET_LINE_CODING 0x21 |
#define | CDC_SET_CONTROL_LINE_STATE 0x22 |
#define | CDC_SEND_BREAK 0x23 |
#define | MSC_RESET 0xFF |
#define | MSC_GET_MAX_LUN 0xFE |
#define | USB_DEVICE_DESCRIPTOR_TYPE 1 |
#define | USB_CONFIGURATION_DESCRIPTOR_TYPE 2 |
#define | USB_STRING_DESCRIPTOR_TYPE 3 |
#define | USB_INTERFACE_DESCRIPTOR_TYPE 4 |
#define | USB_ENDPOINT_DESCRIPTOR_TYPE 5 |
#define | USB_DEVICE_QUALIFIER 6 |
#define | USB_OTHER_SPEED_CONFIGURATION 7 |
#define | USB_DEVICE_CLASS_COMMUNICATIONS 0x02 |
#define | USB_DEVICE_CLASS_HUMAN_INTERFACE 0x03 |
#define | USB_DEVICE_CLASS_STORAGE 0x08 |
#define | USB_DEVICE_CLASS_VENDOR_SPECIFIC 0xFF |
#define | USB_CONFIG_POWERED_MASK 0x40 |
#define | USB_CONFIG_BUS_POWERED 0x80 |
#define | USB_CONFIG_SELF_POWERED 0xC0 |
#define | USB_CONFIG_REMOTE_WAKEUP 0x20 |
#define | USB_CONFIG_POWER_MA(mA) ((mA)/2) |
#define | USB_CONFIG_POWER (500) |
#define | CDC_V1_10 0x0110 |
#define | CDC_COMMUNICATION_INTERFACE_CLASS 0x02 |
#define | CDC_CALL_MANAGEMENT 0x01 |
#define | CDC_ABSTRACT_CONTROL_MODEL 0x02 |
#define | CDC_HEADER 0x00 |
#define | CDC_ABSTRACT_CONTROL_MANAGEMENT 0x02 |
#define | CDC_UNION 0x06 |
#define | CDC_CS_INTERFACE 0x24 |
#define | CDC_CS_ENDPOINT 0x25 |
#define | CDC_DATA_INTERFACE_CLASS 0x0A |
#define | MSC_SUBCLASS_SCSI 0x06 |
#define | MSC_PROTOCOL_BULK_ONLY 0x50 |
#define | D_DEVICE(_class, _subClass, _proto, _packetSize0, _vid, _pid, _version, _im, _ip, _is, _configs) { 18, 1, 0x200, _class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs } |
#define | D_CONFIG(_totalLength, _interfaces) { 9, 2, _totalLength,_interfaces, 1, 0, USB_CONFIG_BUS_POWERED | USB_CONFIG_REMOTE_WAKEUP, USB_CONFIG_POWER_MA(USB_CONFIG_POWER) } |
#define | D_INTERFACE(_n, _numEndpoints, _class, _subClass, _protocol) { 9, 4, _n, 0, _numEndpoints, _class,_subClass, _protocol, 0 } |
#define | D_ENDPOINT(_addr, _attr, _packetSize, _interval) { 7, 5, _addr,_attr,_packetSize, _interval } |
#define | D_IAD(_firstInterface, _count, _class, _subClass, _protocol) { 8, 11, _firstInterface, _count, _class, _subClass, _protocol, 0 } |
#define | D_CDCCS(_subtype, _d0, _d1) { 5, 0x24, _subtype, _d0, _d1 } |
#define | D_CDCCS4(_subtype, _d0) { 4, 0x24, _subtype, _d0 } |
Fonctions | |
_Pragma ("pack(1)") typedef struct | |
Variables | |
DeviceDescriptor | |
#define CDC_ABSTRACT_CONTROL_MANAGEMENT 0x02 |
#define CDC_ABSTRACT_CONTROL_MODEL 0x02 |
#define CDC_CALL_MANAGEMENT 0x01 |
#define CDC_COMMUNICATION_INTERFACE_CLASS 0x02 |
#define CDC_CS_ENDPOINT 0x25 |
#define CDC_CS_INTERFACE 0x24 |
#define CDC_DATA_INTERFACE_CLASS 0x0A |
#define CDC_GET_LINE_CODING 0x21 |
#define CDC_HEADER 0x00 |
#define CDC_SEND_BREAK 0x23 |
#define CDC_SET_CONTROL_LINE_STATE 0x22 |
#define CDC_SET_LINE_CODING 0x20 |
#define CDC_UNION 0x06 |
#define CDC_V1_10 0x0110 |
#define CLEAR_FEATURE 1 |
#define D_CDCCS | ( | _subtype, | |
_d0, | |||
_d1 | |||
) | { 5, 0x24, _subtype, _d0, _d1 } |
#define D_CDCCS4 | ( | _subtype, | |
_d0 | |||
) | { 4, 0x24, _subtype, _d0 } |
#define D_CONFIG | ( | _totalLength, | |
_interfaces | |||
) | { 9, 2, _totalLength,_interfaces, 1, 0, USB_CONFIG_BUS_POWERED | USB_CONFIG_REMOTE_WAKEUP, USB_CONFIG_POWER_MA(USB_CONFIG_POWER) } |
#define D_DEVICE | ( | _class, | |
_subClass, | |||
_proto, | |||
_packetSize0, | |||
_vid, | |||
_pid, | |||
_version, | |||
_im, | |||
_ip, | |||
_is, | |||
_configs | |||
) | { 18, 1, 0x200, _class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_configs } |
#define D_ENDPOINT | ( | _addr, | |
_attr, | |||
_packetSize, | |||
_interval | |||
) | { 7, 5, _addr,_attr,_packetSize, _interval } |
#define D_IAD | ( | _firstInterface, | |
_count, | |||
_class, | |||
_subClass, | |||
_protocol | |||
) | { 8, 11, _firstInterface, _count, _class, _subClass, _protocol, 0 } |
#define D_INTERFACE | ( | _n, | |
_numEndpoints, | |||
_class, | |||
_subClass, | |||
_protocol | |||
) | { 9, 4, _n, 0, _numEndpoints, _class,_subClass, _protocol, 0 } |
#define GET_CONFIGURATION 8 |
#define GET_DESCRIPTOR 6 |
#define GET_INTERFACE 10 |
#define GET_STATUS 0 |
#define MSC_GET_MAX_LUN 0xFE |
#define MSC_PROTOCOL_BULK_ONLY 0x50 |
#define MSC_RESET 0xFF |
#define MSC_SUBCLASS_SCSI 0x06 |
#define REQUEST_CLASS 0x20 |
#define REQUEST_DEVICE 0x00 |
#define REQUEST_DEVICETOHOST 0x80 |
#define REQUEST_DEVICETOHOST_CLASS_INTERFACE (REQUEST_DEVICETOHOST | REQUEST_CLASS | REQUEST_INTERFACE) |
#define REQUEST_DEVICETOHOST_STANDARD_INTERFACE (REQUEST_DEVICETOHOST | REQUEST_STANDARD | REQUEST_INTERFACE) |
#define REQUEST_DIRECTION 0x80 |
#define REQUEST_ENDPOINT 0x02 |
#define REQUEST_HOSTTODEVICE 0x00 |
#define REQUEST_HOSTTODEVICE_CLASS_INTERFACE (REQUEST_HOSTTODEVICE | REQUEST_CLASS | REQUEST_INTERFACE) |
#define REQUEST_INTERFACE 0x01 |
#define REQUEST_OTHER 0x03 |
#define REQUEST_RECIPIENT 0x1F |
#define REQUEST_STANDARD 0x00 |
#define REQUEST_TYPE 0x60 |
#define REQUEST_VENDOR 0x40 |
#define SET_ADDRESS 5 |
#define SET_CONFIGURATION 9 |
#define SET_DESCRIPTOR 7 |
#define SET_FEATURE 3 |
#define SET_INTERFACE 11 |
#define USB_CONFIG_BUS_POWERED 0x80 |
#define USB_CONFIG_POWER (500) |
#define USB_CONFIG_POWER_MA | ( | mA | ) | ((mA)/2) |
#define USB_CONFIG_POWERED_MASK 0x40 |
#define USB_CONFIG_REMOTE_WAKEUP 0x20 |
#define USB_CONFIG_SELF_POWERED 0xC0 |
#define USB_CONFIGURATION_DESCRIPTOR_TYPE 2 |
#define USB_DEVICE_CLASS_COMMUNICATIONS 0x02 |
#define USB_DEVICE_CLASS_HUMAN_INTERFACE 0x03 |
#define USB_DEVICE_CLASS_STORAGE 0x08 |
#define USB_DEVICE_CLASS_VENDOR_SPECIFIC 0xFF |
#define USB_DEVICE_DESCRIPTOR_TYPE 1 |
#define USB_DEVICE_QUALIFIER 6 |
#define USB_ENDPOINT_DESCRIPTOR_TYPE 5 |
#define USB_ENDPOINT_DIRECTION_MASK 0x80 |
#define USB_ENDPOINT_IN | ( | addr | ) | ((addr) | 0x80) |
#define USB_ENDPOINT_OUT | ( | addr | ) | ((addr) | 0x00) |
#define USB_ENDPOINT_TYPE_BULK 0x02 |
#define USB_ENDPOINT_TYPE_CONTROL 0x00 |
#define USB_ENDPOINT_TYPE_INTERRUPT 0x03 |
#define USB_ENDPOINT_TYPE_ISOCHRONOUS 0x01 |
#define USB_ENDPOINT_TYPE_MASK 0x03 |
#define USB_ENDPOINTS 7 |
#define USB_INTERFACE_DESCRIPTOR_TYPE 4 |
#define USB_OTHER_SPEED_CONFIGURATION 7 |
#define USB_STRING_DESCRIPTOR_TYPE 3 |
_Pragma | ( | "pack(1)" | ) |
DeviceDescriptor |