usb_descriptor.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * Copyright (c) 2006-2022, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2022-01-15 tfx2001 first version
  9. */
  10. #ifndef _USB_DESCRIPTORS_H_
  11. #define _USB_DESCRIPTORS_H_
  12. #include <rtconfig.h>
  13. enum
  14. {
  15. #if CFG_TUD_CDC
  16. ITF_NUM_CDC = 0,
  17. ITF_NUM_CDC_DATA,
  18. #endif
  19. #if CFG_TUD_MSC
  20. ITF_NUM_MSC,
  21. #endif
  22. #if CFG_TUD_HID
  23. ITF_NUM_HID,
  24. #endif
  25. ITF_NUM_TOTAL
  26. };
  27. #define CONFIG_TOTAL_LEN (TUD_CONFIG_DESC_LEN + \
  28. TUD_MSC_DESC_LEN * CFG_TUD_MSC + \
  29. TUD_CDC_DESC_LEN * CFG_TUD_CDC + \
  30. TUD_HID_DESC_LEN * CFG_TUD_HID)
  31. #define EPNUM_CDC_NOTIF (0x80 | PKG_TINYUSB_DEVICE_CDC_EPNUM_NOTIF)
  32. #define EPNUM_CDC_OUT PKG_TINYUSB_DEVICE_CDC_EPNUM
  33. #define EPNUM_CDC_IN (0x80 | PKG_TINYUSB_DEVICE_CDC_EPNUM)
  34. #define EPNUM_MSC_OUT PKG_TINYUSB_DEVICE_MSC_EPNUM
  35. #define EPNUM_MSC_IN (0x80 | PKG_TINYUSB_DEVICE_MSC_EPNUM)
  36. #define EPNUM_HID (0x80 | PKG_TINYUSB_DEVICE_HID_EPNUM)
  37. enum
  38. {
  39. REPORT_ID_BEGIN = 0,
  40. #ifdef PKG_TINYUSB_DEVICE_HID_KEYBOARD
  41. REPORT_ID_KEYBOARD,
  42. #endif
  43. #ifdef PKG_TINYUSB_DEVICE_HID_MOUSE
  44. REPORT_ID_MOUSE,
  45. #endif
  46. #ifdef PKG_TINYUSB_DEVICE_HID_CONSUMER
  47. REPORT_ID_CONSUMER_CONTROL,
  48. #endif
  49. #ifdef PKG_TINYUSB_DEVICE_HID_GAMEPAD
  50. REPORT_ID_GAMEPAD,
  51. #endif
  52. REPORT_ID_COUNT
  53. };
  54. #endif /* _USB_DESCRIPTORS_H_ */