myDisplayUnit.h 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. #ifndef __MY_DISPLAYUNIT_H
  2. #define __MY_DISPLAYUNIT_H
  3. #include <stdint.h>
  4. #include <stdbool.h>
  5. #include <string.h>
  6. typedef void (*uiFuntion) (bool flashFlag, int agr0, void *agr1_ptr, void *agr2_ptr);
  7. typedef void (*enterCallback) (int agr0, int agr1, int agr2, int agr3, void *agr4_ptr);
  8. typedef void (*pageChangeCallback) (int agr0, int agr1, int agr2, int agr3);
  9. typedef enum
  10. {
  11. UI_PAGE_ID_FIRST_UI,
  12. UI_PAGE_ID_ITEM_MODE,
  13. UI_PAGE_ID_TX_PACKET,
  14. UI_PAGE_ID_RX_PACKET,
  15. UI_PAGE_ID_RF_CONTINUOUS,
  16. UI_PAGE_ID_SETTING,
  17. UI_PAGE_ID_DEVICE_INFOR,
  18. UI_PAGE_ID_MAX,
  19. }uiPageIndex_te;
  20. typedef enum
  21. {
  22. MD_ITEM_INDX_TX_PACKET,
  23. MD_ITEM_INDX_RX_PACKET,
  24. MD_ITEM_INDX_CONTINUOUS,
  25. MD_ITEM_INDX_SETTING,
  26. MD_ITEM_INDX_MAX,
  27. }modeItemIndex_te;
  28. typedef enum
  29. {
  30. CNT_ITEM_INDEX_TX,
  31. CNT_ITEM_INDEX_RX,
  32. CNT_ITEM_INDEX_TX_MD,
  33. CNT_ITEM_INDEX_MAX_COUNT,
  34. }continuesItemIndex_te;
  35. typedef enum
  36. {
  37. ENTER_NEXT_PAGE,
  38. ENTER_LAST_PAGE,
  39. ENTER_CURRENT_PAGE,
  40. ENTER_RELEASE_PAGE,
  41. }enter_te;
  42. typedef enum
  43. {
  44. SET_ITEM_INDEX_TYPE,
  45. SET_ITEM_INDEX_FREQ,
  46. SET_ITEM_INDEX_STEP,
  47. SET_ITEM_INDEX_TXPOWER,
  48. SET_ITEM_INDEX_RFBAUDRATE,
  49. SET_ITEM_INDEX_SF,
  50. SET_ITEM_INDEX_BW,
  51. SET_ITEM_INDEX_CR,
  52. SET_ITEM_INDEX_RGM,
  53. SET_ITEM_INDEX_PACKET_LEN,
  54. SET_ITEM_INDEX_MAX_COUNT,
  55. }setting_item_index_te;
  56. typedef enum
  57. {
  58. TYPE_GERNERL_TEXT,
  59. TYPE_WRITE_TEXT,
  60. TYPE_NEXT_LINK,
  61. }itemType_te;
  62. typedef struct
  63. {
  64. int cursorCount; //本界面总共可移动光标总数
  65. int cursorCounting; //本界面的光标移动计数
  66. uiFuntion uiDriver; //本界面显示驱动
  67. int id; //本界面ID
  68. int lastPageIdTab[SET_ITEM_INDEX_MAX_COUNT]; //返回上一界面超链接,对应界面的ID
  69. int nextPageIdTab[SET_ITEM_INDEX_MAX_COUNT]; //下一界面超链接,对应界面的ID
  70. int itemValueTab[SET_ITEM_INDEX_MAX_COUNT]; //该区域写入值缓存
  71. char itemStringTab[SET_ITEM_INDEX_MAX_COUNT][30]; //该区域写入值缓存
  72. int itemStepValueTab[SET_ITEM_INDEX_MAX_COUNT]; //该区域加减步进值
  73. int itemMinValueTab[SET_ITEM_INDEX_MAX_COUNT]; //该区域可写入最小值
  74. int itemMaxValueTab[SET_ITEM_INDEX_MAX_COUNT]; //该区域可写入最大值
  75. itemType_te itemTypeTab[SET_ITEM_INDEX_MAX_COUNT]; //=0普通文本,=1可编辑文本,=2下一界面超链接
  76. uint8_t writeStaTab[SET_ITEM_INDEX_MAX_COUNT]; //可写入操作状态,=1可以通过上下按键加减,同时该区域背景闪烁
  77. uint8_t writeStatusTab[SET_ITEM_INDEX_MAX_COUNT]; //控制该区域背景颜色
  78. }uiPageUnit_ts;
  79. int8_t myDisplay_getPageId(void);
  80. void myDisplay_enter(uint8_t direct);
  81. void myDisplay_change(uint8_t direct);
  82. void myDisplay_ui_rf_continuos_txCurrent(float Current);
  83. void myDisplay_ui_rf_tx_packet_buffer(uint8_t *buffer);
  84. void myDisplay_ui_rf_tx_packet_counts(uint32_t count);
  85. void myDisplay_ui_rf_tx_packet_rate(float rate);
  86. void myDisplay_ui_rf_tx_packet_consumeTime(uint32_t time);
  87. void myDisplay_ui_rf_tx_packet_ackRssi(int16_t rssi);
  88. void myDisplay_ui_rf_continuos_rxErrorRate(float rate);
  89. void myDisplay_ui_rf_continuos_rxContinuousFreq(uint32_t freq);
  90. void myDisplay_ui_rf_continuos_rxPacket(uint8_t *buf, uint16_t len);
  91. void myDisplay_ui_rf_continuos_rxPacketCount(uint8_t status, uint16_t count);
  92. void myDisplay_ui_rf_continuos_rxPacketGetCount(uint32_t count);
  93. void myDisplay_ui_rf_continuos_rxRssi(int16_t rssi);
  94. void myDisplay_ui_rf_continuos_rfFreq(void);
  95. void myDisplay_ui_rf_continuos_rfBr(void);
  96. void myDisplay_ui_rf_continuos_rfPwr(void);
  97. void myDisplay_ui_rf_rxPacket_buffer(uint8_t *buf, uint16_t len);
  98. void myDisplay_ui_rf_rxPacket_scroll_buffer(uint8_t *buf, uint16_t len);
  99. void myDisplay_ui_rf_rxContinue_scroll_buffer(uint8_t *buf, uint16_t len);
  100. void myDisplay_ui_rf_continuos_rxLen(float rate, uint16_t len);
  101. void myDisplay_ui_rf_rxPacket_count(uint32_t count);
  102. void myDisplay_ui_rf_rxPacket_rate(float rate);
  103. void myDisplay_ui_rf_rxPacket_rssi(int16_t rssi);
  104. void myDisplay_ui_rf_rxPacket_rxCurrent(float current);
  105. void myDisplay_ui_firstUi_setDeviceName(char *name);
  106. void myDisplay_ui_firstUi_setFreq(uint32_t freq);
  107. void myDisplay_ui_firstUi_setRfBr(uint32_t br);
  108. void myDisplay_ui_firstUi_setRfparams(uint8_t sf, char *bw, uint8_t cr);
  109. void myDisplay_ui_firstUi_setRfRgm(char *mode);
  110. void myDisplay_init(enterCallback cb);
  111. void myDisplay_ui_firstUi_setRfPower(int power);
  112. void myDisplay_setSettingParamsProfile(uint8_t index, int value, int min, int max, int step);
  113. void myDisplay_ui_rf_setting_freq(uint32_t freq);
  114. void myDisplay_ui_rf_setting_rfPower(int8_t rfPower);
  115. void myDisplay_ui_rf_setting_type(char *type);
  116. void myDisplay_ui_rf_setting_channelStep(uint32_t channelStep);
  117. void myDisplay_ui_rf_setting_rfBr(uint32_t br);
  118. void myDisplay_setting_loadParams(int index, const char *fmt, ...);
  119. void myDisplay_ui_deviceInfor_setVer(uint8_t ver);
  120. void myDisplay_ui_deviceInfor_setModule(char *moduleName);
  121. void uiTimerFlash_callBack(void);
  122. #endif