📄 menuprocess_sopt.c
字号:
#ifndef _MENU_PROCESS_SIGLE_OPTICAL_C_
#define _MENU_PROCESS_SIGLE_OPTICAL_C_
#include "menu.h"
#include "menuprocess.h"
#include "menudrive.h"
#if _LCD_MENU_
void get_main_menu_buffer_sigle_optical( BYTE *pbuffer, BYTE flash_status )
{
SYSTEM_DEVICE_STATUS xdata *psdev = &gsystemStauts;
IDBSTATUS rc = OK;
BYTE *ppbuffer;
BYTE xdata flash[LCD_LAST_CASE];
memset( flash, SHOW_CHAR_STATUS, sizeof(flash) );
ppbuffer = pbuffer;
ppbuffer += 2;
ppbuffer += 2;
if( (light_fiber( psdev->local.fiber_status ) !=INVALID)
|| (light_fiber( psdev->remote.fiber_status ) !=INVALID) )
{
rc = ERROR;
flash_char_status( ppbuffer, "OPT", flash_status, 3 );
}
ppbuffer += 4;
if( (light_e1_alarm( psdev->local.e1_status ) !=INVALID)
|| (light_e1_alarm( psdev->remote.e1_status ) !=INVALID) )
{
rc = ERROR;
flash_char_status( ppbuffer, "E1", flash_status, 2 );
}
ppbuffer += 3;
if( (light_e1_loop( psdev->local.e1_status ) !=INVALID)
|| (light_e1_loop( psdev->remote.e1_status ) !=INVALID) )
{
rc = ERROR;
flash_char_status( ppbuffer, "LOOP", flash_status, 4 );
}
if( rc == OK )
{
ppbuffer = pbuffer + 7;
flash_char_status( ppbuffer, "OK!", SHOW_CHAR_STATUS, 3 );
}
LcdDisplay_length( ROW_2, CHAR_0, pbuffer, LCD_MAX_CASE );
}
BYTE MenuHeadDisplay_sigle_optical( BYTE FlashLcd )
{
BYTE xdata buffer[LCD_MAX_CASE];
SYSTEM_INFOMATION xdata *psys = &gSystemInfo;
BYTE *pbuffer;
BYTE flash_status = FlashLcd;
flash_status = flash_time( );
KeyPro.keyEnter = key_go_next;
KeyPro.keyLeft = key_go_next;
KeyPro.keyRight = key_go_next;
KeyPro.keyCanncel = key_do_nothing;
LcdDisplay_length( ROW_1, CHAR_0, psys->pdevice, LCD_MAX_CASE );
memcpy( buffer, rownull, LCD_MAX_CASE );
pbuffer = buffer;
get_main_menu_buffer_sigle_optical( pbuffer, flash_status );
return key_process_status( &KeyPro );
}
BYTE fiber_alarm_show_sigle_optical( BYTE FlashLcd )
{
SYSTEM_DEVICE_STATUS xdata *psdev = &gsystemStauts;
BYTE xdata buffer[2][LCD_MAX_CASE];
BYTE alarm;
BYTE flash_status;
flash_status = flash_time( );
KeyPro.keyEnter = key_do_nothing;
KeyPro.keyLeft = menu_1_left;
KeyPro.keyRight = menu_1_right;
KeyPro.keyCanncel = menu_1_preview;
if( FlashLcd == FLASH_SCREEN )
{
LcdDisplay_length( ROW_1, CHAR_0, rownull , LCD_MAX_CASE);
LcdDisplay_length( ROW_2, CHAR_0, rownull, LCD_MAX_CASE );
}
else
{
memcpy( &buffer[0], "Local : ", LCD_MAX_CASE );
alarm = psdev->local.fiber_status[0]&FIBER_ALARM_STATUS;
fiber_alarm_display( &buffer[0][9], alarm, flash_status );
LcdDisplay_length( ROW_1, CHAR_0, &buffer[0][0], LCD_MAX_CASE );
memcpy( &buffer[1], "Remote : ", LCD_MAX_CASE );
if( check_remote_status() == ALARM )
{
flash_char_status( &buffer[1][9], "unknown", flash_status, 7 );
}
else
{
alarm = psdev->remote.fiber_status[0]&FIBER_ALARM_STATUS;
fiber_alarm_display( &buffer[1][9], alarm, flash_status );
}
LcdDisplay_length( ROW_2, CHAR_0, &buffer[1][0], LCD_MAX_CASE );
}
return key_process_status( &KeyPro );
}
BYTE menu_3_alarm_show_sigle_optical( BYTE FlashLcd )
{
SYSTEM_INFOMATION xdata *psys = &gSystemInfo;
switch( psys->set_value )
{
case 0:
return fiber_alarm_show_sigle_optical( FlashLcd );
case 1:
return e1_alarm_show( FlashLcd );
}
return NOCHANGE_MENU;
}
#if _ALS_
BYTE als_set_sigle_optical( BYTE FlashLcd )
{
BYTE xdata buffer[LCD_MAX_CASE];
SYSTEM_INFOMATION xdata *psys = &gSystemInfo;
BYTE value;
KeyPro.keyEnter = menu_als_yes_no;
KeyPro.keyLeft = menu_yes_no_left;
KeyPro.keyRight = menu_yes_no_rigth;
KeyPro.keyCanncel = menu_1_preview;
value = GetSystemFiberCloseDown( LACAL_EQU );
if( value == IDB_DISABLEE_LASER_CLOSE )
memcpy( buffer, " Set ALS enable ", LCD_MAX_CASE );
else
memcpy( buffer, " Set ALS disable ", LCD_MAX_CASE );
LcdDisplay_length( ROW_1, CHAR_0, buffer, LCD_MAX_CASE );
yes_no_display( FlashLcd, psys );
return key_process_status( &KeyPro );
}
BYTE get_als_status_sigle_optical( BYTE *pbuffer )
{
BYTE value;
SYSTEM_INFOMATION xdata *psys = &gSystemInfo;
BYTE flash_status;
flash_status = flash_time( );
memcpy( pbuffer, " ALS : ", LCD_MAX_CASE );
if( psys->set_value == 1 )
{
if( check_remote_status() == ALARM )
{
flash_char_status( &pbuffer[7], "unknown", flash_status, 7 );
return 14;
}
}
value = GetSystemFiberCloseDown( psys->set_value+1 );
if( value == IDB_DISABLEE_LASER_CLOSE )
{
memcpy( &pbuffer[7], "disable", 7 );
return 14;
}
else
{
memcpy( &pbuffer[7], "enable ", 7 );
return 13;
}
}
BYTE menu_3_als_set_sigle_optical( BYTE FlashLcd )
{
SYSTEM_INFOMATION xdata *psys = &gSystemInfo;
BYTE xdata buffer[2][LCD_MAX_CASE];
BYTE xdata list_char = 7;
KeyPro.keyLeft = key_do_nothing;
KeyPro.keyRight = key_do_nothing;
KeyPro.keyCanncel = menu_1_preview;
if( FlashLcd == FLASH_SCREEN )
{
LcdDisplay_length( ROW_1, CHAR_0, rownull, LCD_MAX_CASE );
LcdDisplay_length( ROW_2, CHAR_0, rownull, LCD_MAX_CASE );
}
else
{
if( psys->als_port )
list_char = 14;
}
memcpy( &buffer[0][0], rownull, LCD_LAST_CASE );
memcpy( &buffer[1][0], rownull, LCD_LAST_CASE );
if( psys->set_value == 0 )
{
KeyPro.keyEnter = key_go_next;
memcpy( &buffer[0][0], " Local ALS set ", LCD_MAX_CASE );
}
else
{
KeyPro.keyEnter = key_do_nothing;
memcpy( &buffer[0][0], " Remote ALS set ", LCD_MAX_CASE );
}
LcdDisplay_length( ROW_1, CHAR_0, &buffer[0][0], LCD_MAX_CASE );
list_char = get_als_status_sigle_optical( &buffer[1][0] );
LcdDisplay_length( ROW_2, CHAR_0, &buffer[1][0], list_char );
if( psys->set_value == 0 )
diaplay_char( ROW_2, list_char, LCD_PRINT_TRIANGLE );
return key_process_status( &KeyPro );
}
#endif
/*
BYTE menu_2_als_set_sigle_optical( BYTE FlashLcd )
{
SYSTEM_INFOMATION xdata *psys = &gSystemInfo;
BYTE xdata buffer[2][LCD_MAX_CASE];
BYTE list_char = 0;
if( FlashLcd == FLASH_SCREEN )
{
LcdDisplay_length( ROW_1, CHAR_0, rownull, LCD_MAX_CASE );
LcdDisplay_length( ROW_2, CHAR_0, rownull, LCD_MAX_CASE );
}
KeyPro.keyEnter = key_go_next;
KeyPro.keyLeft = key_go_next;
KeyPro.keyRight = key_go_next;
KeyPro.keyCanncel = menu_1_preview;
memcpy( &buffer[0][0], rownull, LCD_LAST_CASE );
memcpy( &buffer[1][0], rownull, LCD_LAST_CASE );
memcpy( &buffer[0][0], " Local ALS set ", LCD_LAST_CASE );
LcdDisplay_length( ROW_1, CHAR_0, &buffer[0][0], LCD_LAST_CASE );
list_char = get_als_status_sigle_optical( &buffer[1][0] );
LcdDisplay_length( ROW_2, CHAR_0, &buffer[1][0], list_char );
diaplay_char( ROW_2, list_char, LCD_PRINT_TRIANGLE );
return key_process_status( &KeyPro );
}
*/
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -