Keyboard firmwares for Atmel AVR and Cortex-M
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

USBDesc.h 1.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /* Copyright (c) 2011, Peter Barrett
  2. **
  3. ** Permission to use, copy, modify, and/or distribute this software for
  4. ** any purpose with or without fee is hereby granted, provided that the
  5. ** above copyright notice and this permission notice appear in all copies.
  6. **
  7. ** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
  8. ** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
  9. ** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR
  10. ** BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
  11. ** OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  12. ** WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  13. ** ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  14. ** SOFTWARE.
  15. */
  16. #define CDC_ENABLED
  17. #define HID_ENABLED
  18. #ifdef CDC_ENABLED
  19. #define CDC_INTERFACE_COUNT 2
  20. #define CDC_ENPOINT_COUNT 3
  21. #else
  22. #define CDC_INTERFACE_COUNT 0
  23. #define CDC_ENPOINT_COUNT 0
  24. #endif
  25. #ifdef HID_ENABLED
  26. #define HID_INTERFACE_COUNT 1
  27. #define HID_ENPOINT_COUNT 1
  28. #else
  29. #define HID_INTERFACE_COUNT 0
  30. #define HID_ENPOINT_COUNT 0
  31. #endif
  32. #define CDC_ACM_INTERFACE 0 // CDC ACM
  33. #define CDC_DATA_INTERFACE 1 // CDC Data
  34. #define CDC_FIRST_ENDPOINT 1
  35. #define CDC_ENDPOINT_ACM (CDC_FIRST_ENDPOINT) // CDC First
  36. #define CDC_ENDPOINT_OUT (CDC_FIRST_ENDPOINT+1)
  37. #define CDC_ENDPOINT_IN (CDC_FIRST_ENDPOINT+2)
  38. #define HID_INTERFACE (CDC_ACM_INTERFACE + CDC_INTERFACE_COUNT) // HID Interface
  39. #define HID_FIRST_ENDPOINT (CDC_FIRST_ENDPOINT + CDC_ENPOINT_COUNT)
  40. #define HID_ENDPOINT_INT (HID_FIRST_ENDPOINT)
  41. #define INTERFACE_COUNT (MSC_INTERFACE + MSC_INTERFACE_COUNT)
  42. #ifdef CDC_ENABLED
  43. #define CDC_RX CDC_ENDPOINT_OUT
  44. #define CDC_TX CDC_ENDPOINT_IN
  45. #endif
  46. #ifdef HID_ENABLED
  47. #define HID_TX HID_ENDPOINT_INT
  48. #endif
  49. #define IMANUFACTURER 1
  50. #define IPRODUCT 2