key.c 32 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417
  1. #include "key.h"
  2. #include "usart.h"
  3. #include "interface.h"
  4. extern Menu_table menu;
  5. extern TipsFlag tipsflag;
  6. bool sent1_key = false;
  7. bool sent2_key = false;
  8. bool sent3_key = false;
  9. bool sent4_key = false;
  10. struct keys key[1]={0};
  11. char timeout[] = "+CONNECT TIMEOUT";
  12. uint16_t S1 = 0;
  13. uint16_t S2 = 0;
  14. uint8_t KEY_1_Scan(void)
  15. {
  16. static uint8_t key_state = 0;
  17. static uint8_t last_key_state = 0;
  18. static uint32_t debounce_time = 0;
  19. key_state = HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_3);
  20. if (key_state != last_key_state) // 检测按键状态变化
  21. {
  22. last_key_state = key_state;
  23. debounce_time = HAL_GetTick(); // 记录当前时间
  24. }
  25. else
  26. {
  27. if (HAL_GetTick() - debounce_time > 30) // 去抖时间
  28. {
  29. if (key_state == GPIO_PIN_RESET) // 按键按下
  30. {
  31. if(!sent1_key)
  32. {
  33. switch(menu.current)
  34. {
  35. case 0:
  36. {
  37. SET_MENU_STATUS(0,0,0,0);
  38. break;
  39. }
  40. case 1:
  41. {
  42. SET_MENU_STATUS(1,1,0,1);
  43. break;
  44. }
  45. case 2:
  46. case 3:
  47. {
  48. if(menu.up!=3)
  49. {
  50. menu.up+=1;
  51. menu.next-=1;
  52. }
  53. else if(menu.up==3)
  54. {
  55. menu.up=0;
  56. menu.next=3;
  57. }
  58. refresh=true;
  59. break;
  60. }
  61. case 4:
  62. case 5:
  63. case 6:
  64. case 7:
  65. {
  66. if(menu.up!=1)
  67. {
  68. menu.up+=1;
  69. menu.next-=1;
  70. }
  71. else if(menu.up==1)
  72. {
  73. menu.up=0;
  74. menu.next=1;
  75. }
  76. refresh=true;
  77. break;
  78. }
  79. case 8:
  80. case 9:
  81. case 0xa:
  82. case 0xb:
  83. case 0x0D:
  84. case 0xA1:
  85. {
  86. if(menu.up!=0xF)
  87. {
  88. menu.up+=1;
  89. menu.next-=1;
  90. }
  91. else if(menu.up==0xF)
  92. {
  93. menu.up=0;
  94. menu.next=0xF;
  95. }
  96. refresh=true;
  97. break;
  98. }
  99. }
  100. //PRINT_MENU_STATUS("K1");
  101. sent1_key = true;
  102. }
  103. return 1;
  104. }
  105. else // 按键释放
  106. {
  107. sent1_key = false;
  108. return 0;
  109. }
  110. }
  111. }
  112. return 0;
  113. }
  114. uint8_t KEY_2_Scan(void)
  115. {
  116. static uint8_t key_state = 0;
  117. static uint8_t last_key_state = 0;
  118. static uint32_t debounce_time = 0;
  119. key_state = HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_4);
  120. if (key_state != last_key_state) // 检测按键状态变化
  121. {
  122. last_key_state = key_state;
  123. debounce_time = HAL_GetTick(); // 记录当前时间
  124. }
  125. else
  126. {
  127. if (HAL_GetTick() - debounce_time > 30) // 去抖时间大于50ms
  128. {
  129. if (key_state == GPIO_PIN_RESET) // 按键按下
  130. {
  131. if (!sent2_key)
  132. {
  133. switch (menu.current)
  134. {
  135. case 0:
  136. {
  137. SET_MENU_STATUS(0,0,0,0);
  138. break;
  139. }
  140. case 1:
  141. {
  142. SET_MENU_STATUS(1,0,1,1);
  143. break;
  144. }
  145. case 2:
  146. case 3:
  147. {
  148. if(menu.next!=3)
  149. {
  150. menu.up-=1;
  151. menu.next+=1;
  152. }
  153. else if(menu.next==3)
  154. {
  155. menu.up=3;
  156. menu.next=0;
  157. }
  158. refresh=true;
  159. break;
  160. }
  161. case 4:
  162. case 5:
  163. case 6:
  164. case 7:
  165. {
  166. if(menu.next!=1)
  167. {
  168. menu.up-=1;
  169. menu.next+=1;
  170. }
  171. else if(menu.next==1)
  172. {
  173. menu.up=1;
  174. menu.next=0;
  175. }
  176. refresh=true;
  177. break;
  178. }
  179. case 8:
  180. case 9:
  181. case 0xa:
  182. case 0xb:
  183. case 0x0D:
  184. case 0xA1:
  185. {
  186. if(menu.next!=0xF)
  187. {
  188. menu.up-=1;
  189. menu.next+=1;
  190. }
  191. else if(menu.next==0xF)
  192. {
  193. menu.up=0xF;
  194. menu.next=0;
  195. }
  196. refresh=true;
  197. break;
  198. }
  199. }
  200. //PRINT_MENU_STATUS("K2");
  201. sent2_key = true;
  202. }
  203. return 1;
  204. }
  205. else // 按键释放
  206. {
  207. sent2_key = false;
  208. return 0;
  209. }
  210. }
  211. }
  212. return 0;
  213. }
  214. uint8_t KEY_3_Scan(void)
  215. {
  216. static uint8_t key_state = 0;
  217. static uint8_t last_key_state = 0;
  218. static uint32_t debounce_time = 0;
  219. key_state = HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_5);
  220. if (key_state != last_key_state) // 检测按键状态变化
  221. {
  222. last_key_state = key_state;
  223. debounce_time = HAL_GetTick(); // 记录当前时间
  224. }
  225. else
  226. {
  227. if (HAL_GetTick() - debounce_time > 30) // 去抖时间大于50ms
  228. {
  229. if (key_state == GPIO_PIN_RESET) // 按键按下
  230. {
  231. if (!sent3_key) {
  232. switch (menu.current) {
  233. case 0://跳转到菜单界面
  234. {
  235. SET_MENU_STATUS(1,1,0,1);
  236. break;
  237. }
  238. case 1://跳转到L绑定界面
  239. {
  240. if(menu.up==1)
  241. {
  242. SET_MENU_STATUS(2,3,0,2);
  243. }
  244. else
  245. {
  246. scanMac();
  247. SET_MENU_STATUS(3,3,0,2);
  248. }
  249. break;
  250. }
  251. case 2:
  252. {
  253. menu.PreNext=menu.next;
  254. SET_MENU_STATUS(0xA1,0xF,0,3);
  255. //printf("%04x",menu.PreNext);
  256. break;
  257. }
  258. case 3:
  259. {
  260. if(menu.up==3)//L1操作
  261. {
  262. // if(sendCmd_BT(menu.SN1,menu.SN1F,2,5))//L1连接
  263. // {
  264. // //HAL_Delay(1200);
  265. // printf("success\r\n");
  266. // SET_MENU_STATUS(4,1,0,3);
  267. // break;
  268. // }
  269. // if(sendCmd_BT(menu.SN1,menu.SN1D,2,5))
  270. // {
  271. // sendCmd_BT(menu.SN1,menu.SN1F,2,5);
  272. // SET_MENU_STATUS(4,1,0,3);
  273. // break;
  274. // }
  275. // if(sendCmd_BT(menu.SN1,timeout,2,5))
  276. // {
  277. // sendCmd_BT(menu.SN1,menu.SN1F,2,5);
  278. // SET_MENU_STATUS(4,1,0,3);
  279. // break;
  280. // }
  281. // else
  282. // {
  283. // printf("fail\r\n");
  284. // break;
  285. // }
  286. sendCmd_BT(menu.SN1,menu.SN1F,3,3);
  287. HAL_Delay(500);
  288. SET_MENU_STATUS(4,1,0,3);
  289. break;
  290. }
  291. if(menu.up==2)//2操作
  292. {
  293. if(sendCmd_BT(menu.SN2,menu.SN2F,2,3))//L2连接
  294. {
  295. //HAL_Delay(1200);
  296. printf("success\r\n");
  297. SET_MENU_STATUS(5,1,0,3);
  298. }
  299. else
  300. {
  301. printf("fail\r\n");
  302. }
  303. break;
  304. }
  305. // if(menu.up==1)//3操作
  306. // {
  307. // if(sendCmd_BT(menu.SN3,menu.SN3F,2,3))//L3连接
  308. // {
  309. // HAL_Delay(1200);
  310. // printf("success\r\n");
  311. // SET_MENU_STATUS(6,1,0,3);
  312. // }
  313. // else
  314. // {
  315. // printf("fail\r\n");
  316. // }
  317. // break;
  318. // }
  319. // if(menu.up==0)//3操作
  320. // {
  321. // if(sendCmd_BT(menu.SN4,menu.SN4F,2,3))//L4连接
  322. // {
  323. // HAL_Delay(1200);
  324. // printf("success\r\n");
  325. // SET_MENU_STATUS(7,1,0,3);
  326. // }
  327. // else
  328. // {
  329. // printf("fail\r\n");
  330. // }
  331. // break;
  332. // }
  333. }
  334. case 4:
  335. case 5:
  336. case 6:
  337. case 7:
  338. {
  339. menu.enter=4;
  340. break;
  341. }
  342. case 8:
  343. case 9:
  344. case 0xa:
  345. case 0xb:
  346. case 0xd:
  347. case 0xA1:
  348. {
  349. if(menu.PreNext==0)//L1 写
  350. {
  351. if(menu.next==0)
  352. {
  353. menu.SN1="AT+CONN=101000000001\r\n";
  354. menu.SN1F="+CONNECTED:0,101000000001";
  355. menu.SN1D="+DISCONN:0,101000000001";
  356. Write_Information(Sn1Addr, 0x0001);
  357. }
  358. if(menu.next==1)
  359. {
  360. menu.SN1="AT+CONN=101000000002\r\n";
  361. menu.SN1F="+CONNECTED:0,101000000002";
  362. menu.SN1D="+DISCONN:0,101000000002";
  363. Write_Information(Sn1Addr, 0x0002);
  364. }
  365. if(menu.next==2)
  366. {
  367. menu.SN1="AT+CONN=101000000003\r\n";
  368. menu.SN1F="+CONNECTED:0,101000000003";
  369. menu.SN1D="+DISCONN:0,101000000003";
  370. Write_Information(Sn1Addr, 0x0003);
  371. }
  372. if(menu.next==3)
  373. {
  374. menu.SN1="AT+CONN=101000000004\r\n";
  375. menu.SN1F="+CONNECTED:0,101000000004";
  376. menu.SN1D="+DISCONN:0,101000000004";
  377. Write_Information(Sn1Addr, 0x0004);
  378. }
  379. if(menu.next==4)
  380. {
  381. menu.SN1="AT+CONN=101000000005\r\n";
  382. menu.SN1F="+CONNECTED:0,101000000005";
  383. menu.SN1D="+DISCONN:0,101000000005";
  384. Write_Information(Sn1Addr, 0x0005);
  385. }
  386. if(menu.next==5)
  387. {
  388. menu.SN1="AT+CONN=101000000006\r\n";
  389. menu.SN1F="+CONNECTED:0,101000000006";
  390. menu.SN1D="+DISCONN:0,101000000006";
  391. Write_Information(Sn1Addr, 0x0006);
  392. }
  393. if(menu.next==6)
  394. {
  395. menu.SN1="AT+CONN=101000000007\r\n";
  396. menu.SN1F="+CONNECTED:0,101000000007";
  397. menu.SN1D="+DISCONN:0,101000000007";
  398. Write_Information(Sn1Addr, 0x0007);
  399. }
  400. if(menu.next==7)
  401. {
  402. menu.SN1="AT+CONN=101000000008\r\n";
  403. menu.SN1F="+CONNECTED:0,101000000008";
  404. menu.SN1D="+DISCONN:0,101000000008";
  405. Write_Information(Sn1Addr, 0x0008);
  406. }
  407. if(menu.next==8)
  408. {
  409. menu.SN1="AT+CONN=101000000009\r\n";
  410. menu.SN1F="+CONNECTED:0,101000000009";
  411. menu.SN1D="+DISCONN:0,101000000009";
  412. Write_Information(Sn1Addr, 0x0009);
  413. }
  414. if(menu.next==9)
  415. {
  416. menu.SN1="AT+CONN=10100000000A\r\n";
  417. menu.SN1F="+CONNECTED:0,10100000000A";
  418. menu.SN1D="+DISCONN:0,10100000000A";
  419. Write_Information(Sn1Addr, 0x000A);
  420. }
  421. if(menu.next==0xa)
  422. {
  423. menu.SN1="AT+CONN=10100000000B\r\n";
  424. menu.SN1F="+CONNECTED:0,10100000000B";
  425. menu.SN1D="+DISCONN:0,10100000000B";
  426. Write_Information(Sn1Addr, 0x000B);
  427. }
  428. if(menu.next==0xb)
  429. {
  430. menu.SN1="AT+CONN=10100000000C\r\n";
  431. menu.SN1F="+CONNECTED:0,10100000000C";
  432. menu.SN1D="+DISCONN:0,10100000000C";
  433. Write_Information(Sn1Addr, 0x000C);
  434. }
  435. if(menu.next==0xc)
  436. {
  437. menu.SN1="AT+CONN=10100000000D\r\n";
  438. menu.SN1F="+CONNECTED:0,10100000000D";
  439. menu.SN1D="+DISCONN:0,10100000000D";
  440. Write_Information(Sn1Addr, 0x000D);
  441. }
  442. if(menu.next==0xd)
  443. {
  444. menu.SN1="AT+CONN=10100000000E\r\n";
  445. menu.SN1F="+CONNECTED:0,10100000000E";
  446. menu.SN1D="+DISCONN:0,10100000000E";
  447. Write_Information(Sn1Addr, 0x000E);
  448. }
  449. if(menu.next==0xe)
  450. {
  451. menu.SN1="AT+CONN=10100000000F\r\n";
  452. menu.SN1F="+CONNECTED:0,10100000000F";
  453. menu.SN1D="+DISCONN:0,10100000000F";
  454. Write_Information(Sn1Addr, 0x000F);
  455. }
  456. if(menu.next==0xf)
  457. {
  458. menu.SN1="AT+CONN=101000000010\r\n";
  459. menu.SN1F="+CONNECTED:0,101000000010";
  460. menu.SN1D="+DISCONN:0,101000000010";
  461. Write_Information(Sn1Addr, 0x0010);
  462. }
  463. L1bd=true;
  464. }
  465. if(menu.PreNext==1)//L2 写
  466. {
  467. if(menu.next==0)
  468. {
  469. menu.SN2="AT+CONN=101000000001\r\n";
  470. menu.SN2F="+CONNECTED:0,101000000001";
  471. menu.SN2D="+DISCONN:0,101000000001";
  472. Write_Information(Sn2Addr, 0x0001);
  473. }
  474. if(menu.next==1)
  475. {
  476. menu.SN2="AT+CONN=101000000002\r\n";
  477. menu.SN2F="+CONNECTED:0,101000000002";
  478. menu.SN2D="+DISCONN:0,101000000002";
  479. Write_Information(Sn2Addr, 0x0002);
  480. }
  481. if(menu.next==2)
  482. {
  483. menu.SN2="AT+CONN=101000000003\r\n";
  484. menu.SN2F="+CONNECTED:0,101000000003";
  485. menu.SN2D="+DISCONN:0,101000000003";
  486. Write_Information(Sn2Addr, 0x0003);
  487. }
  488. if(menu.next==3)
  489. {
  490. menu.SN2="AT+CONN=101000000004\r\n";
  491. menu.SN2F="+CONNECTED:0,101000000004";
  492. menu.SN2D="+DISCONN:0,101000000004";
  493. Write_Information(Sn2Addr, 0x0004);
  494. }
  495. if(menu.next==4)
  496. {
  497. menu.SN2="AT+CONN=101000000005\r\n";
  498. menu.SN2F="+CONNECTED:0,101000000005";
  499. menu.SN2D="+DISCONN:0,101000000005";
  500. Write_Information(Sn2Addr, 0x0005);
  501. }
  502. if(menu.next==5)
  503. {
  504. menu.SN2="AT+CONN=101000000006\r\n";
  505. menu.SN2F="+CONNECTED:0,101000000006";
  506. menu.SN2D="+DISCONN:0,101000000006";
  507. Write_Information(Sn2Addr, 0x0006);
  508. }
  509. if(menu.next==6)
  510. {
  511. menu.SN2="AT+CONN=101000000007\r\n";
  512. menu.SN2F="+CONNECTED:0,101000000007";
  513. menu.SN2D="+DISCONN:0,101000000007";
  514. Write_Information(Sn2Addr, 0x0007);
  515. }
  516. if(menu.next==7)
  517. {
  518. menu.SN2="AT+CONN=101000000008\r\n";
  519. menu.SN2F="+CONNECTED:0,101000000008";
  520. menu.SN2D="+DISCONN:0,101000000008";
  521. Write_Information(Sn2Addr, 0x0008);
  522. }
  523. if(menu.next==8)
  524. {
  525. menu.SN2="AT+CONN=101000000009\r\n";
  526. menu.SN2F="+CONNECTED:0,101000000009";
  527. menu.SN2D="+DISCONN:0,101000000009";
  528. Write_Information(Sn2Addr, 0x0009);
  529. }
  530. if(menu.next==9)
  531. {
  532. menu.SN2="AT+CONN=10100000000A\r\n";
  533. menu.SN2F="+CONNECTED:0,10100000000A";
  534. menu.SN2D="+DISCONN:0,10100000000A";
  535. Write_Information(Sn2Addr, 0x000A);
  536. }
  537. if(menu.next==0xa)
  538. {
  539. menu.SN2="AT+CONN=10100000000B\r\n";
  540. menu.SN2F="+CONNECTED:0,10100000000B";
  541. menu.SN2D="+DISCONN:0,10100000000B";
  542. Write_Information(Sn2Addr, 0x000B);
  543. }
  544. if(menu.next==0xb)
  545. {
  546. menu.SN2="AT+CONN=10100000000C\r\n";
  547. menu.SN2F="+CONNECTED:0,10100000000C";
  548. menu.SN2D="+DISCONN:0,10100000000C";
  549. Write_Information(Sn2Addr, 0x000C);
  550. }
  551. if(menu.next==0xc)
  552. {
  553. menu.SN2="AT+CONN=10100000000D\r\n";
  554. menu.SN2F="+CONNECTED:0,10100000000D";
  555. menu.SN2D="+DISCONN:0,10100000000D";
  556. Write_Information(Sn2Addr, 0x000D);
  557. }
  558. if(menu.next==0xd)
  559. {
  560. menu.SN2="AT+CONN=10100000000E\r\n";
  561. menu.SN2F="+CONNECTED:0,10100000000E";
  562. menu.SN2D="+DISCONN:0,10100000000E";
  563. Write_Information(Sn2Addr, 0x000E);
  564. }
  565. if(menu.next==0xe)
  566. {
  567. menu.SN2="AT+CONN=10100000000F\r\n";
  568. menu.SN2F="+CONNECTED:0,10100000000F";
  569. menu.SN2D="+DISCONN:0,10100000000F";
  570. Write_Information(Sn2Addr, 0x000F);
  571. }
  572. if(menu.next==0xf)
  573. {
  574. menu.SN2="AT+CONN=101000000010\r\n";
  575. menu.SN2F="+CONNECTED:0,101000000010";
  576. menu.SN2D="+DISCONN:0,101000000010";
  577. Write_Information(Sn2Addr, 0x0010);
  578. }
  579. L2bd=true;
  580. }
  581. if(menu.PreNext==2)//L3 写
  582. {
  583. if(menu.next==0)
  584. {
  585. menu.SN3="AT+CONN=101000000001\r\n";
  586. menu.SN3F="+CONNECTED:0,101000000001";
  587. menu.SN3D="+DISCONN:0,101000000001";
  588. Write_Information(Sn3Addr, 0x0001);
  589. }
  590. if(menu.next==1)
  591. {
  592. menu.SN3="AT+CONN=101000000002\r\n";
  593. menu.SN3F="+CONNECTED:0,101000000002";
  594. menu.SN3D="+DISCONN:0,101000000002";
  595. Write_Information(Sn3Addr, 0x0002);
  596. }
  597. if(menu.next==2)
  598. {
  599. menu.SN3="AT+CONN=101000000003\r\n";
  600. menu.SN3F="+CONNECTED:0,101000000003";
  601. menu.SN3D="+DISCONN:0,101000000003";
  602. Write_Information(Sn3Addr, 0x0003);
  603. }
  604. if(menu.next==3)
  605. {
  606. menu.SN3="AT+CONN=101000000004\r\n";
  607. menu.SN3F="+CONNECTED:0,101000000004";
  608. menu.SN3D="+DISCONN:0,101000000004";
  609. Write_Information(Sn3Addr, 0x0004);
  610. }
  611. if(menu.next==4)
  612. {
  613. menu.SN3="AT+CONN=101000000005\r\n";
  614. menu.SN3F="+CONNECTED:0,101000000005";
  615. menu.SN3D="+DISCONN:0,101000000005";
  616. Write_Information(Sn3Addr, 0x0005);
  617. }
  618. if(menu.next==5)
  619. {
  620. menu.SN3="AT+CONN=101000000006\r\n";
  621. menu.SN3F="+CONNECTED:0,101000000006";
  622. menu.SN3D="+DISCONN:0,101000000006";
  623. Write_Information(Sn3Addr, 0x0006);
  624. }
  625. if(menu.next==6)
  626. {
  627. menu.SN3="AT+CONN=101000000007\r\n";
  628. menu.SN3F="+CONNECTED:0,101000000007";
  629. menu.SN3D="+DISCONN:0,101000000007";
  630. Write_Information(Sn3Addr, 0x0007);
  631. }
  632. if(menu.next==7)
  633. {
  634. menu.SN3="AT+CONN=101000000008\r\n";
  635. menu.SN3F="+CONNECTED:0,101000000008";
  636. menu.SN3D="+DISCONN:0,101000000008";
  637. Write_Information(Sn3Addr, 0x0008);
  638. }
  639. if(menu.next==8)
  640. {
  641. menu.SN3="AT+CONN=101000000009\r\n";
  642. menu.SN3F="+CONNECTED:0,101000000009";
  643. menu.SN3D="+DISCONN:0,101000000009";
  644. Write_Information(Sn3Addr, 0x0009);
  645. }
  646. if(menu.next==9)
  647. {
  648. menu.SN3="AT+CONN=10100000000A\r\n";
  649. menu.SN3F="+CONNECTED:0,10100000000A";
  650. menu.SN3D="+DISCONN:0,10100000000A";
  651. Write_Information(Sn3Addr, 0x000A);
  652. }
  653. if(menu.next==0xa)
  654. {
  655. menu.SN3="AT+CONN=10100000000B\r\n";
  656. menu.SN3F="+CONNECTED:0,10100000000B";
  657. menu.SN3D="+DISCONN:0,10100000000B";
  658. Write_Information(Sn3Addr, 0x000B);
  659. }
  660. if(menu.next==0xb)
  661. {
  662. menu.SN3="AT+CONN=10100000000C\r\n";
  663. menu.SN3F="+CONNECTED:0,10100000000C";
  664. menu.SN3D="+DISCONN:0,10100000000C";
  665. Write_Information(Sn3Addr, 0x000C);
  666. }
  667. if(menu.next==0xc)
  668. {
  669. menu.SN3="AT+CONN=10100000000D\r\n";
  670. menu.SN3F="+CONNECTED:0,10100000000D";
  671. menu.SN3D="+DISCONN:0,10100000000D";
  672. Write_Information(Sn3Addr, 0x000D);
  673. }
  674. if(menu.next==0xd)
  675. {
  676. menu.SN3="AT+CONN=10100000000E\r\n";
  677. menu.SN3F="+CONNECTED:0,10100000000E";
  678. menu.SN3D="+DISCONN:0,10100000000E";
  679. Write_Information(Sn3Addr, 0x000E);
  680. }
  681. if(menu.next==0xe)
  682. {
  683. menu.SN3="AT+CONN=10100000000F\r\n";
  684. menu.SN3F="+CONNECTED:0,10100000000F";
  685. menu.SN3D="+DISCONN:0,10100000000F";
  686. Write_Information(Sn3Addr, 0x000F);
  687. }
  688. if(menu.next==0xf)
  689. {
  690. menu.SN3="AT+CONN=101000000010\r\n";
  691. menu.SN3F="+CONNECTED:0,101000000010";
  692. menu.SN3D="+DISCONN:0,101000000010";
  693. Write_Information(Sn3Addr, 0x0010);
  694. }
  695. L3bd=true;
  696. }
  697. if(menu.PreNext==3)//L4 写
  698. {
  699. if(menu.next==0)
  700. {
  701. menu.SN4="AT+CONN=101000000001\r\n";
  702. menu.SN4F="+CONNECTED:0,101000000001";
  703. menu.SN4D="+DISCONN:0,101000000001";
  704. Write_Information(Sn4Addr, 0x0001);
  705. }
  706. if(menu.next==1)
  707. {
  708. menu.SN4="AT+CONN=101000000002\r\n";
  709. menu.SN4F="+CONNECTED:0,101000000002";
  710. menu.SN4D="+DISCONN:0,101000000002";
  711. Write_Information(Sn4Addr, 0x0002);
  712. }
  713. if(menu.next==2)
  714. {
  715. menu.SN4="AT+CONN=101000000003\r\n";
  716. menu.SN4F="+CONNECTED:0,101000000003";
  717. menu.SN4D="+DISCONN:0,101000000003";
  718. Write_Information(Sn4Addr, 0x0003);
  719. }
  720. if(menu.next==3)
  721. {
  722. menu.SN4="AT+CONN=101000000004\r\n";
  723. menu.SN4F="+CONNECTED:0,101000000004";
  724. menu.SN4D="+DISCONN:0,101000000004";
  725. Write_Information(Sn4Addr, 0x0004);
  726. }
  727. if(menu.next==4)
  728. {
  729. menu.SN4="AT+CONN=101000000005\r\n";
  730. menu.SN4F="+CONNECTED:0,101000000005";
  731. menu.SN4D="+DISCONN:0,101000000005";
  732. Write_Information(Sn4Addr, 0x0005);
  733. }
  734. if(menu.next==5)
  735. {
  736. menu.SN4="AT+CONN=101000000006\r\n";
  737. menu.SN4F="+CONNECTED:0,101000000006";
  738. menu.SN4D="+DISCONN:0,101000000006";
  739. Write_Information(Sn4Addr, 0x0006);
  740. }
  741. if(menu.next==6)
  742. {
  743. menu.SN4="AT+CONN=101000000007\r\n";
  744. menu.SN4F="+CONNECTED:0,101000000007";
  745. menu.SN4D="+DISCONN:0,101000000007";
  746. Write_Information(Sn4Addr, 0x0007);
  747. }
  748. if(menu.next==7)
  749. {
  750. menu.SN4="AT+CONN=101000000008\r\n";
  751. menu.SN4F="+CONNECTED:0,101000000008";
  752. menu.SN4D="+DISCONN:0,101000000008";
  753. Write_Information(Sn4Addr, 0x0008);
  754. }
  755. if(menu.next==8)
  756. {
  757. menu.SN4="AT+CONN=101000000009\r\n";
  758. menu.SN4F="+CONNECTED:0,101000000009";
  759. menu.SN4D="+DISCONN:0,101000000009";
  760. Write_Information(Sn4Addr, 0x0009);
  761. }
  762. if(menu.next==9)
  763. {
  764. menu.SN4="AT+CONN=10100000000A\r\n";
  765. menu.SN4F="+CONNECTED:0,10100000000A";
  766. menu.SN4D="+DISCONN:0,10100000000A";
  767. Write_Information(Sn4Addr, 0x000A);
  768. }
  769. if(menu.next==0xa)
  770. {
  771. menu.SN4="AT+CONN=10100000000B\r\n";
  772. menu.SN4F="+CONNECTED:0,10100000000B";
  773. menu.SN4D="+DISCONN:0,10100000000B";
  774. Write_Information(Sn4Addr, 0x000B);
  775. }
  776. if(menu.next==0xb)
  777. {
  778. menu.SN4="AT+CONN=10100000000C\r\n";
  779. menu.SN4F="+CONNECTED:0,10100000000C";
  780. menu.SN4D="+DISCONN:0,10100000000C";
  781. Write_Information(Sn4Addr, 0x000C);
  782. }
  783. if(menu.next==0xc)
  784. {
  785. menu.SN4="AT+CONN=10100000000D\r\n";
  786. menu.SN4F="+CONNECTED:0,10100000000D";
  787. menu.SN4D="+DISCONN:0,10100000000D";
  788. Write_Information(Sn4Addr, 0x000D);
  789. }
  790. if(menu.next==0xd)
  791. {
  792. menu.SN4="AT+CONN=10100000000E\r\n";
  793. menu.SN4F="+CONNECTED:0,10100000000E";
  794. menu.SN4D="+DISCONN:0,10100000000E";
  795. Write_Information(Sn4Addr, 0x000E);
  796. }
  797. if(menu.next==0xe)
  798. {
  799. menu.SN4="AT+CONN=10100000000F\r\n";
  800. menu.SN4F="+CONNECTED:0,10100000000F";
  801. menu.SN4D="+DISCONN:0,10100000000F";
  802. Write_Information(Sn4Addr, 0x000F);
  803. }
  804. if(menu.next==0xf)
  805. {
  806. menu.SN4="AT+CONN=101000000010\r\n";
  807. menu.SN4F="+CONNECTED:0,101000000010";
  808. menu.SN4D="+DISCONN:0,101000000010";
  809. Write_Information(Sn4Addr, 0x0010);
  810. }
  811. L4bd=true;
  812. }
  813. SET_MENU_STATUS(2,3,0,2);
  814. break;
  815. }
  816. }
  817. //PRINT_MENU_STATUS("K3");
  818. sent3_key = true;
  819. }
  820. return 1;
  821. }
  822. else // 按键释放
  823. {
  824. sent3_key = false;
  825. return 0;
  826. }
  827. }
  828. }
  829. return 0;
  830. }
  831. uint8_t KEY_4_Scan(void)
  832. {
  833. static uint8_t key_state = 0;
  834. static uint8_t last_key_state = 0;
  835. static uint32_t debounce_time = 0;
  836. key_state = HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_6);
  837. if (key_state != last_key_state) // 检测按键状态变化
  838. {
  839. last_key_state = key_state;
  840. debounce_time = HAL_GetTick(); // 记录当前时间
  841. }
  842. else
  843. {
  844. if (HAL_GetTick() - debounce_time > 30) // 去抖时间大于50ms
  845. {
  846. if (key_state == GPIO_PIN_RESET) // 按键按下
  847. {
  848. if (!sent4_key) {//返回
  849. switch (menu.current) {
  850. case 0:
  851. case 1:
  852. {
  853. SET_MENU_STATUS(0,0,0,0);
  854. break;
  855. }
  856. case 2:
  857. case 3:
  858. {
  859. SET_MENU_STATUS(1,1,0,1);
  860. break;
  861. }
  862. case 4:
  863. case 5:
  864. case 6:
  865. case 7:
  866. {
  867. sendCmd_BT("AT+DISCONN=0\r\n","ERROR",1,1);//断开连接
  868. HAL_Delay(300);
  869. S1 = read_flash_16(Sn1StatusAddr);
  870. S2 = read_flash_16(Sn2StatusAddr);
  871. SET_MENU_STATUS(3,3,0,2);
  872. break;
  873. }
  874. case 8:
  875. case 9:
  876. case 0xa:
  877. case 0xb:
  878. case 0xd:
  879. break;
  880. case 0xA1:
  881. {
  882. S1 = read_flash_16(Sn1StatusAddr);
  883. S2 = read_flash_16(Sn2StatusAddr);
  884. SET_MENU_STATUS(2,3,0,2);
  885. break;
  886. }
  887. }
  888. //PRINT_MENU_STATUS("K4");
  889. sent4_key = true;
  890. }
  891. return 1;
  892. }
  893. else // 按键释放
  894. {
  895. sent4_key = false;
  896. return 0;
  897. }
  898. }
  899. }
  900. return 0;
  901. }
  902. void updatekeystate(void)
  903. {
  904. KEY_1_Scan();
  905. KEY_2_Scan();
  906. KEY_3_Scan();
  907. KEY_4_Scan();
  908. }
  909. void scanMac(void)
  910. {
  911. uint16_t SN1 = read_flash_16(Sn1Addr);
  912. uint16_t SN2 = read_flash_16(Sn2Addr);
  913. uint16_t SN3 = read_flash_16(Sn3Addr);
  914. uint16_t SN4 = read_flash_16(Sn4Addr);
  915. // printf("%04x\r\n",SN1);
  916. // printf("%04x\r\n",SN2);
  917. // printf("%04x\r\n",SN3);
  918. // printf("%04x\r\n",SN4);
  919. if(SN1==0x0001)
  920. {
  921. menu.SN1name="0001";
  922. menu.SN1="AT+CONN=101000000001\r\n";
  923. menu.SN1F="+CONNECTED:0,101000000001";
  924. L1bd=true;
  925. }
  926. if(SN1==0x0002)
  927. {
  928. menu.SN1name="0002";
  929. menu.SN1="AT+CONN=101000000002\r\n";
  930. menu.SN1F="+CONNECTED:0,101000000002";
  931. L1bd=true;
  932. }
  933. if(SN1==0x0003)
  934. {
  935. menu.SN1name="0003";
  936. menu.SN1="AT+CONN=101000000003\r\n";
  937. menu.SN1F="+CONNECTED:0,101000000003";
  938. L1bd=true;
  939. }
  940. if(SN1==0x0004)
  941. {
  942. menu.SN1name="0004";
  943. menu.SN1="AT+CONN=101000000004\r\n";
  944. menu.SN1F="+CONNECTED:0,101000000004";
  945. L1bd=true;
  946. }
  947. if(SN1==0x0005)
  948. {
  949. menu.SN1name="0005";
  950. menu.SN1="AT+CONN=101000000005\r\n";
  951. menu.SN1F="+CONNECTED:0,101000000005";
  952. L1bd=true;
  953. }
  954. if(SN1==0x0006)
  955. {
  956. menu.SN1name="0006";
  957. menu.SN1="AT+CONN=101000000006\r\n";
  958. menu.SN1F="+CONNECTED:0,101000000006";
  959. L1bd=true;
  960. }
  961. if(SN1==0x0007)
  962. {
  963. menu.SN1name="0007";
  964. menu.SN1="AT+CONN=101000000007\r\n";
  965. menu.SN1F="+CONNECTED:0,101000000007";
  966. L1bd=true;
  967. }
  968. if(SN1==0x0008)
  969. {
  970. menu.SN1name="0008";
  971. menu.SN1="AT+CONN=101000000008\r\n";
  972. menu.SN1F="+CONNECTED:0,101000000008";
  973. L1bd=true;
  974. }
  975. if(SN1==0x0009)
  976. {
  977. menu.SN1name="0009";
  978. menu.SN1="AT+CONN=101000000009\r\n";
  979. menu.SN1F="+CONNECTED:0,101000000009";
  980. L1bd=true;
  981. }
  982. if(SN1==0x000A)
  983. {
  984. menu.SN1name="000A";
  985. menu.SN1="AT+CONN=10100000000A\r\n";
  986. menu.SN1F="+CONNECTED:0,10100000000A";
  987. L1bd=true;
  988. }
  989. if(SN1==0x000B)
  990. {
  991. menu.SN1name="000B";
  992. menu.SN1="AT+CONN=10100000000B\r\n";
  993. menu.SN1F="+CONNECTED:0,10100000000B";
  994. L1bd=true;
  995. }
  996. if(SN1==0x000C)
  997. {
  998. menu.SN1name="000C";
  999. menu.SN1="AT+CONN=10100000000C\r\n";
  1000. menu.SN1F="+CONNECTED:0,10100000000C";
  1001. L1bd=true;
  1002. }
  1003. if(SN1==0x000D)
  1004. {
  1005. menu.SN1name="000D";
  1006. menu.SN1="AT+CONN=10100000000D\r\n";
  1007. menu.SN1F="+CONNECTED:0,10100000000D";
  1008. L1bd=true;
  1009. }
  1010. if(SN1==0x000E)
  1011. {
  1012. menu.SN1name="000E";
  1013. menu.SN1="AT+CONN=10100000000E\r\n";
  1014. menu.SN1F="+CONNECTED:0,10100000000E";
  1015. L1bd=true;
  1016. }
  1017. if(SN1==0x000F)
  1018. {
  1019. menu.SN1name="000F";
  1020. menu.SN1="AT+CONN=10100000000F\r\n";
  1021. menu.SN1F="+CONNECTED:0,10100000000F";
  1022. L1bd=true;
  1023. }
  1024. if(SN1==0x0010)
  1025. {
  1026. menu.SN1name="0010";
  1027. menu.SN1="AT+CONN=101000000010\r\n";
  1028. menu.SN1F="+CONNECTED:0,101000000010";
  1029. L1bd=true;
  1030. }
  1031. if(SN2==0x0001)
  1032. {
  1033. menu.SN2name="0001";
  1034. menu.SN2="AT+CONN=101000000001\r\n";
  1035. menu.SN2F="+CONNECTED:0,101000000001";
  1036. L2bd=true;
  1037. }
  1038. if(SN2==0x0002)
  1039. {
  1040. menu.SN2name="0002";
  1041. menu.SN2="AT+CONN=101000000002\r\n";
  1042. menu.SN2F="+CONNECTED:0,101000000002";
  1043. L2bd=true;
  1044. }
  1045. if(SN2==0x0003)
  1046. {
  1047. menu.SN2name="0003";
  1048. menu.SN2="AT+CONN=101000000003\r\n";
  1049. menu.SN2F="+CONNECTED:0,101000000003";
  1050. L2bd=true;
  1051. }
  1052. if(SN2==0x0004)
  1053. {
  1054. menu.SN2name="0004";
  1055. menu.SN2="AT+CONN=101000000004\r\n";
  1056. menu.SN2F="+CONNECTED:0,101000000004";
  1057. L2bd=true;
  1058. }
  1059. if(SN2==0x0005)
  1060. {
  1061. menu.SN2name="0005";
  1062. menu.SN2="AT+CONN=101000000005\r\n";
  1063. menu.SN2F="+CONNECTED:0,101000000005";
  1064. L2bd=true;
  1065. }
  1066. if(SN2==0x0006)
  1067. {
  1068. menu.SN2name="0006";
  1069. menu.SN2="AT+CONN=101000000006\r\n";
  1070. menu.SN2F="+CONNECTED:0,101000000006";
  1071. L2bd=true;
  1072. }
  1073. if(SN2==0x0007)
  1074. {
  1075. menu.SN2name="0007";
  1076. menu.SN2="AT+CONN=101000000007\r\n";
  1077. menu.SN2F="+CONNECTED:0,101000000007";
  1078. L2bd=true;
  1079. }
  1080. if(SN2==0x0008)
  1081. {
  1082. menu.SN2name="0008";
  1083. menu.SN2="AT+CONN=101000000008\r\n";
  1084. menu.SN2F="+CONNECTED:0,101000000008";
  1085. L2bd=true;
  1086. }
  1087. if(SN2==0x0009)
  1088. {
  1089. menu.SN2name="0009";
  1090. menu.SN2="AT+CONN=101000000009\r\n";
  1091. menu.SN2F="+CONNECTED:0,101000000009";
  1092. L2bd=true;
  1093. }
  1094. if(SN2==0x000A)
  1095. {
  1096. menu.SN2name="000A";
  1097. menu.SN2="AT+CONN=10100000000A\r\n";
  1098. menu.SN2F="+CONNECTED:0,10100000000A";
  1099. L2bd=true;
  1100. }
  1101. if(SN2==0x000B)
  1102. {
  1103. menu.SN2name="000B";
  1104. menu.SN2="AT+CONN=10100000000B\r\n";
  1105. menu.SN2F="+CONNECTED:0,10100000000B";
  1106. L2bd=true;
  1107. }
  1108. if(SN2==0x000C)
  1109. {
  1110. menu.SN2name="000C";
  1111. menu.SN2="AT+CONN=10100000000C\r\n";
  1112. menu.SN2F="+CONNECTED:0,10100000000C";
  1113. L2bd=true;
  1114. }
  1115. if(SN2==0x000D)
  1116. {
  1117. menu.SN2name="000D";
  1118. menu.SN2="AT+CONN=10100000000D\r\n";
  1119. menu.SN2F="+CONNECTED:0,10100000000D";
  1120. L2bd=true;
  1121. }
  1122. if(SN2==0x000E)
  1123. {
  1124. menu.SN2name="000E";
  1125. menu.SN2="AT+CONN=10100000000E\r\n";
  1126. menu.SN2F="+CONNECTED:0,10100000000E";
  1127. L2bd=true;
  1128. }
  1129. if(SN2==0x000F)
  1130. {
  1131. menu.SN2name="000F";
  1132. menu.SN2="AT+CONN=10100000000F\r\n";
  1133. menu.SN2F="+CONNECTED:0,10100000000F";
  1134. L2bd=true;
  1135. }
  1136. if(SN2==0x0010)
  1137. {
  1138. menu.SN2name="0010";
  1139. menu.SN2="AT+CONN=101000000010\r\n";
  1140. menu.SN2F="+CONNECTED:0,101000000010";
  1141. L2bd=true;
  1142. }
  1143. if(SN3==0x0001)
  1144. {
  1145. menu.SN3name="0001";
  1146. menu.SN3="AT+CONN=101000000001\r\n";
  1147. menu.SN3F="+CONNECTED:0,101000000001";
  1148. L3bd=true;
  1149. }
  1150. if(SN3==0x0002)
  1151. {
  1152. menu.SN3name="0002";
  1153. menu.SN3="AT+CONN=101000000002\r\n";
  1154. menu.SN3F="+CONNECTED:0,101000000002";
  1155. L3bd=true;
  1156. }
  1157. if(SN3==0x0003)
  1158. {
  1159. menu.SN3name="0003";
  1160. menu.SN3="AT+CONN=101000000003\r\n";
  1161. menu.SN3F="+CONNECTED:0,101000000003";
  1162. L3bd=true;
  1163. }
  1164. if(SN3==0x0004)
  1165. {
  1166. menu.SN3name="0004";
  1167. menu.SN3="AT+CONN=101000000004\r\n";
  1168. menu.SN3F="+CONNECTED:0,101000000004";
  1169. L3bd=true;
  1170. }
  1171. if(SN3==0x0005)
  1172. {
  1173. menu.SN3name="0005";
  1174. menu.SN3="AT+CONN=101000000005\r\n";
  1175. menu.SN3F="+CONNECTED:0,101000000005";
  1176. L3bd=true;
  1177. }
  1178. if(SN3==0x0006)
  1179. {
  1180. menu.SN3name="0006";
  1181. menu.SN3="AT+CONN=101000000006\r\n";
  1182. menu.SN3F="+CONNECTED:0,101000000006";
  1183. L3bd=true;
  1184. }
  1185. if(SN3==0x0007)
  1186. {
  1187. menu.SN3name="0007";
  1188. menu.SN3="AT+CONN=101000000007\r\n";
  1189. menu.SN3F="+CONNECTED:0,101000000007";
  1190. L3bd=true;
  1191. }
  1192. if(SN3==0x0008)
  1193. {
  1194. menu.SN3name="0008";
  1195. menu.SN3="AT+CONN=101000000008\r\n";
  1196. menu.SN3F="+CONNECTED:0,101000000008";
  1197. L3bd=true;
  1198. }
  1199. if(SN3==0x0009)
  1200. {
  1201. menu.SN3name="0009";
  1202. menu.SN3="AT+CONN=101000000009\r\n";
  1203. menu.SN3F="+CONNECTED:0,101000000009";
  1204. L3bd=true;
  1205. }
  1206. if(SN3==0x000A)
  1207. {
  1208. menu.SN3name="000A";
  1209. menu.SN3="AT+CONN=10100000000A\r\n";
  1210. menu.SN3F="+CONNECTED:0,10100000000A";
  1211. L3bd=true;
  1212. }
  1213. if(SN3==0x000B)
  1214. {
  1215. menu.SN3name="000B";
  1216. menu.SN3="AT+CONN=10100000000B\r\n";
  1217. menu.SN3F="+CONNECTED:0,10100000000B";
  1218. L3bd=true;
  1219. }
  1220. if(SN3==0x000C)
  1221. {
  1222. menu.SN3name="000C";
  1223. menu.SN3="AT+CONN=10100000000C\r\n";
  1224. menu.SN3F="+CONNECTED:0,10100000000C";
  1225. L3bd=true;
  1226. }
  1227. if(SN3==0x000D)
  1228. {
  1229. menu.SN3name="000D";
  1230. menu.SN3="AT+CONN=10100000000D\r\n";
  1231. menu.SN3F="+CONNECTED:0,10100000000D";
  1232. L3bd=true;
  1233. }
  1234. if(SN3==0x000E)
  1235. {
  1236. menu.SN3name="000E";
  1237. menu.SN3="AT+CONN=10100000000E\r\n";
  1238. menu.SN3F="+CONNECTED:0,10100000000E";
  1239. L3bd=true;
  1240. }
  1241. if(SN3==0x000F)
  1242. {
  1243. menu.SN3name="000F";
  1244. menu.SN3="AT+CONN=10100000000F\r\n";
  1245. menu.SN3F="+CONNECTED:0,10100000000F";
  1246. L3bd=true;
  1247. }
  1248. if(SN3==0x0010)
  1249. {
  1250. menu.SN3name="0010";
  1251. menu.SN3="AT+CONN=101000000010\r\n";
  1252. menu.SN3F="+CONNECTED:0,101000000010";
  1253. L3bd=true;
  1254. }
  1255. if(SN4==0x0001)
  1256. {
  1257. menu.SN4name="0001";
  1258. menu.SN4="AT+CONN=101000000001\r\n";
  1259. menu.SN4F="+CONNECTED:0,101000000001";
  1260. L4bd=true;
  1261. }
  1262. if(SN4==0x0002)
  1263. {
  1264. menu.SN4name="0002";
  1265. menu.SN4="AT+CONN=101000000002\r\n";
  1266. menu.SN4F="+CONNECTED:0,101000000002";
  1267. L4bd=true;
  1268. }
  1269. if(SN4==0x0003)
  1270. {
  1271. menu.SN4name="0003";
  1272. menu.SN4="AT+CONN=101000000003\r\n";
  1273. menu.SN4F="+CONNECTED:0,101000000003";
  1274. L4bd=true;
  1275. }
  1276. if(SN4==0x0004)
  1277. {
  1278. menu.SN4name="0004";
  1279. menu.SN4="AT+CONN=101000000004\r\n";
  1280. menu.SN4F="+CONNECTED:0,101000000004";
  1281. L4bd=true;
  1282. }
  1283. if(SN4==0x0005)
  1284. {
  1285. menu.SN4name="0005";
  1286. menu.SN4="AT+CONN=101000000005\r\n";
  1287. menu.SN4F="+CONNECTED:0,101000000005";
  1288. L4bd=true;
  1289. }
  1290. if(SN4==0x0006)
  1291. {
  1292. menu.SN4name="0006";
  1293. menu.SN4="AT+CONN=101000000006\r\n";
  1294. menu.SN4F="+CONNECTED:0,101000000006";
  1295. L4bd=true;
  1296. }
  1297. if(SN4==0x0007)
  1298. {
  1299. menu.SN4name="0007";
  1300. menu.SN4="AT+CONN=101000000007\r\n";
  1301. menu.SN4F="+CONNECTED:0,101000000007";
  1302. L4bd=true;
  1303. }
  1304. if(SN4==0x0008)
  1305. {
  1306. menu.SN4name="0008";
  1307. menu.SN4="AT+CONN=101000000008\r\n";
  1308. menu.SN4F="+CONNECTED:0,101000000008";
  1309. L4bd=true;
  1310. }
  1311. if(SN4==0x0009)
  1312. {
  1313. menu.SN4name="0009";
  1314. menu.SN4="AT+CONN=101000000009\r\n";
  1315. menu.SN4F="+CONNECTED:0,101000000009";
  1316. L4bd=true;
  1317. }
  1318. if(SN4==0x000A)
  1319. {
  1320. menu.SN4name="000A";
  1321. menu.SN4="AT+CONN=10100000000A\r\n";
  1322. menu.SN4F="+CONNECTED:0,10100000000A";
  1323. L4bd=true;
  1324. }
  1325. if(SN4==0x000B)
  1326. {
  1327. menu.SN4name="000B";
  1328. menu.SN4="AT+CONN=10100000000B\r\n";
  1329. menu.SN4F="+CONNECTED:0,10100000000B";
  1330. L4bd=true;
  1331. }
  1332. if(SN4==0x000C)
  1333. {
  1334. menu.SN4name="000C";
  1335. menu.SN4="AT+CONN=10100000000C\r\n";
  1336. menu.SN4F="+CONNECTED:0,10100000000C";
  1337. L4bd=true;
  1338. }
  1339. if(SN4==0x000D)
  1340. {
  1341. menu.SN4name="000D";
  1342. menu.SN4="AT+CONN=10100000000D\r\n";
  1343. menu.SN4F="+CONNECTED:0,10100000000D";
  1344. L4bd=true;
  1345. }
  1346. if(SN4==0x000E)
  1347. {
  1348. menu.SN4name="000E";
  1349. menu.SN4="AT+CONN=10100000000E\r\n";
  1350. menu.SN4F="+CONNECTED:0,10100000000E";
  1351. L4bd=true;
  1352. }
  1353. if(SN4==0x000F)
  1354. {
  1355. menu.SN4name="000F";
  1356. menu.SN4="AT+CONN=10100000000F\r\n";
  1357. menu.SN4F="+CONNECTED:0,10100000000F";
  1358. L4bd=true;
  1359. }
  1360. if(SN4==0x0010)
  1361. {
  1362. menu.SN4name="0010";
  1363. menu.SN4="AT+CONN=101000000010\r\n";
  1364. menu.SN4F="+CONNECTED:0,101000000010";
  1365. L4bd=true;
  1366. }
  1367. }