api_usb.h 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #ifndef _API_USB_H
  2. #define _API_USB_H
  3. enum {
  4. USBCHK_ONLY_HOST,
  5. USBCHK_ONLY_DEVICE,
  6. USBCHK_OTG,
  7. };
  8. enum {
  9. USB_DISCONNECT,
  10. USB_UDISK_CONNECTED,
  11. USB_PC_CONNECTED,
  12. };
  13. //USB Device HID Report id
  14. #define REPORT_ID1 0x01
  15. #define REPORT_ID2 0x02
  16. //USB Device HID Comsumer usage id
  17. #define UDE_HID_PLAYPAUSE BIT(0) //0xcd
  18. #define UDE_HID_VOLUP BIT(1) //0xe9
  19. #define UDE_HID_VOLDOWN BIT(2) //0xea
  20. #define UDE_HID_RESV BIT(3) //0xcf
  21. #define UDE_HID_HOME BIT(4) //0x40
  22. #define UDE_HID_NEXTFILE BIT(5) //0xb5
  23. #define UDE_HID_PREVFILE BIT(6) //0xb6
  24. #define UDE_HID_MUTE BIT(7) //0xe2
  25. void usb_init(void); //初始化使能
  26. void usb_disable(void); //关闭
  27. u8 usbchk_connect(u8 mode); //usb旧检测方式
  28. u8 usb_connect(void); //usb新检测方式
  29. void udisk_remove(void); //移除USB设备
  30. void udisk_insert(void); //插入USB设备使能
  31. void udisk_invalid(void); //usb状态还原
  32. void usb_bc_init(u8 set); //usb bc控制
  33. void udh_dset_valid(u32 set_val); //控制usb hid使能,set_val:单位秒
  34. u8 get_device_addr(void); //获取主机分配的接口地址编号
  35. void udisk_suspend(void); //挂起USB设备
  36. void udisk_resume(void); //恢复挂起的设备
  37. void usb_device_enter(u8 enum_type); //USB_DEV功能使能 enum_type:UDE_STORAGE_EN...
  38. void usb_device_exit(void); //退出USB_DEV
  39. void usb_device_process(void); //USB设备主循环
  40. void ude_tmr_isr(void); //USB中断
  41. void pc_remove(void); //USB从机退出
  42. bool usb_device_hid_send(u8 report_id, u16 hid_val, u16 rls_time); //usb hid发送, rls_time: 0-disable, 1~0xffff-自动释放时间,单位5ms
  43. bool ude_hid_buf_send(u8 *buf, u8 len); //发送hid buff
  44. u8 ude_cfgval_get(void); //获取USB枚举开始标志
  45. u8 get_mobile_sta(void); //获取主机状态,1-安卓手机
  46. void uda_get_spk_mute(u8 *buf); //获取speaker mute
  47. void uda_set_spk_mute(u8 val); //设置speaker mute
  48. u16 uda_get_spk_volume(u8 ch); //获取speaker 0-L,1-R,2-LR音量值
  49. u8 uda_get_spk_spr(void); //获取speaker当前采样率
  50. u8 uad_get_spk_bits(void); //获取speaker当前bits长度
  51. void uda_get_mic_mute(u8 *buf); //获取mic mute
  52. void uda_set_mic_mute(u8 val); //设置mic mute
  53. u8 uda_get_mic_spr(void); //获取mic当前采样率
  54. u16 uda_get_mic_volume(u8 ch); //获取mic音量
  55. u8 uad_get_mic_bits(void); //获取mic当前bits长度
  56. void set_mic_disframe(u16 discard_time); //设置mic开启时丢弃数据的时长
  57. #endif // _API_USB_H