You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.6 KiB

  1. #include "tjc_screen_event.h"
  2. #include <stdbool.h>
  3. #include <stdint.h>
  4. /***********************************************************************************************************************
  5. * ¼ *
  6. ***********************************************************************************************************************/
  7. static tjc_screen_event_t event;
  8. static tjc_processe_event_t m_cb;
  9. static uint8_t packetType;
  10. static void callback_event_process(tjc_screen_event_t* event);
  11. /**
  12. * @description: ¼ж
  13. * @param {uint8_t*} packet
  14. * @return {*}
  15. */
  16. void event_process(uint8_t* packet) {
  17. packetType = packet[0];
  18. if (kpt_button_event == packetType) {
  19. printf("event Button\n");
  20. event.eventId = packet[0];
  21. event.pid = packet[1];
  22. event.bid = packet[2];
  23. callback_event_process(&event);
  24. } else if (kpt_sys_event_page_id == packetType || kpt_inputfield_content_change_event1) {
  25. printf("event page\n");
  26. event.eventId = packet[0];
  27. event.pid = packet[1];
  28. event.bid = packet[2];
  29. memcpy(event.d.inputfield_content.text, &packet[3], sizeof(event.d.inputfield_content.text));
  30. callback_event_process(&event);
  31. }
  32. }
  33. /**
  34. * @description: ִҳص
  35. * @param {tjc_screen_event_t*} event
  36. * @return {*}
  37. */
  38. void callback_event_process(tjc_screen_event_t* event) {
  39. if (m_cb) m_cb(event);
  40. }
  41. /**
  42. * @description: עҳص
  43. * @param {onpagefunc_t} cb
  44. * @return {*}
  45. */
  46. void regCallBack(onpagefunc_t cb) { m_cb = cb; }