descriptors_control.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*
  2. * SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #pragma once
  7. #include <string.h>
  8. #include "usb_descriptors.h"
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. //------------- HID Report Descriptor -------------//
  13. #if CFG_TUD_HID
  14. enum {
  15. REPORT_ID_KEYBOARD = 1,
  16. REPORT_ID_MOUSE
  17. };
  18. #endif
  19. //------------- Configuration Descriptor -------------//
  20. enum {
  21. # if CFG_TUD_CDC
  22. ITF_NUM_CDC = 0,
  23. ITF_NUM_CDC_DATA,
  24. # endif
  25. # if CFG_TUD_CDC > 1
  26. ITF_NUM_CDC1,
  27. ITF_NUM_CDC1_DATA,
  28. # endif
  29. # if CFG_TUD_MSC
  30. ITF_NUM_MSC,
  31. # endif
  32. # if CFG_TUD_HID
  33. ITF_NUM_HID,
  34. # endif
  35. ITF_NUM_TOTAL
  36. };
  37. enum {
  38. TUSB_DESC_TOTAL_LEN = TUD_CONFIG_DESC_LEN + CFG_TUD_CDC * TUD_CDC_DESC_LEN + CFG_TUD_MSC * TUD_MSC_DESC_LEN +
  39. CFG_TUD_HID * TUD_HID_DESC_LEN
  40. };
  41. bool tusb_desc_set;
  42. void tusb_set_descriptor(tusb_desc_device_t *desc, const char **str_desc);
  43. tusb_desc_device_t *tusb_get_active_desc(void);
  44. char **tusb_get_active_str_desc(void);
  45. void tusb_clear_descriptor(void);
  46. #ifdef __cplusplus
  47. }
  48. #endif