Character_lcd(7325).c 43 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000
  1. #include "main.h"
  2. void Lcd_AchSetting_Display(void);
  3. void Lcd_Ach150M_Display(void);
  4. void Lcd_AchWifi_Display(void);
  5. void Lcd_Ach30G_Display(void);
  6. void Lcd_BchSetting_Display(void);
  7. void Lcd_Bch150M_Display(void);
  8. void Lcd_BchWifi_Display(void);
  9. void Lcd_Bch30G_Display(void);
  10. void LCD_150M_ValueChange_Display(Layer_t layer,float* data,float offset);
  11. void LCD_Wifi_ValueChange_Display(Layer_t layer,float* data,float offset);
  12. void LCD_30G_ValueChange_Display(Layer_t layer,float* data,float offset);
  13. ////////////////////////////////////////////////////////////////////////////////////////////
  14. void LCD_Wifi_Freq_Select_Display(Layer_t layer,float* db_value);
  15. void LCD_30G_Freq_Select_Display(Layer_t layer,float* db_value);
  16. float Ach_150M_Value = 0;
  17. float Ach_Wifi_2_4GHz_Value = 0;
  18. float Ach_Wifi_5_8GHz_Value = 0;
  19. float Ach_30G_28_28_5_Value = 0;
  20. float Ach_30G_28_5_29_Value = 0;
  21. float Ach_30G_29_29_5_Value = 0;
  22. float Ach_30G_29_5_30_Value = 0;
  23. float Bch_150M_Value = 0;
  24. float Bch_Wifi_2_4GHz_Value = 0;
  25. float Bch_Wifi_5_8GHz_Value = 0;
  26. float Bch_30G_28_28_5_Value = 0;
  27. float Bch_30G_28_5_29_Value = 0;
  28. float Bch_30G_29_29_5_Value = 0;
  29. float Bch_30G_29_5_30_Value = 0;
  30. uint8_t Button_Data_Occur = 0;
  31. typedef struct{
  32. uint16_t RW_PIN;
  33. uint16_t RS;
  34. uint16_t E;
  35. uint16_t Reset;
  36. uint16_t DB0;
  37. uint16_t DB1;
  38. uint16_t DB2;
  39. uint16_t DB3;
  40. uint16_t DB4;
  41. uint16_t DB5;
  42. uint16_t DB6;
  43. uint16_t DB7;
  44. GPIO_TypeDef * RW_PIN_Port;
  45. GPIO_TypeDef * RS_Port;
  46. GPIO_TypeDef * E_Port;
  47. GPIO_TypeDef * DB0_Port;
  48. GPIO_TypeDef * DB1_Port;
  49. GPIO_TypeDef * DB2_Port;
  50. GPIO_TypeDef * DB3_Port;
  51. GPIO_TypeDef * DB4_Port;
  52. GPIO_TypeDef * DB5_Port;
  53. GPIO_TypeDef * DB6_Port;
  54. GPIO_TypeDef * DB7_Port;
  55. }lcd_Pin_st;
  56. uint8_t LCD_Button_Read(void){
  57. uint8_t ret;
  58. uint8_t temp = 0;
  59. for(uint8_t i = 0; i < 5; i++){
  60. if(switchcnt[i] == 1){
  61. return true;
  62. }
  63. }
  64. return false;
  65. }
  66. void ButtonDataSet(uint8_t val){
  67. Button_Data_Occur = val;
  68. }
  69. uint8_t ButtonDataGet(void){
  70. return Button_Data_Occur;
  71. }
  72. void LCD_M68_DataWrite_COMMAND_Init(void){
  73. LCD_M68_DataWrite_COMMAND2(Line_default,Instruction_CMD,0x0C);
  74. ////////////////////////////////AAAAAAAAAAAAAAAAAA///////////////////////////////////////
  75. Ach_150M_Value = Atten_QPC6614_TraceValue_Func(Atten_Setting.ATT_A_CH_150M);
  76. Ach_Wifi_2_4GHz_Value += Atten_QPC6614_TraceValue_Func(Atten_Setting.ATT_A_CH_WIFI2_4Ghz_QPC6614_1);
  77. Ach_Wifi_2_4GHz_Value += Atten_QPC6614_TraceValue_Func(Atten_Setting.ATT_A_CH_WIFI2_4Ghz_QPC6614_2);
  78. Ach_Wifi_2_4GHz_Value += Atten_QPC6614_TraceValue_Func(Atten_Setting.ATT_A_CH_WIFI2_4Ghz_QPC6614_3);
  79. Ach_Wifi_2_4GHz_Value += Atten_QPC6614_TraceValue_Func(Atten_Setting.ATT_A_CH_WIFI2_4Ghz_QPC6614_4);
  80. Ach_Wifi_5_8GHz_Value += Atten_QPC6614_TraceValue_Func(Atten_Setting.ATT_A_CH_WIFI5_8Ghz_QPC6614_1);
  81. Ach_Wifi_5_8GHz_Value += Atten_QPC6614_TraceValue_Func(Atten_Setting.ATT_A_CH_WIFI5_8Ghz_QPC6614_2);
  82. Ach_Wifi_5_8GHz_Value += Atten_QPC6614_TraceValue_Func(Atten_Setting.ATT_A_CH_WIFI5_8Ghz_QPC6614_3);
  83. Ach_Wifi_5_8GHz_Value += Atten_QPC6614_TraceValue_Func(Atten_Setting.ATT_A_CH_WIFI5_8Ghz_QPC6614_4);
  84. Ach_30G_28_28_5_Value += Atten_HMC939_TraceValue_Func(Atten_Setting.ATT_A_CH_30G_28_28_5_HMC939_1);
  85. Ach_30G_28_28_5_Value += Atten_HMC939_TraceValue_Func(Atten_Setting.ATT_A_CH_30G_28_28_5_HMC939_2);
  86. Ach_30G_28_28_5_Value += Atten_ADRF5720_TraceValue_Func(Atten_Setting.ATT_A_CH_30G_28_28_5_ADRF5720_1);
  87. Ach_30G_28_5_29_Value += Atten_HMC939_TraceValue_Func(Atten_Setting.ATT_A_CH_30G_28_5_29_HMC939_1);
  88. Ach_30G_28_5_29_Value += Atten_HMC939_TraceValue_Func(Atten_Setting.ATT_A_CH_30G_28_5_29_HMC939_2);
  89. Ach_30G_28_5_29_Value += Atten_ADRF5720_TraceValue_Func(Atten_Setting.ATT_A_CH_30G_28_5_29_ADRF5720_1);
  90. Ach_30G_29_29_5_Value += Atten_HMC939_TraceValue_Func(Atten_Setting.ATT_A_CH_30G_29_29_5_HMC939_1);
  91. Ach_30G_29_29_5_Value += Atten_HMC939_TraceValue_Func(Atten_Setting.ATT_A_CH_30G_29_29_5_HMC939_2);
  92. Ach_30G_29_29_5_Value += Atten_ADRF5720_TraceValue_Func(Atten_Setting.ATT_A_CH_30G_29_29_5_ADRF5720_1);
  93. Ach_30G_29_5_30_Value += Atten_HMC939_TraceValue_Func(Atten_Setting.ATT_A_CH_30G_29_5_30_HMC939_1);
  94. Ach_30G_29_5_30_Value += Atten_HMC939_TraceValue_Func(Atten_Setting.ATT_A_CH_30G_29_5_30_HMC939_2);
  95. Ach_30G_29_5_30_Value += Atten_ADRF5720_TraceValue_Func(Atten_Setting.ATT_A_CH_30G_29_5_30_ADRF5720_1);
  96. /////////////////////////////////BBBBBBBBBBBBBBBBB///////////////////////////////////////
  97. Bch_150M_Value = Atten_QPC6614_TraceValue_Func(Atten_Setting.ATT_B_CH_150M);
  98. Bch_Wifi_2_4GHz_Value += Atten_QPC6614_TraceValue_Func(Atten_Setting.ATT_B_CH_WIFI2_4Ghz_QPC6614_1);
  99. Bch_Wifi_2_4GHz_Value += Atten_QPC6614_TraceValue_Func(Atten_Setting.ATT_B_CH_WIFI2_4Ghz_QPC6614_2);
  100. Bch_Wifi_2_4GHz_Value += Atten_QPC6614_TraceValue_Func(Atten_Setting.ATT_B_CH_WIFI2_4Ghz_QPC6614_3);
  101. Bch_Wifi_2_4GHz_Value += Atten_QPC6614_TraceValue_Func(Atten_Setting.ATT_B_CH_WIFI2_4Ghz_QPC6614_4);
  102. Bch_Wifi_5_8GHz_Value += Atten_QPC6614_TraceValue_Func(Atten_Setting.ATT_B_CH_WIFI5_8Ghz_QPC6614_1);
  103. Bch_Wifi_5_8GHz_Value += Atten_QPC6614_TraceValue_Func(Atten_Setting.ATT_B_CH_WIFI5_8Ghz_QPC6614_2);
  104. Bch_Wifi_5_8GHz_Value += Atten_QPC6614_TraceValue_Func(Atten_Setting.ATT_B_CH_WIFI5_8Ghz_QPC6614_3);
  105. Bch_Wifi_5_8GHz_Value += Atten_QPC6614_TraceValue_Func(Atten_Setting.ATT_B_CH_WIFI5_8Ghz_QPC6614_4);
  106. Bch_30G_28_28_5_Value += Atten_HMC939_TraceValue_Func(Atten_Setting.ATT_B_CH_30G_28_28_5_HMC939_1);
  107. Bch_30G_28_28_5_Value += Atten_HMC939_TraceValue_Func(Atten_Setting.ATT_B_CH_30G_28_28_5_HMC939_2);
  108. Bch_30G_28_28_5_Value += Atten_ADRF5720_TraceValue_Func(Atten_Setting.ATT_B_CH_30G_28_28_5_ADRF5720_1);
  109. Bch_30G_28_5_29_Value += Atten_HMC939_TraceValue_Func(Atten_Setting.ATT_B_CH_30G_28_5_29_HMC939_1);
  110. Bch_30G_28_5_29_Value += Atten_HMC939_TraceValue_Func(Atten_Setting.ATT_B_CH_30G_28_5_29_HMC939_2);
  111. Bch_30G_28_5_29_Value += Atten_ADRF5720_TraceValue_Func(Atten_Setting.ATT_B_CH_30G_28_5_29_ADRF5720_1);
  112. Bch_30G_29_29_5_Value += Atten_HMC939_TraceValue_Func(Atten_Setting.ATT_B_CH_30G_29_29_5_HMC939_1);
  113. Bch_30G_29_29_5_Value += Atten_HMC939_TraceValue_Func(Atten_Setting.ATT_B_CH_30G_29_29_5_HMC939_2);
  114. Bch_30G_29_29_5_Value += Atten_ADRF5720_TraceValue_Func(Atten_Setting.ATT_B_CH_30G_29_29_5_ADRF5720_1);
  115. Bch_30G_29_5_30_Value += Atten_HMC939_TraceValue_Func(Atten_Setting.ATT_B_CH_30G_29_5_30_HMC939_1);
  116. Bch_30G_29_5_30_Value += Atten_HMC939_TraceValue_Func(Atten_Setting.ATT_B_CH_30G_29_5_30_HMC939_2);
  117. Bch_30G_29_5_30_Value += Atten_ADRF5720_TraceValue_Func(Atten_Setting.ATT_B_CH_30G_29_5_30_ADRF5720_1);
  118. }
  119. void LCD_M68_DataWrite_COMMAND_Cusor_ON(void){
  120. LCD_M68_DataWrite_COMMAND2(Line_default,Instruction_CMD,0x0F);
  121. }
  122. void LCD_M68_DataWrite_COMMAND_Cusor_OFF(void){
  123. LCD_M68_DataWrite_COMMAND2(Line_default,Instruction_CMD,0x0C);
  124. }
  125. void LCD_M68_DataWrite_Clear(void){
  126. LCD_M68_DataWrite_COMMAND2(Line_default,Instruction_CMD,0x01);
  127. }
  128. void LCD_M68_DataWrite_LineChage(LCD_line_t line){
  129. if(line == First_Line)
  130. LCD_M68_DataWrite_COMMAND2(Line_default,Instruction_CMD,0x80);
  131. else
  132. LCD_M68_DataWrite_COMMAND2(Line_default,Instruction_CMD,0xC0);
  133. }
  134. uint8_t LCD_Str_Filter(uint8_t* str){
  135. uint8_t len = 0;
  136. uint8_t temp_str[32] = {0,};
  137. while (str[len] != NULL) // 자른 문자열이 나오지 않을 때까지 반복
  138. {
  139. len++;
  140. }
  141. return len;
  142. }
  143. void LCD_M68_DataWrite_COMMAND(LCD_line_t line,uint8_t cmd,uint8_t* data){
  144. uint8_t len = 0;
  145. lcd_Pin_st lcdset;
  146. uint16_t temp_Pinbuf[8]={0,};
  147. GPIO_TypeDef* temp_Portbuf[8]={0,};
  148. lcdset.RW_PIN = GPIO_PIN_12;//pd
  149. lcdset.RS = GPIO_PIN_11;//pd
  150. lcdset.E = GPIO_PIN_13;//pd
  151. lcdset.DB0 = GPIO_PIN_14;//pd
  152. lcdset.DB1 = GPIO_PIN_15;//pd
  153. lcdset.DB2 = GPIO_PIN_2;//pg
  154. lcdset.DB3 = GPIO_PIN_3;//pg
  155. lcdset.DB5 = GPIO_PIN_4;//pg
  156. lcdset.DB4 = GPIO_PIN_5;//pg
  157. lcdset.DB6 = GPIO_PIN_6;//pg
  158. lcdset.DB7 = GPIO_PIN_7;//pg
  159. len = LCD_Str_Filter(&data[0]);
  160. for(uint8_t i = 0; i < len; i++){
  161. if(line != Line_default)
  162. LCD_M68_DataWrite_LineChage(line); // Line feed
  163. if(line == Second_Line)
  164. line = Line_default;
  165. HAL_GPIO_WritePin(GPIOD, lcdset.E|lcdset.RS|lcdset.RW_PIN|lcdset.DB0|lcdset.DB1 , GPIO_PIN_RESET);
  166. HAL_GPIO_WritePin(GPIOG, lcdset.DB2|lcdset.DB3|lcdset.DB4|lcdset.DB5|lcdset.DB6|lcdset.DB7, GPIO_PIN_RESET);
  167. //PIN Init
  168. if(cmd == Instruction_CMD){
  169. HAL_GPIO_WritePin(GPIOD, lcdset.RS , GPIO_PIN_RESET); // Init Instruction CMD
  170. }else{
  171. HAL_GPIO_WritePin(GPIOD, lcdset.RS , GPIO_PIN_SET); //Init Data CMD
  172. }
  173. memcpy(&temp_Pinbuf[0] ,&lcdset.DB0 ,8);
  174. memcpy(&temp_Portbuf[0],&lcdset.DB0_Port,8);
  175. HAL_GPIO_WritePin(GPIOD, lcdset.E , GPIO_PIN_SET);
  176. if(data[i] & 0x01)
  177. HAL_GPIO_WritePin(GPIOD, lcdset.DB0, GPIO_PIN_SET);
  178. else
  179. HAL_GPIO_WritePin(GPIOD, lcdset.DB0, GPIO_PIN_RESET);
  180. if(data[i] & 0x02)
  181. HAL_GPIO_WritePin(GPIOD, lcdset.DB1, GPIO_PIN_SET);
  182. else
  183. HAL_GPIO_WritePin(GPIOD, lcdset.DB1, GPIO_PIN_RESET);
  184. if(data[i] & 0x04)
  185. HAL_GPIO_WritePin(GPIOG, lcdset.DB2, GPIO_PIN_SET);
  186. else
  187. HAL_GPIO_WritePin(GPIOG, lcdset.DB2, GPIO_PIN_RESET);
  188. if(data[i] & 0x08)
  189. HAL_GPIO_WritePin(GPIOG, lcdset.DB3, GPIO_PIN_SET);
  190. else
  191. HAL_GPIO_WritePin(GPIOG, lcdset.DB3, GPIO_PIN_RESET);
  192. if(data[i] & 0x10)
  193. HAL_GPIO_WritePin(GPIOG, lcdset.DB4, GPIO_PIN_SET);
  194. else
  195. HAL_GPIO_WritePin(GPIOG, lcdset.DB4, GPIO_PIN_RESET);
  196. if(data[i] & 0x20)
  197. HAL_GPIO_WritePin(GPIOG, lcdset.DB5, GPIO_PIN_SET);
  198. else
  199. HAL_GPIO_WritePin(GPIOG, lcdset.DB5, GPIO_PIN_RESET);
  200. if(data[i] & 0x40)
  201. HAL_GPIO_WritePin(GPIOG, lcdset.DB6, GPIO_PIN_SET);
  202. else
  203. HAL_GPIO_WritePin(GPIOG, lcdset.DB6, GPIO_PIN_RESET);
  204. if(data[i] & 0x80)
  205. HAL_GPIO_WritePin(GPIOG, lcdset.DB7, GPIO_PIN_SET);
  206. else
  207. HAL_GPIO_WritePin(GPIOG, lcdset.DB7, GPIO_PIN_RESET);
  208. HAL_GPIO_WritePin(GPIOD, lcdset.E , GPIO_PIN_RESET); //Init E Line
  209. if(cmd == Instruction_CMD){
  210. HAL_GPIO_WritePin(GPIOD, lcdset.RS , GPIO_PIN_SET); //Init Data CMD
  211. }else{
  212. HAL_GPIO_WritePin(GPIOD, lcdset.RS , GPIO_PIN_RESET); // Init Instruction CMD
  213. }
  214. }
  215. }
  216. void LCD_M68_DataWrite_COMMAND2(LCD_line_t line,uint8_t cmd,uint8_t data){
  217. lcd_Pin_st lcdset;
  218. uint16_t temp_Pinbuf[8]={0,};
  219. GPIO_TypeDef* temp_Portbuf[8]={0,};
  220. lcdset.RW_PIN = GPIO_PIN_12;//pd
  221. lcdset.RS = GPIO_PIN_11;//pd
  222. lcdset.E = GPIO_PIN_13;//pd
  223. lcdset.DB0 = GPIO_PIN_14;//pd
  224. lcdset.DB1 = GPIO_PIN_15;//pd
  225. lcdset.DB2 = GPIO_PIN_2;//pg
  226. lcdset.DB3 = GPIO_PIN_3;//pg
  227. lcdset.DB5 = GPIO_PIN_4;//pg
  228. lcdset.DB4 = GPIO_PIN_5;//pg
  229. lcdset.DB6 = GPIO_PIN_6;//pg
  230. lcdset.DB7 = GPIO_PIN_7;//pg
  231. if(line != Line_default)
  232. LCD_M68_DataWrite_LineChage(line); // Line feed
  233. HAL_GPIO_WritePin(GPIOD, lcdset.E|lcdset.RS|lcdset.RW_PIN|lcdset.DB0|lcdset.DB1 , GPIO_PIN_RESET);
  234. HAL_GPIO_WritePin(GPIOG, lcdset.DB2|lcdset.DB3|lcdset.DB4|lcdset.DB5|lcdset.DB6|lcdset.DB7, GPIO_PIN_RESET);
  235. //PIN Init
  236. if(cmd == Instruction_CMD){
  237. HAL_GPIO_WritePin(GPIOD, lcdset.RS , GPIO_PIN_RESET); // Init Instruction CMD
  238. }else{
  239. HAL_GPIO_WritePin(GPIOD, lcdset.RS , GPIO_PIN_SET); //Init Data CMD
  240. }
  241. memcpy(&temp_Pinbuf[0] ,&lcdset.DB0 ,8);
  242. memcpy(&temp_Portbuf[0],&lcdset.DB0_Port,8);
  243. HAL_GPIO_WritePin(GPIOD, lcdset.E , GPIO_PIN_SET);
  244. if(data & 0x01)
  245. HAL_GPIO_WritePin(GPIOD, lcdset.DB0, GPIO_PIN_SET);
  246. else
  247. HAL_GPIO_WritePin(GPIOD, lcdset.DB0, GPIO_PIN_RESET);
  248. if(data & 0x02)
  249. HAL_GPIO_WritePin(GPIOD, lcdset.DB1, GPIO_PIN_SET);
  250. else
  251. HAL_GPIO_WritePin(GPIOD, lcdset.DB1, GPIO_PIN_RESET);
  252. if(data & 0x04)
  253. HAL_GPIO_WritePin(GPIOG, lcdset.DB2, GPIO_PIN_SET);
  254. else
  255. HAL_GPIO_WritePin(GPIOG, lcdset.DB2, GPIO_PIN_RESET);
  256. if(data & 0x08)
  257. HAL_GPIO_WritePin(GPIOG, lcdset.DB3, GPIO_PIN_SET);
  258. else
  259. HAL_GPIO_WritePin(GPIOG, lcdset.DB3, GPIO_PIN_RESET);
  260. if(data & 0x10)
  261. HAL_GPIO_WritePin(GPIOG, lcdset.DB4, GPIO_PIN_SET);
  262. else
  263. HAL_GPIO_WritePin(GPIOG, lcdset.DB4, GPIO_PIN_RESET);
  264. if(data & 0x20)
  265. HAL_GPIO_WritePin(GPIOG, lcdset.DB5, GPIO_PIN_SET);
  266. else
  267. HAL_GPIO_WritePin(GPIOG, lcdset.DB5, GPIO_PIN_RESET);
  268. if(data & 0x40)
  269. HAL_GPIO_WritePin(GPIOG, lcdset.DB6, GPIO_PIN_SET);
  270. else
  271. HAL_GPIO_WritePin(GPIOG, lcdset.DB6, GPIO_PIN_RESET);
  272. if(data & 0x80)
  273. HAL_GPIO_WritePin(GPIOG, lcdset.DB7, GPIO_PIN_SET);
  274. else
  275. HAL_GPIO_WritePin(GPIOG, lcdset.DB7, GPIO_PIN_RESET);
  276. HAL_GPIO_WritePin(GPIOD, lcdset.E , GPIO_PIN_RESET); //Init E Line
  277. if(cmd == Instruction_CMD){
  278. HAL_GPIO_WritePin(GPIOD, lcdset.RS , GPIO_PIN_SET); //Init Data CMD
  279. }else{
  280. HAL_GPIO_WritePin(GPIOD, lcdset.RS , GPIO_PIN_RESET); // Init Instruction CMD
  281. }
  282. }
  283. Layer_t Curr_Layer =Menu_Layer;
  284. void Layer_Set(Layer_t layer){
  285. Curr_Layer = layer;
  286. }
  287. Layer_t Layer_Get(void){
  288. return Curr_Layer;
  289. }
  290. Layer_t prev_layer = 0xff;
  291. void Character_Lcd_chMenu(AttenButton_t button){
  292. static uint8_t initialize = 0;
  293. static uint8_t temp_button = 0xFF;
  294. Layer_t temp_Layer = Layer_Get();
  295. if(initialize == 0){
  296. switch(button){
  297. case Power_On :
  298. LCD_M68_DataWrite_Clear();
  299. LCD_M68_DataWrite_COMMAND(Line_default,Data_CMD,"Channel Setting");
  300. LCD_M68_DataWrite_COMMAND(Second_Line,Data_CMD,"press any Button");
  301. break;
  302. default:
  303. Lcd_AchSetting_Display();
  304. initialize = 1;
  305. break;
  306. }
  307. }else{
  308. if(button == Button_MENU || button == Button_ESC){
  309. Lcd_AchSetting_Display();
  310. }else{
  311. switch(temp_Layer){
  312. case AChSetting_Layer:
  313. if(button == Button_DOWN){
  314. Lcd_BchSetting_Display();
  315. }
  316. else if(button == Button_ENTER){
  317. Lcd_Ach150M_Display();
  318. }
  319. break;
  320. case BChSetting_Layer:
  321. if(button == Button_UP){
  322. Lcd_AchSetting_Display();
  323. }
  324. else if(button == Button_ENTER){
  325. Lcd_Bch150M_Display();
  326. }
  327. break;
  328. /////////////////////////////////////////////////////////////////////////////////////////////////////////
  329. case AChSetting_150M_Layer:
  330. if(button == Button_DOWN){
  331. Lcd_AchWifi_Display();
  332. }
  333. else if(button == Button_ENTER){
  334. LCD_150M_ValueChange_Display(AChSetting_Change150M_Layer,&Ach_150M_Value,0);
  335. }
  336. break;
  337. case AChSetting_WIFI_Layer:
  338. if(button == Button_DOWN){
  339. Lcd_Ach30G_Display();
  340. }
  341. else if(button == Button_UP){
  342. Lcd_Ach150M_Display();
  343. }else if (button == Button_ENTER){
  344. LCD_Wifi_Freq_Select_Display(AChSetting_SelectWIFI2_4GHz_Layer,&Ach_Wifi_2_4GHz_Value);
  345. }
  346. break;
  347. case AChSetting_30GHz_Layer:
  348. if(button == Button_UP){
  349. Lcd_AchWifi_Display();
  350. }else if (button == Button_ENTER){
  351. LCD_30G_Freq_Select_Display(AChSetting_Select30GHz28_28_5_Layer,&Ach_30G_28_28_5_Value);
  352. }
  353. break;
  354. case BChSetting_150M_Layer:
  355. if(button == Button_DOWN){
  356. Lcd_BchWifi_Display();
  357. }else if (button == Button_ENTER){
  358. LCD_150M_ValueChange_Display(BChSetting_Change150M_Layer,&Bch_150M_Value,0);
  359. }
  360. break;
  361. case BChSetting_WIFI_Layer:
  362. if(button == Button_DOWN){
  363. Lcd_Bch30G_Display();
  364. }
  365. else if(button == Button_UP){
  366. Lcd_Bch150M_Display();
  367. }else if (button == Button_ENTER){
  368. LCD_Wifi_Freq_Select_Display(BChSetting_SelectWIFI2_4GHz_Layer,&Bch_Wifi_2_4GHz_Value);
  369. }
  370. break;
  371. case BChSetting_30GHz_Layer:
  372. if(button == Button_UP){
  373. Lcd_BchWifi_Display();
  374. }else if (button == Button_ENTER){
  375. LCD_30G_Freq_Select_Display(BChSetting_Select30GHz28_28_5_Layer,&Bch_30G_28_28_5_Value);
  376. }
  377. break;
  378. /////////////////////////////////////////////////////////////////////////////////////////////////////////
  379. case AChSetting_SelectWIFI2_4GHz_Layer:
  380. if(button == Button_DOWN){
  381. LCD_Wifi_Freq_Select_Display(AChSetting_SelectWIFI5_8GHz_Layer,&Ach_Wifi_5_8GHz_Value);
  382. }
  383. else if (button == Button_ENTER){
  384. LCD_Wifi_ValueChange_Display(AChSetting_ChangeWIFI2_4GHz_Layer,&Ach_Wifi_2_4GHz_Value,0);
  385. }
  386. break;
  387. case AChSetting_SelectWIFI5_8GHz_Layer:
  388. if(button == Button_UP){
  389. LCD_Wifi_Freq_Select_Display(AChSetting_SelectWIFI2_4GHz_Layer,&Ach_Wifi_2_4GHz_Value);
  390. }else if (button == Button_ENTER){
  391. LCD_Wifi_ValueChange_Display(AChSetting_ChangeWIFI5_8GHz_Layer,&Ach_Wifi_5_8GHz_Value,0);
  392. }
  393. break;
  394. case AChSetting_Select30GHz28_28_5_Layer:
  395. if(button == Button_DOWN){
  396. LCD_30G_Freq_Select_Display(AChSetting_Select30GHz28_5_29_Layer,&Ach_30G_28_5_29_Value);
  397. }
  398. else if (button == Button_ENTER){
  399. LCD_30G_ValueChange_Display(AChSetting_Change30GHz28_28_5_Layer,&Ach_30G_28_28_5_Value,0);
  400. }
  401. break;
  402. case AChSetting_Select30GHz28_5_29_Layer:
  403. if(button == Button_DOWN){
  404. LCD_30G_Freq_Select_Display(AChSetting_Select30GHz29_29_5_Layer,&Ach_30G_29_29_5_Value);
  405. }
  406. else if(button == Button_UP){
  407. LCD_30G_Freq_Select_Display(AChSetting_Select30GHz28_28_5_Layer,&Ach_30G_28_28_5_Value);
  408. }else if (button == Button_ENTER){
  409. LCD_30G_ValueChange_Display(AChSetting_Change30GHz28_5_29_Layer,&Ach_30G_28_5_29_Value,0);
  410. }
  411. break;
  412. case AChSetting_Select30GHz29_29_5_Layer:
  413. if(button == Button_DOWN){
  414. LCD_30G_Freq_Select_Display(AChSetting_Select30GHz29_5_30_Layer,&Ach_30G_29_5_30_Value);
  415. }
  416. else if(button == Button_UP){
  417. LCD_30G_Freq_Select_Display(AChSetting_Select30GHz28_5_29_Layer,&Ach_30G_28_5_29_Value);
  418. }else if (button == Button_ENTER){
  419. LCD_30G_ValueChange_Display(AChSetting_Change30GHz29_29_5_Layer,&Ach_30G_29_29_5_Value,0);
  420. }
  421. break;
  422. case AChSetting_Select30GHz29_5_30_Layer:
  423. if(button == Button_UP){
  424. LCD_30G_Freq_Select_Display(AChSetting_Select30GHz29_29_5_Layer,&Ach_30G_29_29_5_Value);
  425. }else if (button == Button_ENTER){
  426. LCD_30G_ValueChange_Display(AChSetting_Change30GHz29_5_30_Layer,&Ach_30G_29_5_30_Value,0);
  427. }
  428. break;
  429. case BChSetting_SelectWIFI2_4GHz_Layer:
  430. if(button == Button_DOWN){
  431. LCD_Wifi_Freq_Select_Display(BChSetting_SelectWIFI5_8GHz_Layer,&Bch_Wifi_5_8GHz_Value);
  432. }
  433. else if (button == Button_ENTER){
  434. LCD_Wifi_ValueChange_Display(BChSetting_ChangeWIFI2_4GHz_Layer,&Bch_Wifi_2_4GHz_Value,0);
  435. }
  436. break;
  437. case BChSetting_SelectWIFI5_8GHz_Layer:
  438. if(button == Button_UP){
  439. LCD_Wifi_Freq_Select_Display(BChSetting_SelectWIFI2_4GHz_Layer,&Bch_Wifi_2_4GHz_Value);
  440. }else if (button == Button_ENTER){
  441. LCD_Wifi_ValueChange_Display(BChSetting_ChangeWIFI5_8GHz_Layer,&Bch_Wifi_5_8GHz_Value,0);
  442. }
  443. break;
  444. case BChSetting_Select30GHz28_28_5_Layer:
  445. if(button == Button_DOWN){
  446. LCD_30G_Freq_Select_Display(BChSetting_Select30GHz28_5_29_Layer,&Bch_30G_28_5_29_Value);
  447. }
  448. else if (button == Button_ENTER){
  449. LCD_30G_ValueChange_Display(BChSetting_Change30GHz28_28_5_Layer,&Bch_30G_28_28_5_Value,0);
  450. }
  451. break;
  452. case BChSetting_Select30GHz28_5_29_Layer:
  453. if(button == Button_DOWN){
  454. LCD_30G_Freq_Select_Display(BChSetting_Select30GHz29_29_5_Layer,&Bch_30G_29_29_5_Value);
  455. }
  456. else if(button == Button_UP){
  457. LCD_30G_Freq_Select_Display(BChSetting_Select30GHz28_28_5_Layer,&Bch_30G_28_28_5_Value);
  458. }else if (button == Button_ENTER){
  459. LCD_30G_ValueChange_Display(BChSetting_Change30GHz28_5_29_Layer,&Bch_30G_28_5_29_Value,0);
  460. }
  461. break;
  462. case BChSetting_Select30GHz29_29_5_Layer:
  463. if(button == Button_DOWN){
  464. LCD_30G_Freq_Select_Display(BChSetting_Select30GHz29_5_30_Layer,&Bch_30G_29_5_30_Value);
  465. }
  466. else if(button == Button_UP){
  467. LCD_30G_Freq_Select_Display(BChSetting_Select30GHz28_5_29_Layer,&Bch_30G_28_5_29_Value);
  468. }else if (button == Button_ENTER){
  469. LCD_30G_ValueChange_Display(BChSetting_Change30GHz29_29_5_Layer,&Bch_30G_29_29_5_Value,0);
  470. }
  471. break;
  472. case BChSetting_Select30GHz29_5_30_Layer:
  473. if(button == Button_UP){
  474. LCD_30G_Freq_Select_Display(BChSetting_Select30GHz29_29_5_Layer,&Bch_30G_29_29_5_Value);
  475. }else if (button == Button_ENTER){
  476. LCD_30G_ValueChange_Display(BChSetting_Change30GHz29_5_30_Layer,&Bch_30G_29_5_30_Value,0);
  477. }
  478. break;
  479. /////////////////////////////////////////////////////////////////////////////////////////////////////////
  480. case AChSetting_Change150M_Layer:
  481. if(button == Button_UP){
  482. LCD_150M_ValueChange_Display(temp_Layer,&Ach_150M_Value,0.5);
  483. }
  484. else if(button == Button_DOWN){
  485. LCD_150M_ValueChange_Display(temp_Layer,&Ach_150M_Value,-0.5);
  486. }
  487. else if(button == Button_ENTER){
  488. Atten_150M_DataSet(Ach_150M_Value,ATT_A_CH_150M);
  489. Lcd_Ach150M_Display();
  490. }
  491. break;
  492. case AChSetting_ChangeWIFI2_4GHz_Layer:
  493. if(button == Button_UP){
  494. LCD_Wifi_ValueChange_Display(temp_Layer,&Ach_Wifi_2_4GHz_Value,0.5);
  495. }
  496. else if(button == Button_DOWN){
  497. LCD_Wifi_ValueChange_Display(temp_Layer,&Ach_Wifi_2_4GHz_Value,-0.5);
  498. }
  499. else if(button == Button_ENTER){
  500. Atten_Wifi_DataSet(Ach_Wifi_2_4GHz_Value,ATT_A_CH_WIFI2_4Ghz);
  501. LCD_Wifi_Freq_Select_Display(AChSetting_SelectWIFI2_4GHz_Layer,&Ach_Wifi_2_4GHz_Value);
  502. }
  503. break;
  504. case AChSetting_ChangeWIFI5_8GHz_Layer:
  505. if(button == Button_UP){
  506. LCD_Wifi_ValueChange_Display(temp_Layer,&Ach_Wifi_5_8GHz_Value,0.5);
  507. }
  508. else if(button == Button_DOWN){
  509. LCD_Wifi_ValueChange_Display(temp_Layer,&Ach_Wifi_5_8GHz_Value,-0.5);
  510. }
  511. else if(button == Button_ENTER){
  512. Atten_Wifi_DataSet(Ach_Wifi_5_8GHz_Value,ATT_A_CH_WIFI5_8Ghz);
  513. LCD_Wifi_Freq_Select_Display(AChSetting_SelectWIFI5_8GHz_Layer,&Ach_Wifi_5_8GHz_Value);
  514. }
  515. break;
  516. case AChSetting_Change30GHz28_28_5_Layer:
  517. if(button == Button_UP){
  518. if(Ach_30G_28_28_5_Value < 60)
  519. LCD_30G_ValueChange_Display(temp_Layer,&Ach_30G_28_28_5_Value,1);
  520. else
  521. LCD_30G_ValueChange_Display(temp_Layer,&Ach_30G_28_28_5_Value,0.5);
  522. }
  523. else if(button == Button_DOWN){
  524. if(Ach_30G_28_28_5_Value < 60)
  525. LCD_30G_ValueChange_Display(temp_Layer,&Ach_30G_28_28_5_Value,-1);
  526. else
  527. LCD_30G_ValueChange_Display(temp_Layer,&Ach_30G_28_28_5_Value,-0.5);
  528. }
  529. else if(button == Button_ENTER){
  530. Atten_30G_DataSet(Ach_30G_28_28_5_Value,ATT_A_CH_30G_28_28_5);
  531. LCD_30G_Freq_Select_Display(AChSetting_Select30GHz28_28_5_Layer,&Ach_30G_28_28_5_Value);
  532. }
  533. break;
  534. case AChSetting_Change30GHz28_5_29_Layer:
  535. if(button == Button_UP){
  536. if(Ach_30G_28_5_29_Value < 60)
  537. LCD_30G_ValueChange_Display(temp_Layer,&Ach_30G_28_5_29_Value,1);
  538. else
  539. LCD_30G_ValueChange_Display(temp_Layer,&Ach_30G_28_5_29_Value,0.5);
  540. }
  541. else if(button == Button_DOWN){
  542. if(Ach_30G_28_5_29_Value < 60)
  543. LCD_30G_ValueChange_Display(temp_Layer,&Ach_30G_28_5_29_Value,-1);
  544. else
  545. LCD_30G_ValueChange_Display(temp_Layer,&Ach_30G_28_5_29_Value,-0.5);
  546. }
  547. else if(button == Button_ENTER){
  548. Atten_30G_DataSet(Ach_30G_28_5_29_Value,ATT_A_CH_30G_28_5_29);
  549. LCD_30G_Freq_Select_Display(AChSetting_Select30GHz28_5_29_Layer,&Ach_30G_28_5_29_Value);
  550. }
  551. break;
  552. case AChSetting_Change30GHz29_29_5_Layer:
  553. if(button == Button_UP){
  554. if(Ach_30G_29_29_5_Value < 60)
  555. LCD_30G_ValueChange_Display(temp_Layer,&Ach_30G_29_29_5_Value,1);
  556. else
  557. LCD_30G_ValueChange_Display(temp_Layer,&Ach_30G_29_29_5_Value,0.5);
  558. }
  559. else if(button == Button_DOWN){
  560. if(Ach_30G_29_29_5_Value < 60)
  561. LCD_30G_ValueChange_Display(temp_Layer,&Ach_30G_29_29_5_Value,-1);
  562. else
  563. LCD_30G_ValueChange_Display(temp_Layer,&Ach_30G_29_29_5_Value,-0.5);
  564. }
  565. else if(button == Button_ENTER){
  566. Atten_30G_DataSet(Ach_30G_29_29_5_Value,ATT_A_CH_30G_29_29_5);
  567. LCD_30G_Freq_Select_Display(AChSetting_Select30GHz29_29_5_Layer,&Ach_30G_29_29_5_Value);
  568. }
  569. break;
  570. case AChSetting_Change30GHz29_5_30_Layer:
  571. if(button == Button_UP){
  572. if(Ach_30G_29_5_30_Value < 60)
  573. LCD_30G_ValueChange_Display(temp_Layer,&Ach_30G_29_5_30_Value,1);
  574. else
  575. LCD_30G_ValueChange_Display(temp_Layer,&Ach_30G_29_5_30_Value,0.5);
  576. }
  577. else if(button == Button_DOWN){
  578. if(Ach_30G_29_5_30_Value < 60)
  579. LCD_30G_ValueChange_Display(temp_Layer,&Ach_30G_29_5_30_Value,-1);
  580. else
  581. LCD_30G_ValueChange_Display(temp_Layer,&Ach_30G_29_5_30_Value,-0.5);
  582. }
  583. else if(button == Button_ENTER){
  584. Atten_30G_DataSet(Ach_30G_29_5_30_Value,ATT_A_CH_30G_29_5_30);
  585. LCD_30G_Freq_Select_Display(AChSetting_Select30GHz29_5_30_Layer,&Ach_30G_29_5_30_Value);
  586. }
  587. break;
  588. case BChSetting_Change150M_Layer:
  589. if(button == Button_UP)
  590. LCD_150M_ValueChange_Display(BChSetting_Change150M_Layer,&Bch_150M_Value,0.5);
  591. else if(button == Button_DOWN)
  592. LCD_150M_ValueChange_Display(BChSetting_Change150M_Layer,&Bch_150M_Value,-0.5);
  593. else if(button == Button_ENTER){
  594. Atten_150M_DataSet(Bch_150M_Value,ATT_B_CH_150M);
  595. Lcd_Bch150M_Display();
  596. }
  597. break;
  598. case BChSetting_ChangeWIFI2_4GHz_Layer:
  599. if(button == Button_UP){
  600. LCD_Wifi_ValueChange_Display(BChSetting_ChangeWIFI2_4GHz_Layer,&Bch_Wifi_2_4GHz_Value,0.5);
  601. }
  602. else if(button == Button_DOWN){
  603. LCD_Wifi_ValueChange_Display(BChSetting_ChangeWIFI2_4GHz_Layer,&Bch_Wifi_2_4GHz_Value,-0.5);
  604. }
  605. else if(button == Button_ENTER){
  606. Atten_Wifi_DataSet(Bch_Wifi_2_4GHz_Value,ATT_B_CH_WIFI2_4Ghz);
  607. LCD_Wifi_Freq_Select_Display(BChSetting_SelectWIFI2_4GHz_Layer,&Bch_Wifi_2_4GHz_Value);
  608. }
  609. break;
  610. case BChSetting_ChangeWIFI5_8GHz_Layer:
  611. if(button == Button_UP){
  612. LCD_Wifi_ValueChange_Display(BChSetting_ChangeWIFI5_8GHz_Layer,&Bch_Wifi_5_8GHz_Value,0.5);
  613. }
  614. else if(button == Button_DOWN){
  615. LCD_Wifi_ValueChange_Display(BChSetting_ChangeWIFI5_8GHz_Layer,&Bch_Wifi_5_8GHz_Value,-0.5);
  616. }
  617. else if(button == Button_ENTER){
  618. Atten_Wifi_DataSet(Bch_Wifi_5_8GHz_Value,ATT_B_CH_WIFI5_8Ghz);
  619. LCD_Wifi_Freq_Select_Display(BChSetting_SelectWIFI5_8GHz_Layer,&Bch_Wifi_5_8GHz_Value);
  620. }
  621. break;
  622. case BChSetting_Change30GHz28_28_5_Layer:
  623. if(button == Button_UP){
  624. if(Bch_30G_28_28_5_Value < 60)
  625. LCD_30G_ValueChange_Display(temp_Layer,&Bch_30G_28_28_5_Value,1);
  626. else
  627. LCD_30G_ValueChange_Display(temp_Layer,&Bch_30G_28_28_5_Value,0.5);
  628. }
  629. else if(button == Button_DOWN){
  630. if(Bch_30G_28_28_5_Value < 60)
  631. LCD_30G_ValueChange_Display(temp_Layer,&Bch_30G_28_28_5_Value,-1);
  632. else
  633. LCD_30G_ValueChange_Display(temp_Layer,&Bch_30G_28_28_5_Value,-0.5);
  634. }
  635. else if(button == Button_ENTER){
  636. Atten_30G_DataSet(Bch_30G_28_28_5_Value,ATT_B_CH_30G_28_28_5);
  637. LCD_30G_Freq_Select_Display(BChSetting_Select30GHz28_28_5_Layer,&Bch_30G_28_28_5_Value);
  638. }
  639. break;
  640. case BChSetting_Change30GHz28_5_29_Layer:
  641. if(button == Button_UP){
  642. if(Bch_30G_28_5_29_Value < 60)
  643. LCD_30G_ValueChange_Display(temp_Layer,&Bch_30G_28_5_29_Value,1);
  644. else
  645. LCD_30G_ValueChange_Display(temp_Layer,&Bch_30G_28_5_29_Value,0.5);
  646. }
  647. else if(button == Button_DOWN){
  648. if(Bch_30G_28_5_29_Value < 60)
  649. LCD_30G_ValueChange_Display(temp_Layer,&Bch_30G_28_5_29_Value,-1);
  650. else
  651. LCD_30G_ValueChange_Display(temp_Layer,&Bch_30G_28_5_29_Value,-0.5);
  652. }
  653. else if(button == Button_ENTER){
  654. Atten_30G_DataSet(Bch_30G_28_5_29_Value,ATT_B_CH_30G_28_5_29);
  655. LCD_30G_Freq_Select_Display(BChSetting_Select30GHz28_5_29_Layer,&Bch_30G_28_5_29_Value);
  656. }
  657. break;
  658. case BChSetting_Change30GHz29_29_5_Layer:
  659. if(button == Button_UP){
  660. if(Bch_30G_29_29_5_Value < 60)
  661. LCD_30G_ValueChange_Display(temp_Layer,&Bch_30G_29_29_5_Value,1);
  662. else
  663. LCD_30G_ValueChange_Display(temp_Layer,&Bch_30G_29_29_5_Value,0.5);
  664. }
  665. else if(button == Button_DOWN){
  666. if(Bch_30G_29_29_5_Value < 60)
  667. LCD_30G_ValueChange_Display(temp_Layer,&Bch_30G_29_29_5_Value,-1);
  668. else
  669. LCD_30G_ValueChange_Display(temp_Layer,&Bch_30G_29_29_5_Value,-0.5);
  670. }
  671. else if(button == Button_ENTER){
  672. Atten_30G_DataSet(Bch_30G_29_29_5_Value,ATT_B_CH_30G_29_29_5);
  673. LCD_30G_Freq_Select_Display(BChSetting_Select30GHz29_29_5_Layer,&Bch_30G_29_29_5_Value);
  674. }
  675. break;
  676. case BChSetting_Change30GHz29_5_30_Layer:
  677. if(button == Button_UP){
  678. if(Bch_30G_29_5_30_Value < 60)
  679. LCD_30G_ValueChange_Display(temp_Layer,&Bch_30G_29_5_30_Value,1);
  680. else
  681. LCD_30G_ValueChange_Display(temp_Layer,&Bch_30G_29_5_30_Value,0.5);
  682. }
  683. else if(button == Button_DOWN){
  684. if(Bch_30G_29_5_30_Value < 60)
  685. LCD_30G_ValueChange_Display(temp_Layer,&Bch_30G_29_5_30_Value,-1);
  686. else
  687. LCD_30G_ValueChange_Display(temp_Layer,&Bch_30G_29_5_30_Value,-0.5);
  688. }
  689. else if(button == Button_ENTER){
  690. Atten_30G_DataSet(Bch_30G_29_5_30_Value,ATT_B_CH_30G_29_5_30);
  691. LCD_30G_Freq_Select_Display(BChSetting_Select30GHz29_5_30_Layer,&Bch_30G_29_5_30_Value);
  692. }
  693. break;
  694. /////////////////////////////////////////////////////////////////////////////////////////////////////////
  695. }
  696. }
  697. }
  698. }
  699. void Lcd_AchSetting_Display(void)
  700. {
  701. uint8_t temp_str[16] = {0,};
  702. static float value = 0;
  703. LCD_M68_DataWrite_COMMAND_Cusor_OFF();
  704. LCD_M68_DataWrite_Clear();
  705. LCD_M68_DataWrite_COMMAND(Line_default,Data_CMD," A Channel ");
  706. LCD_M68_DataWrite_COMMAND2(Line_default,Data_CMD,0x10);
  707. sprintf(temp_str, " Setting");
  708. LCD_M68_DataWrite_COMMAND(Second_Line,Data_CMD,temp_str);
  709. Layer_Set(AChSetting_Layer);
  710. }
  711. void Lcd_Ach150M_Display(void){
  712. uint8_t temp_str[16] = {0,};
  713. LCD_M68_DataWrite_COMMAND_Cusor_OFF();
  714. LCD_M68_DataWrite_Clear();
  715. LCD_M68_DataWrite_COMMAND(Line_default,Data_CMD," A Ch 150MHz ");
  716. LCD_M68_DataWrite_COMMAND2(Line_default,Data_CMD,0x10);
  717. sprintf(temp_str, " %05.2f dB", Ach_150M_Value);
  718. LCD_M68_DataWrite_COMMAND(Second_Line,Data_CMD,temp_str);
  719. Layer_Set(AChSetting_150M_Layer);
  720. }
  721. void Lcd_AchWifi_Display(void){
  722. uint8_t temp_str[16] = {0,};
  723. LCD_M68_DataWrite_COMMAND_Cusor_OFF();
  724. LCD_M68_DataWrite_Clear();
  725. LCD_M68_DataWrite_COMMAND2(Line_default,Data_CMD,0x11);
  726. LCD_M68_DataWrite_COMMAND(Line_default,Data_CMD," A Ch WIFI ");
  727. LCD_M68_DataWrite_COMMAND2(Line_default,Data_CMD,0x10);
  728. sprintf(temp_str, " %05.2f dB", Ach_Wifi_2_4GHz_Value);
  729. LCD_M68_DataWrite_COMMAND(Second_Line,Data_CMD,temp_str);
  730. Layer_Set(AChSetting_WIFI_Layer);
  731. }
  732. void Lcd_Ach30G_Display(void){
  733. uint8_t temp_str[16] = {0,};
  734. LCD_M68_DataWrite_COMMAND_Cusor_OFF();
  735. LCD_M68_DataWrite_Clear();
  736. LCD_M68_DataWrite_COMMAND2(Line_default,Data_CMD,0x11);
  737. LCD_M68_DataWrite_COMMAND(Line_default,Data_CMD," A Ch 30G");
  738. sprintf(temp_str, " %05.2f dB", Ach_30G_28_28_5_Value);
  739. LCD_M68_DataWrite_COMMAND(Second_Line,Data_CMD,temp_str);
  740. Layer_Set(AChSetting_30GHz_Layer);
  741. }
  742. void Lcd_BchSetting_Display(void)
  743. {
  744. uint8_t temp_str[16] = {0,};
  745. LCD_M68_DataWrite_COMMAND_Cusor_OFF();
  746. LCD_M68_DataWrite_Clear();
  747. LCD_M68_DataWrite_COMMAND2(Line_default,Data_CMD,0x11);
  748. LCD_M68_DataWrite_COMMAND(Line_default,Data_CMD," B Channel");
  749. sprintf(temp_str, " Setting");
  750. LCD_M68_DataWrite_COMMAND(Second_Line,Data_CMD,temp_str);
  751. Layer_Set(BChSetting_Layer);
  752. }
  753. void Lcd_Bch150M_Display(void)
  754. {
  755. uint8_t temp_str[16] = {0,};
  756. LCD_M68_DataWrite_COMMAND_Cusor_OFF();
  757. LCD_M68_DataWrite_Clear();
  758. LCD_M68_DataWrite_COMMAND(Line_default,Data_CMD," B Ch 150MHz ");
  759. LCD_M68_DataWrite_COMMAND2(Line_default,Data_CMD,0x10);
  760. sprintf(temp_str, " %05.2f dB", Bch_150M_Value);
  761. LCD_M68_DataWrite_COMMAND(Second_Line,Data_CMD,temp_str);
  762. Layer_Set(BChSetting_150M_Layer);
  763. }
  764. void Lcd_BchWifi_Display(void)
  765. {
  766. uint8_t temp_str[16] = {0,};
  767. LCD_M68_DataWrite_COMMAND_Cusor_OFF();
  768. LCD_M68_DataWrite_Clear();
  769. LCD_M68_DataWrite_COMMAND2(Line_default,Data_CMD,0x11);
  770. LCD_M68_DataWrite_COMMAND(Line_default,Data_CMD," B Ch WIFI ");
  771. LCD_M68_DataWrite_COMMAND2(Line_default,Data_CMD,0x10);
  772. sprintf(temp_str, " %05.2f dB", Bch_Wifi_2_4GHz_Value);
  773. LCD_M68_DataWrite_COMMAND(Second_Line,Data_CMD,temp_str);
  774. Layer_Set(BChSetting_WIFI_Layer);
  775. }
  776. void Lcd_Bch30G_Display(void)
  777. {
  778. uint8_t temp_str[16] = {0,};
  779. LCD_M68_DataWrite_COMMAND_Cusor_OFF();
  780. LCD_M68_DataWrite_Clear();
  781. LCD_M68_DataWrite_COMMAND2(Line_default,Data_CMD,0x11);
  782. LCD_M68_DataWrite_COMMAND(Line_default,Data_CMD," B Ch 30G");
  783. sprintf(temp_str, " %05.2f dB", Bch_30G_28_28_5_Value);
  784. LCD_M68_DataWrite_COMMAND(Second_Line,Data_CMD,temp_str);
  785. Layer_Set(BChSetting_30GHz_Layer);
  786. }
  787. void LCD_150M_ValueChange_Display(Layer_t layer,float* data,float offset){
  788. uint8_t temp_str[16] = {0,};
  789. LCD_M68_DataWrite_COMMAND_Cusor_ON();
  790. *data += offset;
  791. if(*data > 30){
  792. *data = 30;
  793. return;
  794. }else if (*data < 0){
  795. *data = 0;
  796. return;
  797. }
  798. sprintf(temp_str, " %05.2f dB", *data);
  799. LCD_M68_DataWrite_COMMAND(Second_Line,Data_CMD,temp_str);
  800. Layer_Set(layer);
  801. }
  802. void LCD_Wifi_ValueChange_Display(Layer_t layer,float* data,float offset){
  803. uint8_t temp_str[16] = {0,};
  804. LCD_M68_DataWrite_COMMAND_Cusor_ON();
  805. *data += offset;
  806. if(*data > 120){
  807. *data = 120;
  808. return;
  809. }else if (*data < 0){
  810. *data = 0;
  811. return;
  812. }
  813. sprintf(temp_str, " %05.2f dB", *data);
  814. LCD_M68_DataWrite_COMMAND(Second_Line,Data_CMD,temp_str);
  815. Layer_Set(layer);
  816. }
  817. void LCD_30G_ValueChange_Display(Layer_t layer,float* data,float offset){
  818. uint8_t temp_str[16] = {0,};
  819. LCD_M68_DataWrite_COMMAND_Cusor_ON();
  820. *data += offset;
  821. if(*data > 90){
  822. *data = 90;
  823. return;
  824. }else if (*data < 0){
  825. *data = 0;
  826. return;
  827. }
  828. sprintf(temp_str, " %05.2f dB", *data);
  829. LCD_M68_DataWrite_COMMAND(Second_Line,Data_CMD,temp_str);
  830. Layer_Set(layer);
  831. }
  832. ////////////////////////////////////////////////////////////////////////////////////////////
  833. void LCD_Wifi_Freq_Select_Display(Layer_t layer,float* db_value)
  834. {
  835. uint8_t temp_str[16] = {0,};
  836. LCD_M68_DataWrite_COMMAND_Cusor_OFF();
  837. LCD_M68_DataWrite_Clear();
  838. if(layer == AChSetting_SelectWIFI2_4GHz_Layer || layer == BChSetting_SelectWIFI2_4GHz_Layer){
  839. LCD_M68_DataWrite_COMMAND(Line_default,Data_CMD," 2.4GHz ");
  840. LCD_M68_DataWrite_COMMAND2(Line_default,Data_CMD,0x10);
  841. }
  842. else if (layer == AChSetting_SelectWIFI5_8GHz_Layer || layer == BChSetting_SelectWIFI5_8GHz_Layer){
  843. LCD_M68_DataWrite_COMMAND2(Line_default,Data_CMD,0x11);
  844. LCD_M68_DataWrite_COMMAND(Line_default,Data_CMD," 5.8GHz ");
  845. }
  846. sprintf(temp_str, " %05.2f dB", *db_value);
  847. LCD_M68_DataWrite_COMMAND(Second_Line,Data_CMD,temp_str);
  848. Layer_Set(layer);
  849. }
  850. void LCD_30G_Freq_Select_Display(Layer_t layer,float *db_value)
  851. {
  852. uint8_t temp_str[16] = {0,};
  853. LCD_M68_DataWrite_COMMAND_Cusor_OFF();
  854. LCD_M68_DataWrite_Clear();
  855. if(layer == AChSetting_Select30GHz28_28_5_Layer || layer == BChSetting_Select30GHz28_28_5_Layer){
  856. LCD_M68_DataWrite_COMMAND(Line_default,Data_CMD," 28~28.5 GHz ");
  857. LCD_M68_DataWrite_COMMAND2(Line_default,Data_CMD,0x10);
  858. }
  859. else if(layer == AChSetting_Select30GHz28_5_29_Layer || layer == BChSetting_Select30GHz28_5_29_Layer){
  860. LCD_M68_DataWrite_COMMAND2(Line_default,Data_CMD,0x11);
  861. LCD_M68_DataWrite_COMMAND(Line_default,Data_CMD," 28.5~29 GHz ");
  862. LCD_M68_DataWrite_COMMAND2(Line_default,Data_CMD,0x10);
  863. }
  864. else if(layer == AChSetting_Select30GHz29_29_5_Layer || layer == BChSetting_Select30GHz29_29_5_Layer){
  865. LCD_M68_DataWrite_COMMAND2(Line_default,Data_CMD,0x11);
  866. LCD_M68_DataWrite_COMMAND(Line_default,Data_CMD," 29~29.5 GHz ");
  867. LCD_M68_DataWrite_COMMAND2(Line_default,Data_CMD,0x10);
  868. }
  869. else if(layer == AChSetting_Select30GHz29_5_30_Layer || layer == BChSetting_Select30GHz29_5_30_Layer){
  870. LCD_M68_DataWrite_COMMAND2(Line_default,Data_CMD,0x11);
  871. LCD_M68_DataWrite_COMMAND(Line_default,Data_CMD," 29.5~30 GHz ");
  872. }
  873. sprintf(temp_str, " %05.2f dB", *db_value);
  874. LCD_M68_DataWrite_COMMAND(Second_Line,Data_CMD,temp_str);
  875. Layer_Set(layer);
  876. }
  877. ////////////////////////////////////////////////////////////////////////////////////////////