⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menuprocess_dopt.lst

📁 pdh控制程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
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 + -