luat_usb.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef LUAT_USB_H
  2. #define LUAT_USB_H
  3. #include "luat_base.h"
  4. enum
  5. {
  6. LUAT_USB_MODE_DEVICE,
  7. LUAT_USB_MODE_HOST,
  8. LUAT_USB_MODE_OTG,
  9. LUAT_USB_CLASS_CDC_ACM = 0,
  10. LUAT_USB_CLASS_AUDIO,
  11. LUAT_USB_CLASS_CAMERA,
  12. LUAT_USB_CLASS_HID,
  13. LUAT_USB_CLASS_MSC,
  14. LUAT_USB_CLASS_WINUSB,
  15. LUAT_USB_EVENT_NEW_RX = 0,
  16. LUAT_USB_EVENT_TX_DONE,
  17. LUAT_USB_EVENT_CONNECT,
  18. LUAT_USB_EVENT_DISCONNECT,
  19. LUAT_USB_EVENT_SUSPEND,
  20. LUAT_USB_EVENT_RESUME,
  21. };
  22. typedef void (*usb_callback_t)(int id, int event, uint8_t *data, uint32_t len);
  23. int luat_usb_set_vid(int id, uint16_t vid);
  24. int luat_usb_get_vid(int id, uint16_t *vid);
  25. int luat_usb_set_pid(int id, uint16_t pid);
  26. int luat_usb_get_pid(int id, uint16_t *pid);
  27. int luat_usb_set_mode(int id, uint8_t mode);
  28. int luat_usb_add_class(int id, uint8_t class, uint8_t num);
  29. int luat_usb_get_free_ep_num(int id);
  30. int luat_usb_clear_class(int id);
  31. int luat_usb_set_callback(int id, usb_callback_t callback);
  32. int luat_usb_tx(int id, uint8_t class, const void *data, uint32_t len);
  33. int luat_usb_hid_tx(int id, const char *string, uint32_t len);
  34. int luat_usb_rx(int id, uint8_t class, void *data, uint32_t len);
  35. int luat_usb_power_on_off(int id, uint8_t on_off);
  36. #endif