myDisplayUnit.h 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  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_PACKET_LEN,
  50. SET_ITEM_INDEX_MAX_COUNT,
  51. }setting_item_index_te;
  52. typedef enum
  53. {
  54. TYPE_GERNERL_TEXT,
  55. TYPE_WRITE_TEXT,
  56. TYPE_NEXT_LINK,
  57. }itemType_te;
  58. typedef struct
  59. {
  60. int cursorCount; //本界面总共可移动光标总数
  61. int cursorCounting; //本界面的光标移动计数
  62. uiFuntion uiDriver; //本界面显示驱动
  63. int id; //本界面ID
  64. int lastPageIdTab[SET_ITEM_INDEX_MAX_COUNT]; //返回上一界面超链接,对应界面的ID
  65. int nextPageIdTab[SET_ITEM_INDEX_MAX_COUNT]; //下一界面超链接,对应界面的ID
  66. int itemValueTab[SET_ITEM_INDEX_MAX_COUNT]; //该区域写入值缓存
  67. char itemStringTab[SET_ITEM_INDEX_MAX_COUNT][30]; //该区域写入值缓存
  68. int itemStepValueTab[SET_ITEM_INDEX_MAX_COUNT]; //该区域加减步进值
  69. int itemMinValueTab[SET_ITEM_INDEX_MAX_COUNT]; //该区域可写入最小值
  70. int itemMaxValueTab[SET_ITEM_INDEX_MAX_COUNT]; //该区域可写入最大值
  71. itemType_te itemTypeTab[SET_ITEM_INDEX_MAX_COUNT]; //=0普通文本,=1可编辑文本,=2下一界面超链接
  72. uint8_t writeStaTab[SET_ITEM_INDEX_MAX_COUNT]; //可写入操作状态,=1可以通过上下按键加减,同时该区域背景闪烁
  73. uint8_t writeStatusTab[SET_ITEM_INDEX_MAX_COUNT]; //控制该区域背景颜色
  74. }uiPageUnit_ts;
  75. int8_t myDisplay_getPageId(void);
  76. void myDisplay_enter(uint8_t direct);
  77. void myDisplay_change(uint8_t direct);
  78. void myDisplay_ui_rf_continuos_txCurrent(float Current);
  79. void myDisplay_ui_rf_tx_packet_buffer(uint8_t *buffer);
  80. void myDisplay_ui_rf_tx_packet_counts(uint32_t count);
  81. void myDisplay_ui_rf_tx_packet_rate(float rate);
  82. void myDisplay_ui_rf_tx_packet_consumeTime(uint32_t time);
  83. void myDisplay_ui_rf_tx_packet_ackRssi(int16_t rssi, int8_t snr);
  84. void myDisplay_ui_rf_continuos_rxErrorRate(float rate);
  85. void myDisplay_ui_rf_continuos_rxContinuousFreq(uint32_t freq);
  86. void myDisplay_ui_rf_continuos_rxPacket(uint8_t *buf, uint16_t len);
  87. void myDisplay_ui_rf_continuos_rxPacketCount(uint8_t status, uint16_t count);
  88. void myDisplay_ui_rf_continuos_rxPacketGetCount(uint32_t count);
  89. void myDisplay_ui_rf_continuos_rxRssi(int16_t rssi);
  90. void myDisplay_ui_rf_continuos_rfFreq(void);
  91. void myDisplay_ui_rf_continuos_rfBr(void);
  92. void myDisplay_ui_rf_continuos_rfPwr(void);
  93. void myDisplay_ui_rf_rxPacket_buffer(uint8_t *buf, uint16_t len);
  94. void myDisplay_ui_rf_rxPacket_scroll_buffer(uint8_t *buf, uint16_t len);
  95. void myDisplay_ui_rf_rxContinue_scroll_buffer(uint8_t *buf, uint16_t len);
  96. void myDisplay_ui_rf_continuos_rxLen(float rate, uint16_t len);
  97. void myDisplay_ui_rf_rxPacket_count(uint32_t count);
  98. void myDisplay_ui_rf_rxPacket_rate(float rate);
  99. void myDisplay_ui_rf_rxPacket_rssi(int16_t rssi, int8_t snr);
  100. void myDisplay_ui_rf_rxPacket_rxCurrent(float current);
  101. void myDisplay_ui_firstUi_setDeviceName(char *name);
  102. void myDisplay_ui_firstUi_setFreq(uint32_t freq);
  103. void myDisplay_ui_firstUi_setRfBr(uint32_t br);
  104. void myDisplay_ui_firstUi_setRfparams(uint8_t sf, char *bw, uint8_t cr);
  105. void myDisplay_ui_firstUi_setRfRgm(char *mode);
  106. void myDisplay_init(enterCallback cb);
  107. void myDisplay_ui_firstUi_setRfPower(int power);
  108. void myDisplay_setSettingParamsProfile(uint8_t index, int value, int min, int max, int step);
  109. void myDisplay_ui_rf_setting_freq(uint32_t freq);
  110. void myDisplay_ui_rf_setting_rfPower(int8_t rfPower);
  111. void myDisplay_ui_rf_setting_type(char *type);
  112. void myDisplay_ui_rf_setting_channelStep(uint32_t channelStep);
  113. void myDisplay_ui_rf_setting_rfBr(uint32_t br);
  114. void myDisplay_setting_loadParams(int index, const char *fmt, ...);
  115. void myDisplay_ui_deviceInfor_setVer(uint8_t ver);
  116. void myDisplay_ui_deviceInfor_setModule(char *moduleName);
  117. void uiTimerFlash_callBack(void);
  118. #endif