func_usbd.c 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #include "include.h"
  2. #include "func.h"
  3. #include "usb_com.h"
  4. #include "usb_hid.h"
  5. #include "usb_audio.h"
  6. #include "usb_vendor.h"
  7. #if FUNC_USBD_EN
  8. AT(.text.app.proc.bt)
  9. void func_usbd_process(void)
  10. {
  11. func_process();
  12. #if USB_EN
  13. usb_device_process();
  14. #endif
  15. #if SYS_OFF_TIME
  16. if(sys_cb.pwroff_delay == 0) {
  17. func_cb.sta = FUNC_PWROFF;
  18. return;
  19. }
  20. #endif
  21. #if SYS_SLEEP_LEVEL
  22. if(sleep_process(bt_is_sleep)) {
  23. }
  24. #endif
  25. }
  26. AT(.text.func.bt)
  27. void func_usbd_enter(void)
  28. {
  29. msg_queue_clear();
  30. bsp_mouse_sense_enable(true, BSP_MOUSE_TMR_PERIOD_CFG);
  31. lowpwr_pwroff_auto_dis();
  32. lowpwr_sleep_auto_dis();
  33. }
  34. AT(.text.func.bt)
  35. void func_usbd_exit(void)
  36. {
  37. bsp_audio_mic_allow_set(false);
  38. bsp_sdadc_mic_cmd(false);
  39. bsp_mouse_sense_enable(false, 0);
  40. lowpwr_pwroff_auto_en();
  41. lowpwr_sleep_auto_en();
  42. func_cb.last = FUNC_USBD;
  43. }
  44. AT(.text.func.bt)
  45. void func_usbd(void)
  46. {
  47. printf("%s\n", __func__);
  48. func_usbd_enter();
  49. while (func_cb.sta == FUNC_USBD) {
  50. func_usbd_process();
  51. func_usbd_message(msg_dequeue());
  52. }
  53. func_usbd_exit();
  54. }
  55. #endif