myDisplayUnit.c 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551
  1. #include "myDisplayUnit.h"
  2. #include "myLcd.h"
  3. int8_t uiPageIdAddress = ~(0);
  4. int8_t uiPageCount = 1;
  5. int8_t rx_tx_count;
  6. int8_t rx_tp_count;
  7. int8_t setting_count;
  8. int8_t tx_tp_count;
  9. uiPageUnit_ts uiPageParams[10];
  10. enterCallback enterCb;
  11. void myDisplay_ui_firstUi_setDeviceName(char *name)
  12. {
  13. myLCD_str8x16(IM_NOMALE, 80, 1, name);
  14. }
  15. void myDisplay_ui_firstUi_setFreq(uint32_t freq)
  16. {
  17. myLCD_str8x16(IM_NOMALE, 95, 2, "Freq.%dMHz", freq);
  18. }
  19. void myDisplay_ui_firstUi_setRfPower(int power)
  20. {
  21. myLCD_str8x16(IM_NOMALE, 95, 3, "Pwr.%ddBm", power);
  22. }
  23. void myDisplay_ui_firstUi(int agr0, void *agr1_ptr)
  24. {
  25. if (uiPageIdAddress != UI_PAGE_ID_FIRST_UI)
  26. {
  27. myLCD_16x16(IM_INVERSE, 10, 11, "深圳市沃进科技有限公司");
  28. myLCD_displayImage(IM_NOMALE, 1, 1, IMG_SRC_VOLLGO);
  29. myLCD_str8x16(IM_NOMALE, 80, 1, "VG------------");
  30. myLCD_str8x16(IM_NOMALE, 95, 2, "Freq.***");
  31. myLCD_str8x16(IM_NOMALE, 95, 3, "Pwr.**");
  32. }
  33. else
  34. {
  35. myLCD_str8x16(agr0 == 0 ? IM_INVERSE : IM_NOMALE,
  36. HORIZONTAL_RIGHT, 5, "ENTER");
  37. }
  38. uiPageIdAddress = UI_PAGE_ID_FIRST_UI;
  39. }
  40. void myDisplay_ui_selectMode(int agr0, void *agr1_ptr)
  41. {
  42. int i;
  43. myLCD_clearFull();
  44. for ( i = 0; i <= MAX_PAGE_COUNT; i++)
  45. {
  46. myLCD_displayBlock(1, i);
  47. }
  48. uiPageIdAddress = UI_PAGE_ID_ITEM_MODE;
  49. myLCD_str8x16(agr0 == 0 ? IM_INVERSE : IM_NOMALE,
  50. 10, 1, "Enter RF Transmiter");
  51. myLCD_str8x16(agr0 == 1 ? IM_INVERSE : IM_NOMALE,
  52. 10, 2, "Enter RF Receiver");
  53. myLCD_str8x16(agr0 == 2 ? IM_INVERSE : IM_NOMALE,
  54. 10, 3, "Enter RF Continuous");
  55. myLCD_str8x16(agr0 == 3 ? IM_INVERSE : IM_NOMALE,
  56. 10, 4, "Enter RF Setting");
  57. }
  58. void myDisplay_ui_rf_tx(uint8_t mode)
  59. {
  60. int i;
  61. myLCD_clearFull();
  62. for ( i = 0; i <= MAX_PAGE_COUNT; i++)
  63. {
  64. myLCD_displayBlock(1, i);
  65. }
  66. myLCD_str8x16(mode == 0 ? IM_INVERSE : IM_NOMALE,
  67. 10, 1, "Packet TX");
  68. myLCD_str8x16(mode == 1 ? IM_INVERSE : IM_NOMALE,
  69. 10, 2, "Continuous TX");
  70. }
  71. void myDisplay_ui_rf_tx_packet(int agr0, void *agr1_ptr)
  72. {
  73. int i;
  74. if (uiPageIdAddress != UI_PAGE_ID_TX_PACKET)
  75. {
  76. myLCD_clearFull();
  77. for ( i = 0; i <= MAX_PAGE_COUNT; i++)
  78. {
  79. myLCD_displayBlock(1, i);
  80. }
  81. myLCD_str8x16(IM_NOMALE, HORIZONTAL_CENTER, 1, "Packet TX");
  82. }
  83. uiPageIdAddress = UI_PAGE_ID_TX_PACKET;
  84. if (uiPageIdAddress == UI_PAGE_ID_TX_PACKET)
  85. {
  86. myLCD_str8x16(agr0 == 0 ? IM_INVERSE : IM_NOMALE,
  87. HORIZONTAL_RIGHT, 6, "START");
  88. }
  89. }
  90. void myDisplay_ui_rf_tx_packet_buffer(uint8_t *buffer)
  91. {
  92. if (uiPageIdAddress == UI_PAGE_ID_TX_PACKET)
  93. {
  94. myLCD_str8x16(IM_NOMALE, HORIZONTAL_LEFT, 2, (char *)buffer);
  95. }
  96. }
  97. uint32_t buffer_freq;
  98. void myDisplay_ui_rf_setting_freq(uint32_t freq)
  99. {
  100. buffer_freq = freq;
  101. }
  102. char *buffer_type;
  103. void myDisplay_ui_rf_setting_type(char *type)
  104. {
  105. buffer_type = type;
  106. }
  107. void myDisplay_ui_rf_setting(int agr0, void *agr1_ptr)
  108. {
  109. int i;
  110. if (uiPageIdAddress != UI_PAGE_ID_SETTING)
  111. {
  112. myLCD_clearFull();
  113. for ( i = 0; i <= MAX_PAGE_COUNT; i++)
  114. {
  115. myLCD_displayBlock(1, i);
  116. }
  117. myLCD_str8x16(IM_NOMALE, HORIZONTAL_CENTER, 1, "Setting");
  118. myLCD_str8x16(IM_NOMALE, 10, 2, "Freq:------MHz");
  119. myLCD_str8x16(agr0 == 0 ? IM_INVERSE : IM_NOMALE,
  120. 10 + 8 * strlen("Freq:"), 2, "%6.2f", (float)buffer_freq / 1000000);
  121. myLCD_str8x16(IM_NOMALE, 10, 3, "Type:");
  122. myLCD_str8x16(agr0 == 1 ? IM_INVERSE : IM_NOMALE,
  123. 10 + 8 * strlen("Type:"), 3, "%s", buffer_type);
  124. myLCD_str8x16(IM_NOMALE, 10, 4, "TxPower:--dBm");
  125. myLCD_str8x16(agr0 == 2 ? IM_INVERSE : IM_NOMALE,
  126. 10 + 8 * strlen("TxPower:"), 4, "%02d", ((int *)agr1_ptr)[2]);
  127. }
  128. if (uiPageIdAddress == UI_PAGE_ID_SETTING)
  129. {
  130. myLCD_str8x16(agr0 == 0 ? IM_INVERSE : IM_NOMALE,
  131. 10 + 8 * strlen("Freq:"), 2, "%6.2f", (float)buffer_freq / 1000000);
  132. myLCD_str8x16(agr0 == 1 ? IM_INVERSE : IM_NOMALE,
  133. 10 + 8 * strlen("Type:"), 3, "%s", buffer_type);
  134. myLCD_str8x16(agr0 == 2 ? IM_INVERSE : IM_NOMALE,
  135. 10 + 8 * strlen("TxPower:"), 4, "%02d", ((int *)agr1_ptr)[2]);
  136. }
  137. uiPageIdAddress = UI_PAGE_ID_SETTING;
  138. }
  139. void myDisplay_ui_rf_rx(uint8_t mode)
  140. {
  141. int i;
  142. myLCD_clearFull();
  143. for ( i = 0; i <= MAX_PAGE_COUNT; i++)
  144. {
  145. myLCD_displayBlock(1, i);
  146. }
  147. myLCD_str8x16(mode == 0 ? IM_INVERSE : IM_NOMALE,
  148. 10, 1, "Packet RX");
  149. myLCD_str8x16(mode == 1 ? IM_INVERSE : IM_NOMALE,
  150. 10, 2, "Continuous RX");
  151. }
  152. void myDisplay_ui_rf_continuos(int agr0, void *agr1_ptr)
  153. {
  154. int i;
  155. if (uiPageIdAddress != UI_PAGE_ID_RF_CONTINUOUS)
  156. {
  157. myLCD_clearFull();
  158. for ( i = 0; i <= MAX_PAGE_COUNT; i++)
  159. {
  160. myLCD_displayBlock(1, i);
  161. }
  162. myLCD_str8x16(IM_NOMALE, HORIZONTAL_CENTER, 1, "Continuous");
  163. myLCD_str8x16(agr0 == 0 ? IM_INVERSE : IM_NOMALE,
  164. HORIZONTAL_CENTER, 2, "TX");
  165. myLCD_str8x16(agr0 == 1 ? IM_INVERSE : IM_NOMALE,
  166. HORIZONTAL_CENTER, 3, "RX");
  167. }
  168. if (uiPageIdAddress == UI_PAGE_ID_RF_CONTINUOUS)
  169. {
  170. myLCD_str8x16(agr0 == 0 ? IM_INVERSE : IM_NOMALE,
  171. HORIZONTAL_CENTER, 2, "TX");
  172. myLCD_str8x16(agr0 == 1 ? IM_INVERSE : IM_NOMALE,
  173. HORIZONTAL_CENTER, 3, "RX");
  174. }
  175. uiPageIdAddress = UI_PAGE_ID_RF_CONTINUOUS;
  176. }
  177. void myDisplay_ui_rf_continuos_txCurrent(float Current)
  178. {
  179. if (uiPageIdAddress == UI_PAGE_ID_RF_CONTINUOUS)
  180. {
  181. myLCD_str8x16(IM_NOMALE,
  182. 10, 4, "Current=%6.2fmA", Current);
  183. }
  184. }
  185. void myDisplay_ui_rf_continuos_rxErrorRate(float rate)
  186. {
  187. if (uiPageIdAddress == UI_PAGE_ID_RF_CONTINUOUS)
  188. {
  189. myLCD_str8x16(IM_NOMALE,
  190. 10, 5, "rate=%6.2f%%", rate);
  191. }
  192. }
  193. void myDisplay_ui_rf_continuos_rxContinuousFreq(uint32_t freq)
  194. {
  195. if (uiPageIdAddress == UI_PAGE_ID_RF_CONTINUOUS)
  196. {
  197. myLCD_str8x16(IM_NOMALE,
  198. 10, 6, "freq=%6d", freq);
  199. }
  200. }
  201. void myDisplay_ui_rf_continuos_rxPacketCount(uint8_t status, uint16_t count)
  202. {
  203. if (uiPageIdAddress == UI_PAGE_ID_RF_CONTINUOUS)
  204. {
  205. myLCD_str8x16(IM_NOMALE,
  206. 10, 5, "count=%d sta=%d", count, status);
  207. }
  208. }
  209. void myDisplay_ui_rf_continuos_rxPacket(uint8_t *buf, uint16_t len)
  210. {
  211. int i = 0;
  212. if (uiPageIdAddress == UI_PAGE_ID_RF_CONTINUOUS)
  213. {
  214. myLCD_str8x16(IM_NOMALE,
  215. 10, 6, " ");
  216. if (len)
  217. {
  218. myLCD_str8x16(IM_NOMALE,
  219. 10, 6, "packet=");
  220. for ( i = 0; i < len; i++)
  221. {
  222. myLCD_str8x16(IM_NOMALE,
  223. 10, 6 + strlen("packet=") + i,
  224. "%x", *buf);
  225. buf ++;
  226. }
  227. }
  228. else
  229. {
  230. myLCD_str8x16(IM_NOMALE,
  231. 10, 6, "packet=%s", buf);
  232. }
  233. }
  234. }
  235. void myDisplay_ui_rf_continuos_rxPacketGetCount(uint32_t count)
  236. {
  237. if (uiPageIdAddress == UI_PAGE_ID_RF_CONTINUOUS)
  238. {
  239. myLCD_str8x16(IM_NOMALE,
  240. 10, 6, "rx count=%d", count);
  241. }
  242. }
  243. void myDisplay_ui_rf_rx_packet(int agr0, void *agr1_ptr)
  244. {
  245. int i;
  246. if (uiPageIdAddress != UI_PAGE_ID_RX_PACKET)
  247. {
  248. myLCD_clearFull();
  249. for ( i = 0; i <= MAX_PAGE_COUNT; i++)
  250. {
  251. myLCD_displayBlock(1, i);
  252. }
  253. myLCD_str8x16(IM_NOMALE, HORIZONTAL_CENTER, 1, "Packet RX");
  254. }
  255. uiPageIdAddress = UI_PAGE_ID_RX_PACKET;
  256. if (uiPageIdAddress == UI_PAGE_ID_RX_PACKET)
  257. {
  258. myLCD_str8x16(agr0 == 0 ? IM_INVERSE : IM_NOMALE,
  259. HORIZONTAL_RIGHT, 6, "START");
  260. }
  261. }
  262. void myDisplay_ui_rf_rxPacket_rxCurrent(float current)
  263. {
  264. if (uiPageIdAddress == UI_PAGE_ID_RX_PACKET)
  265. {
  266. myLCD_str8x16(IM_NOMALE,
  267. 10, 4, "current=%-6.2fmA", current);
  268. }
  269. }
  270. void myDisplay_ui_rf_rxPacket_rssi(int8_t rssi, int8_t snr)
  271. {
  272. if (uiPageIdAddress == UI_PAGE_ID_RX_PACKET)
  273. {
  274. myLCD_str8x16(IM_NOMALE,
  275. 10, 3, "rssi=%-4ddBm snr=%-4d", rssi, snr);
  276. }
  277. }
  278. void myDisplay_ui_rf_rxPacket_rate(float rate, int count, int frame)
  279. {
  280. if (uiPageIdAddress == UI_PAGE_ID_RX_PACKET)
  281. {
  282. myLCD_str8x16(IM_NOMALE,
  283. 10, 3, "rssi=%3.0f%%,cnt=%3d %1d", rate, count, frame & 0x0f);
  284. }
  285. }
  286. void myDisplay_ui_rf_rxPacket_buffer(uint8_t *buf, uint16_t len)
  287. {
  288. int i = 0;
  289. if (uiPageIdAddress == UI_PAGE_ID_RX_PACKET)
  290. {
  291. myLCD_str8x16(IM_NOMALE,
  292. 10, 5, " ");
  293. if (len)
  294. {
  295. myLCD_str8x16(IM_NOMALE,
  296. 10, 5, "packet=");
  297. for ( i = 0; i < len; i++)
  298. {
  299. myLCD_str8x16(IM_NOMALE,
  300. 10, 5 + strlen("packet=") + i,
  301. "%x", *buf);
  302. buf ++;
  303. }
  304. }
  305. else
  306. {
  307. myLCD_str8x16(IM_NOMALE,
  308. 10, 5, "packet=%s", buf);
  309. }
  310. }
  311. }
  312. /**
  313. * 光标控制
  314. * direct: 方向控制
  315. * =1,向上移动
  316. * =0,向下移动
  317. * **/
  318. void myDisplay_change(uint8_t direct)
  319. {
  320. if (uiPageParams[uiPageCount - 1].cursorCount)
  321. {
  322. //设置加减控制
  323. if (uiPageParams[uiPageCount - 1].writeStaTab[uiPageParams[uiPageCount - 1].cursorCounting])
  324. {
  325. if (direct)
  326. {
  327. uiPageParams[uiPageCount - 1].itemValueTab[uiPageParams[uiPageCount - 1].cursorCounting] ++;
  328. if (uiPageParams[uiPageCount - 1].itemValueTab[uiPageParams[uiPageCount - 1].cursorCounting] >=
  329. uiPageParams[uiPageCount - 1].itemMaxValueTab[uiPageParams[uiPageCount - 1].cursorCounting])
  330. {
  331. uiPageParams[uiPageCount - 1].itemValueTab[uiPageParams[uiPageCount - 1].cursorCounting] = 0;
  332. }
  333. }
  334. else
  335. {
  336. uiPageParams[uiPageCount - 1].itemValueTab[uiPageParams[uiPageCount - 1].cursorCounting] --;
  337. if (uiPageParams[uiPageCount - 1].itemValueTab[uiPageParams[uiPageCount - 1].cursorCounting] < 0)
  338. {
  339. uiPageParams[uiPageCount - 1].itemValueTab[uiPageParams[uiPageCount - 1].cursorCounting] =
  340. uiPageParams[uiPageCount - 1].itemMaxValueTab[uiPageParams[uiPageCount - 1].cursorCounting] - 1;
  341. }
  342. }
  343. if (enterCb)
  344. {
  345. enterCb(uiPageCount,
  346. uiPageParams[uiPageCount - 1].cursorCounting,
  347. uiPageParams[uiPageCount - 1].writeStaTab[uiPageParams[uiPageCount - 1].cursorCounting],
  348. uiPageParams[uiPageCount - 1].itemValueTab[uiPageParams[uiPageCount - 1].cursorCounting]
  349. );
  350. }
  351. }
  352. else
  353. {
  354. //光标移动控制
  355. if (direct)
  356. {
  357. uiPageParams[uiPageCount - 1].cursorCounting --;
  358. if (uiPageParams[uiPageCount - 1].cursorCounting < 0)
  359. {
  360. uiPageParams[uiPageCount - 1].cursorCounting = uiPageParams[uiPageCount - 1].cursorCount - 1;
  361. }
  362. }
  363. else
  364. {
  365. uiPageParams[uiPageCount - 1].cursorCounting ++;
  366. if (uiPageParams[uiPageCount - 1].cursorCounting >= uiPageParams[uiPageCount - 1].cursorCount)
  367. {
  368. uiPageParams[uiPageCount - 1].cursorCounting = 0;
  369. }
  370. }
  371. }
  372. uiPageParams[uiPageCount - 1].uiDriver(uiPageParams[uiPageCount - 1].cursorCounting,
  373. uiPageParams[uiPageCount - 1].itemValueTab);
  374. }
  375. }
  376. /***
  377. * 按下确定键
  378. * 进入下一个界面或者进入设置状态
  379. */
  380. void myDisplay_enter(uint8_t direct)
  381. {
  382. if (direct == ENTER_NEXT_PAGE)
  383. {
  384. //进入设置状态
  385. if (uiPageParams[uiPageCount - 1].itemTypeTab[uiPageParams[uiPageCount - 1].cursorCounting] == TYPE_WRITE_TEXT)
  386. {
  387. //切换设置状态
  388. uiPageParams[uiPageCount - 1].writeStaTab[uiPageParams[uiPageCount - 1].cursorCounting] =
  389. !uiPageParams[uiPageCount - 1].writeStaTab[uiPageParams[uiPageCount - 1].cursorCounting];
  390. uiPageParams[uiPageCount - 1].uiDriver(uiPageParams[uiPageCount - 1].cursorCounting,
  391. uiPageParams[uiPageCount - 1].itemValueTab);
  392. if (enterCb)
  393. {
  394. enterCb(uiPageParams[uiPageCount - 1].id,
  395. uiPageParams[uiPageCount - 1].cursorCounting,
  396. uiPageParams[uiPageCount - 1].writeStaTab[uiPageParams[uiPageCount - 1].cursorCounting],
  397. uiPageParams[uiPageCount - 1].itemValueTab[uiPageParams[uiPageCount - 1].cursorCounting]
  398. );
  399. }
  400. }
  401. //切换到下一个界面
  402. if (uiPageParams[uiPageCount - 1].itemTypeTab[uiPageParams[uiPageCount - 1].cursorCounting] == TYPE_NEXT_LINK)
  403. {
  404. uiPageCount = uiPageParams[uiPageCount - 1].nextPageIdTab[uiPageParams[uiPageCount - 1].cursorCounting];
  405. uiPageParams[uiPageCount - 1].uiDriver(uiPageParams[uiPageCount - 1].cursorCounting,
  406. uiPageParams[uiPageCount - 1].itemValueTab);
  407. }
  408. }
  409. //切换到上一个界面
  410. if (direct == ENTER_LAST_PAGE)
  411. {
  412. if (uiPageParams[uiPageCount - 1].lastPageIdTab[0])
  413. {
  414. memset(uiPageParams[uiPageCount - 1].writeStaTab, 0, sizeof(uiPageParams[uiPageCount - 1].writeStaTab));
  415. if (enterCb)
  416. {
  417. enterCb(uiPageParams[uiPageCount - 1].id,
  418. uiPageParams[uiPageCount - 1].cursorCounting,
  419. uiPageParams[uiPageCount - 1].writeStaTab[uiPageParams[uiPageCount - 1].cursorCounting],
  420. uiPageParams[uiPageCount - 1].itemValueTab[uiPageParams[uiPageCount - 1].cursorCounting]
  421. );
  422. }
  423. uiPageCount = uiPageParams[uiPageCount - 1].lastPageIdTab[0];
  424. uiPageParams[uiPageCount - 1].uiDriver(uiPageParams[uiPageCount - 1].cursorCounting,
  425. uiPageParams[uiPageCount - 1].itemValueTab);
  426. }
  427. }
  428. }
  429. int8_t myDisplay_getPageId(void)
  430. {
  431. return uiPageIdAddress;
  432. }
  433. void uiTimerFlash_callBack(void)
  434. {
  435. if (uiPageParams[uiPageCount - 1].writeStaTab[uiPageParams[uiPageCount - 1].cursorCounting])
  436. {
  437. uiPageParams[uiPageCount - 1].writeStatusTab[uiPageParams[uiPageCount - 1].cursorCounting] =
  438. !uiPageParams[uiPageCount - 1].writeStatusTab[uiPageParams[uiPageCount - 1].cursorCounting];
  439. if (uiPageParams[uiPageCount - 1].writeStatusTab[uiPageParams[uiPageCount - 1].cursorCounting])
  440. {
  441. uiPageParams[uiPageCount - 1].uiDriver(uiPageParams[uiPageCount - 1].cursorCounting,
  442. uiPageParams[uiPageCount - 1].itemValueTab);
  443. }
  444. else
  445. {
  446. uiPageParams[uiPageCount - 1].uiDriver((~0), uiPageParams[uiPageCount - 1].itemValueTab);
  447. }
  448. }
  449. }
  450. void myDisplay_init(enterCallback cb)
  451. {
  452. uiPageParams[0].id = 1;
  453. uiPageParams[0].uiDriver = myDisplay_ui_firstUi;
  454. uiPageParams[0].lastPageIdTab[0] = 0;
  455. uiPageParams[0].nextPageIdTab[0] = 2;
  456. uiPageParams[0].itemTypeTab[0] = TYPE_NEXT_LINK;
  457. uiPageParams[0].writeStaTab[0] = 1;
  458. uiPageParams[0].cursorCounting = 0;
  459. uiPageParams[0].cursorCount = 2;
  460. uiPageParams[1].id = 2;
  461. uiPageParams[1].uiDriver = myDisplay_ui_selectMode;
  462. uiPageParams[1].lastPageIdTab[0] = 0;
  463. uiPageParams[1].nextPageIdTab[0] = 3;
  464. uiPageParams[1].itemTypeTab[0] = TYPE_NEXT_LINK;
  465. uiPageParams[1].nextPageIdTab[1] = 4;
  466. uiPageParams[1].itemTypeTab[1] = TYPE_NEXT_LINK;
  467. uiPageParams[1].nextPageIdTab[2] = 5;
  468. uiPageParams[1].itemTypeTab[2] = TYPE_NEXT_LINK;
  469. uiPageParams[1].nextPageIdTab[3] = 6;
  470. uiPageParams[1].itemTypeTab[3] = TYPE_NEXT_LINK;
  471. uiPageParams[1].cursorCounting = 0;
  472. uiPageParams[1].cursorCount = 4;
  473. uiPageParams[2].id = 3;
  474. uiPageParams[2].uiDriver = myDisplay_ui_rf_tx_packet;
  475. uiPageParams[2].lastPageIdTab[0] = 2;
  476. uiPageParams[2].nextPageIdTab[0] = 0;
  477. uiPageParams[2].itemTypeTab[0] = TYPE_WRITE_TEXT;
  478. uiPageParams[2].writeStaTab[0] = 0;
  479. uiPageParams[2].cursorCounting = 0;
  480. uiPageParams[2].cursorCount = 0;
  481. uiPageParams[3].id = 4;
  482. uiPageParams[3].uiDriver = myDisplay_ui_rf_rx_packet;
  483. uiPageParams[3].lastPageIdTab[0] = 2;
  484. uiPageParams[3].nextPageIdTab[0] = 0;
  485. uiPageParams[3].itemTypeTab[0] = TYPE_WRITE_TEXT;
  486. uiPageParams[3].writeStaTab[0] = 0;
  487. uiPageParams[3].cursorCounting = 0;
  488. uiPageParams[3].cursorCount = 0;
  489. uiPageParams[4].id = 5;
  490. uiPageParams[4].uiDriver = myDisplay_ui_rf_continuos;
  491. uiPageParams[4].lastPageIdTab[0] = 2;
  492. uiPageParams[4].itemTypeTab[0] = TYPE_WRITE_TEXT;
  493. uiPageParams[4].writeStaTab[0] = 0;
  494. uiPageParams[4].itemTypeTab[1] = TYPE_WRITE_TEXT;
  495. uiPageParams[4].writeStaTab[1] = 0;
  496. uiPageParams[4].cursorCounting = 0;
  497. uiPageParams[4].cursorCount = 2;
  498. uiPageParams[5].id = 6;
  499. uiPageParams[5].uiDriver = myDisplay_ui_rf_setting;
  500. uiPageParams[5].lastPageIdTab[0] = 2;
  501. uiPageParams[5].nextPageIdTab[0] = 3;
  502. uiPageParams[5].itemTypeTab[0] = TYPE_WRITE_TEXT;
  503. uiPageParams[5].writeStaTab[0] = 0;
  504. uiPageParams[5].itemMaxValueTab[0] = 32;
  505. uiPageParams[5].nextPageIdTab[1] = 4;
  506. uiPageParams[5].itemTypeTab[1] = TYPE_WRITE_TEXT;
  507. uiPageParams[5].writeStaTab[1] = 0;
  508. uiPageParams[5].itemMaxValueTab[1] = 4;
  509. uiPageParams[5].nextPageIdTab[2] = 5;
  510. uiPageParams[5].itemTypeTab[2] = TYPE_WRITE_TEXT;
  511. uiPageParams[5].writeStaTab[2] = 0;
  512. uiPageParams[5].itemMaxValueTab[2] = 21;
  513. uiPageParams[5].cursorCounting = 0;
  514. uiPageParams[5].cursorCount = 3;
  515. enterCb = cb;
  516. uiPageParams[uiPageCount - 1].uiDriver(0, 0);
  517. }
  518. void myDisplay_setSettingParams(int agr0, int agr1, int agr2)
  519. {
  520. uiPageParams[5].itemValueTab[0] = agr0;
  521. uiPageParams[5].itemValueTab[1] = agr1;
  522. uiPageParams[5].itemValueTab[2] = agr2;
  523. }