func_wireless.c 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #include "include.h"
  2. #include "func.h"
  3. #include "wireless_service.h"
  4. #if FUNC_WIRELESS_EN
  5. AT(.text.app.proc.bt)
  6. void func_wireless_sub_process(void)
  7. {
  8. ble_app_proc();
  9. }
  10. AT(.text.app.proc.bt)
  11. void func_wireless_process(void)
  12. {
  13. func_process();
  14. #if WIRELESS_TRANSMIT_EN
  15. func_wireless_sub_process();
  16. #else
  17. wireless_service_proc();
  18. #endif
  19. #if SYS_OFF_TIME
  20. if(sys_cb.pwroff_delay == 0) {
  21. func_cb.sta = FUNC_PWROFF;
  22. return;
  23. }
  24. #endif
  25. #if SYS_SLEEP_LEVEL
  26. if(sleep_process(bt_is_sleep)) {
  27. }
  28. #endif
  29. }
  30. AT(.text.func.bt)
  31. void func_wireless_init(void)
  32. {
  33. bsp_wireless_init();
  34. }
  35. AT(.text.func.bt)
  36. void func_wireless_enter(void)
  37. {
  38. msg_queue_clear();
  39. ble_set_work_mode(MODE_WIRELESS);
  40. func_wireless_init();
  41. }
  42. AT(.text.func.bt)
  43. void func_wireless_exit(void)
  44. {
  45. wireless_off();
  46. func_cb.last = FUNC_WIRELESS;
  47. }
  48. AT(.text.func.bt)
  49. void func_wireless(void)
  50. {
  51. printf("%s\n", __func__);
  52. func_wireless_enter();
  53. while (func_cb.sta == FUNC_WIRELESS) {
  54. func_wireless_process();
  55. func_wireless_message(msg_dequeue());
  56. }
  57. func_wireless_exit();
  58. }
  59. #endif