usb_define.h 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #ifndef _USB_DEFINE_H
  2. #define _USB_DEFINE_H
  3. //ERROR CODE
  4. #define USB_ERR_OK 0x01
  5. #define USB_ERR_BUSY 0x02
  6. #define USB_ERR_PARSE 0x03
  7. #define USB_ERR_NO_CAP 0x04
  8. #define USB_ERR_NO_CONN 0x05
  9. #define USB_ERR_UNKNOW 0xff
  10. //EP Type
  11. #define EP_TYPE_CTRL 0
  12. #define EP_TYPE_ISOC 1
  13. #define EP_TYPE_BULK 2
  14. #define EP_TYPE_INTR 3
  15. //EP Dir
  16. #define EP_DIR_IN 1 //device to host
  17. #define EP_DIR_OUT 0 //host to device
  18. //Recipient
  19. #define ST_REQ_DEVICE 0
  20. #define ST_REQ_INTERFACE 1
  21. #define ST_REQ_ENDPOINT 2
  22. //Type
  23. #define ST_TYPE_STANDARD 0
  24. #define ST_TYPE_CLASS 1
  25. #define ST_TYPE_VENDOR 2
  26. //standard request
  27. #define UR_GET_STATUS 0x00
  28. #define UR_CLEAR_FEATURE 0x01
  29. #define UR_SET_FEATURE 0x03
  30. #define UR_SET_ADDRESS 0x05
  31. #define UR_GET_DESCRIPTOR 0x06
  32. #define UR_GET_CONFIGURATION 0x08
  33. #define UR_SET_CONFIGURATION 0x09
  34. #define UR_GET_INTERFACE 0x0a
  35. #define UR_SET_INTERFACE 0x0b
  36. //hid request
  37. #define HR_SET_PROTOCOL 0x0b
  38. #define HR_GET_PROTOCOL 0x03
  39. #define HR_SET_IDLE 0x0a
  40. #define HR_GET_IDLE 0x02
  41. #define HR_SET_REPORT 0x09
  42. #define HR_GET_REPORT 0x01
  43. //Feature
  44. #define FT_EP_STALL 0
  45. #define FT_DEV_REM_WAKEUP 1
  46. //Device Descriptor
  47. #define DEVICE_DESCRIPTOR 1 //设备描述符
  48. #define CONFIGURATION_DESCRIPTOR 2 //配置描述符
  49. #define STRING_DESCRIPTOR 3 //字符串描述符
  50. #define INTERFACE_DESCRIPTOR 4 //接口描述符
  51. #define ENDPOINT_DESCRIPTOR 5 //断点描述符
  52. #define DEVICE_QUALIFIER_DESCRIPTOR 6
  53. #define HID_DESCRIPTOR 0x21 //HID描述符
  54. #define HID_REPORT_DESCRIPTOR 0x22 //HID报表描述符
  55. #define AUDIO_INTERFACE_DESCRIPTOR 0x24 //音频类接口描述符
  56. #define AUDIO_ENDPOINT_DESCRIPTOR 0x25 //音频类传输端点描述符
  57. //USB Audio Class-Specific
  58. #define UA_HEADER_DESCRIPTOR 0x01 //音频类头接口描述符
  59. #define UA_INPUT_TERM_DESCRIPTOR 0x02 //音频类输入终端描述符
  60. #define UA_OUTPUT_TERM_DESCRIPTOR 0x03 //音频类输出终端描述符
  61. #define UA_FEATURE_UNIT_DESCRIPTOR 0x06 //音频类特征单元描述符
  62. #define UA_STREAM_GENERAL_DESCRIPTOR 0x01 //音频流接口描述符
  63. #define UA_STREAM_FORMAT_DESCRIPTOR 0x02 //音频流数据格式描述符
  64. #define UA_SET_CUR 0x01
  65. #define UA_SET_MIN 0x02
  66. #define UA_SET_MAX 0x03
  67. #define UA_SET_RES 0x04
  68. #define UA_GET_CUR 0x81 //Current setting attribute
  69. #define UA_GET_MIN 0x82 //Minimum setting attribute
  70. #define UA_GET_MAX 0x83 //Maximum setting attribute
  71. #define UA_GET_RES 0x84 //Resolution attribute
  72. //control for feature unit
  73. #define UA_MUTE_CTL 0x01
  74. #define UA_VOL_CTL 0x02
  75. #endif