📄 menuprocess_dopt.lst
字号:
C51 COMPILER V7.20 MENUPROCESS_DOPT 02/20/2006 10:14:03 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE MENUPROCESS_DOPT
OBJECT MODULE PLACED IN .\output\menuProcess_dopt.obj
COMPILER INVOKED BY: D:\keil c51 v7.09\C51\BIN\C51.EXE menuProcess_dopt.c BROWSE DEBUG OBJECTEXTEND PRINT(.\list\menuPro
-cess_dopt.lst) OBJECT(.\output\menuProcess_dopt.obj)
line level source
1 #ifndef _MENU_PROCESS_DUBLE_OPTICAL_C_
2 #define _MENU_PROCESS_DUBLE_OPTICAL_C_
3
4 #include "menu.h"
5 #include "menuprocess.h"
6 #include "menudrive.h"
7
8 #if _LCD_MENU_
9
10 extern const MENU CODE_TYPE menu_head_dam[];
11 extern const MENU CODE_TYPE menu_head_dnm[];
12 extern const MENU CODE_TYPE menu_head_sam[];
13 extern const MENU CODE_TYPE menu_head_snm[];
14
15 #define GF34_08J 0
16 #define GF8_06J 1
17
18 KEY_STATUS_PROCESS xdata KeyPro;
19 /*空格打印初始化*/
20 BYTE CODE_TYPE rownull[LCD_MAX_CASE] = {0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0
-x20,0x20,0x20};
21 BYTE CODE_TYPE *device_type[2] = {" GF34-08J+1 PDH "," GF8-06J+1 PDH "};
22
23 #if 0
BYTE MenuPopDisplay(BYTE FlashLcd)
{
BYTE nouse = FlashLcd;
return NOCHANGE_MENU;
}
#endif
30
31 BYTE key_do_nothing( void )
32 {
33 1 return NOCHANGE_MENU;
34 1 }
35
36 BYTE key_go_next( void )
37 {
38 1 return NEXT_MENU;
39 1 }
40
41 BYTE flash_time( void )
42 {
43 1 static BYTE xdata status = SHOW_SPACE_STATUS;
44 1 static BYTE xdata flash_time = 0;
45 1
46 1 flash_time = ( flash_time + 1 )%5;
47 1 if( flash_time )
48 1 return status;
49 1 if( status == SHOW_CHAR_STATUS )
50 1 status = SHOW_SPACE_STATUS;
51 1 else
52 1 status = SHOW_CHAR_STATUS;
53 1
C51 COMPILER V7.20 MENUPROCESS_DOPT 02/20/2006 10:14:03 PAGE 2
54 1 return status;
55 1 }
56
57
58 BYTE menu_set_left( void )
59 {
60 1 if( gSystemInfo.set_value )
61 1 gSystemInfo.set_value = 0;
62 1 return NOCHANGE_MENU;
63 1 }
64
65 BYTE menu_set_rigth( void )
66 {
67 1 if( gSystemInfo.set_value == 0 )
68 1 gSystemInfo.set_value = 1;
69 1 return NOCHANGE_MENU;
70 1 }
71
72 void flash_char_status( BYTE* pbuffer, BYTE *source, BYTE flash_status, BYTE length)
73 {
74 1 if( flash_status == SHOW_CHAR_STATUS )
75 1 memcpy( pbuffer, source, length );
76 1 else
77 1 memcpy( pbuffer, rownull, length );
78 1
79 1 }
80
81 void get_main_menu_buffer( BYTE *pbuffer, BYTE flash_status )
82 {
83 1 SYSTEM_DEVICE_STATUS xdata *psdev = &gsystemStauts;
84 1 IDBSTATUS xdata rc = OK;
85 1 BYTE *ppbuffer;
86 1 BYTE xdata flash[LCD_LAST_CASE];
87 1
88 1 memset( flash, SHOW_CHAR_STATUS, sizeof(flash) );
89 1 ppbuffer = pbuffer;
90 1 if( !(psdev->local.fiber_status[0]&FIBER_NOUSE) )
91 1 flash_char_status( ppbuffer, "M", SHOW_CHAR_STATUS, 1 );
92 1 else
93 1 flash_char_status( ppbuffer, "S", SHOW_CHAR_STATUS, 1 );
94 1
95 1 ppbuffer += 2;
96 1 switch( psdev->local.protect_mode )
97 1 {
98 2 case IDB_FIBER_MASTER:
99 2 case IDB_FIBER_SLAVE:
100 2 flash_char_status( ppbuffer, "F", SHOW_CHAR_STATUS, 1 );
101 2 break;
102 2
103 2 default:
104 2 flash_char_status( ppbuffer, "A", SHOW_CHAR_STATUS, 1 );
105 2 break;
106 2 }
107 1
108 1 ppbuffer += 2;
109 1 if( (light_fiber( psdev->local.fiber_status ) !=INVALID)
110 1 || (light_fiber( psdev->remote.fiber_status ) !=INVALID) )
111 1 {
112 2 rc = ERROR;
113 2 flash_char_status( ppbuffer, "OPT", flash_status, 3 );
114 2 }
115 1
C51 COMPILER V7.20 MENUPROCESS_DOPT 02/20/2006 10:14:03 PAGE 3
116 1 ppbuffer += 4;
117 1 if( (light_e1_alarm( psdev->local.e1_status ) !=INVALID)
118 1 || (light_e1_alarm( psdev->remote.e1_status ) !=INVALID) )
119 1 {
120 2 rc = ERROR;
121 2 flash_char_status( ppbuffer, "E1", flash_status, 2 );
122 2 }
123 1
124 1 ppbuffer += 3;
125 1 if( (light_e1_loop( psdev->local.e1_status ) !=INVALID)
126 1 || (light_e1_loop( psdev->remote.e1_status ) !=INVALID) )
127 1 {
128 2 rc = ERROR;
129 2 flash_char_status( ppbuffer, "LOOP", flash_status, 4 );
130 2 }
131 1
132 1 if( rc == OK )
133 1 {
134 2 ppbuffer = pbuffer + 7;
135 2 flash_char_status( ppbuffer, "OK!", SHOW_CHAR_STATUS, 3 );
136 2 }
137 1 LcdDisplay_length( ROW_2, CHAR_0, pbuffer, LCD_MAX_CASE );
138 1 }
139
140 BYTE MenuHeadDisplay( BYTE FlashLcd )
141 {
142 1 BYTE xdata buffer[LCD_MAX_CASE];
143 1 BYTE *pbuffer;
144 1 BYTE xdata flash_status= FlashLcd;
145 1 SYSTEM_INFOMATION xdata *psys = &gSystemInfo;
146 1
147 1 flash_status = flash_time( );
148 1
149 1 KeyPro.keyEnter = key_go_next;
150 1 KeyPro.keyLeft = key_go_next;
151 1 KeyPro.keyRight = key_go_next;
152 1 KeyPro.keyCanncel = key_do_nothing;
153 1
154 1 LcdDisplay_length( ROW_1, CHAR_0, psys->pdevice, LCD_MAX_CASE );
155 1 memset( buffer, 0x20, LCD_MAX_CASE );
156 1 pbuffer = buffer;
157 1 get_main_menu_buffer( pbuffer, flash_status );
158 1 return key_process_status( &KeyPro );
159 1 }
160
161 BYTE menu_1_left( void )
162 {
163 1 return LEFT_MENU;
164 1 }
165
166 BYTE menu_1_right( void )
167 {
168 1 return RIGHT_MENU;
169 1 }
170
171 BYTE menu_1_preview( void )
172 {
173 1 return PREVIEW_MENU;
174 1 }
175
176 BYTE menu_main_show( BYTE *pbuffer , BYTE FlashLcd )
177 {
C51 COMPILER V7.20 MENUPROCESS_DOPT 02/20/2006 10:14:03 PAGE 4
178 1 KeyPro.keyEnter = key_go_next;
179 1 KeyPro.keyLeft = menu_1_left;
180 1 KeyPro.keyRight = menu_1_right;
181 1 KeyPro.keyCanncel = menu_1_preview;
182 1
183 1 if( FlashLcd == FLASH_SCREEN )
184 1 {
185 2 LcdDisplay_length( ROW_1, CHAR_0, " Main menu ", LCD_LAST_CASE );
186 2 LcdDisplay_length( ROW_2, CHAR_0, rownull, LCD_LAST_CASE );
187 2 }
188 1 else
189 1 {
190 2 LcdDisplay_length( ROW_2, CHAR_0, pbuffer, LCD_LAST_CASE );
191 2 }
192 1
193 1 return key_process_status( &KeyPro );
194 1 }
195
196 BYTE menu_1_alarm_status( BYTE FlashLcd )
197 {
198 1 SYSTEM_INFOMATION xdata *psys = &gSystemInfo;
199 1
200 1 if( FlashLcd == FLASH_SCREEN )
201 1 psys->set_value = 0;
202 1
203 1 return menu_main_show( " Alarm status ", FlashLcd );
204 1 }
205
206 void fiber_alarm_display( BYTE *pbuffer, BYTE alarm, BYTE flash_status )
207 {
208 1 BYTE length = 3;
209 1
210 1 memcpy( pbuffer, rownull, length );
211 1
212 1 switch( alarm )
213 1 {
214 2 case FIBER_LOS:
215 2 flash_char_status( pbuffer, "LOS", flash_status, length );
216 2 break;
217 2
218 2 case FIBER_LFA:
219 2 flash_char_status( pbuffer, "LFA", flash_status, length );
220 2 break;
221 2
222 2 case FIBER_E_3:
223 2 flash_char_status( pbuffer, "E-3", flash_status, length );
224 2 break;
225 2
226 2 case FIBER_E_6:
227 2 flash_char_status( pbuffer, "E-6", flash_status, length );
228 2 break;
229 2
230 2 default:
231 2 flash_char_status( pbuffer, "OK ", SHOW_CHAR_STATUS, length );
232 2 break;
233 2 }
234 1 }
235
236 BYTE menu_4_e1_alarm_show( BYTE FlashLcd )
237 {
238 1 SYSTEM_INFOMATION xdata *psys = &gSystemInfo;
239 1
C51 COMPILER V7.20 MENUPROCESS_DOPT 02/20/2006 10:14:03 PAGE 5
240 1 switch( psys->e1_number )
241 1 {
242 2 case 0:
243 2 return local_e1_alarm( FlashLcd );
244 2
245 2 case 1:
246 2 return remote_e1_alarm( FlashLcd );
247 2 }
248 1
249 1 }
250
251 BYTE menu_3_alarm_show( BYTE FlashLcd )
252 {
253 1 SYSTEM_INFOMATION xdata *psys = &gSystemInfo;
254 1
255 1 switch( psys->set_value )
256 1 {
257 2 case 0:
258 2 return fiber_alarm_show( FlashLcd );
259 2
260 2 case 1:
261 2 return e1_alarm_show( FlashLcd );
262 2 }
263 1 }
264
265 void get_show_status( BYTE *buffer, BYTE *status, BYTE flash_status )
266 {
267 1 if( light_e1_alarm( buffer ) == INVALID )
268 1 *status = SHOW_CHAR_STATUS;
269 1 else
270 1 *status = flash_status;
271 1 }
272
273 BYTE menu_end_left( void )
274 {
275 1 if( gSystemInfo.e1_number == 1 )
276 1 gSystemInfo.e1_number = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -