📄 646545.c
字号:
password_set_think(key_in);
break;
default:
break;
}
break;
case 3: //set the sound (switch and type) and qam (if,sy,mode)
switch(ucMenuPosition)
{
case 1://set qam symblrate
ucsubMenuCurrentPosition++;
if(ucsubMenuCurrentPosition==4) ucsubMenuCurrentPosition=1;
qam_ifmodsymb();
break;
case 4: //set the sound switch
set_sound_switch();
break;
case 5:
switch(ucMenuCurrentPosition)
{
case 1:
net_modify(net_gatway);
break;
case 2:
net_modify(net_sub);
break;
case 3:
net_modify(net_lip);
break;
case 4:
net_modify(net_dip);
break;
default:
break;
}
break;
default:
break;
}
break;
case 4:
qam_modefy();
break;
default:
break;
}
}
//---------------------------------------------------------
// NAME: OnKeyShift()
// ENTRY: void
// RETURN: void
// FUNCTION:按键处理Shift
// MODIFY DATE : 2004.1.28
//--------------------------------------------------------
void OnKeyShift( void )
{
switch(ucMenuLayer)
{
case 1:
if( !password_ok )
return;
else
{
ucMenuPosition--;
if(ucMenuPosition==0) ucMenuPosition=8;
show_main_menu(ucMenuPosition);
}
break;
case 2:
switch(ucMenuPosition)
{
case 1:
qam_ch_position--;
if((qam_ch_position+1)==0) qam_ch_position=7;
show_qam_chanl(qam_ch_position+1);
break;
case 2: //temperature
ucCurserPosition++;
if(ucCurserPosition==5) ucCurserPosition=1;
show_TEMP_set(ucCurserPosition,temp_bk1,temp_bk2);
break;
case 3:
vol_ch_position--;
if(vol_ch_position+1==0)
vol_ch_position=3;
show_volt_set(vol_ch_position+1);
break;
case 5: //Ethernet
ucMenuCurrentPosition--;
if(ucMenuCurrentPosition==0)
ucMenuCurrentPosition=4;
show_net_submenu();
break;
case 6:
set_com();
break;
case 7: //clock
if(ucCurserPosition<6)
ucCurserPosition+=1;
else
ucCurserPosition=1;
show_time_set(ucCurserPosition,0);
break;
case 8: //password
password_set_think(key_in);
break;
default:
break;
}
break;
case 3: //muen layer
switch(ucMenuPosition)
{
case 1:
ucsubMenuCurrentPosition--;
if(ucsubMenuCurrentPosition==0) ucsubMenuCurrentPosition=3;
qam_ifmodsymb();
break;
case 4: //sound
set_sound();
break;
case 5: //net
ucCurserPosition++;
if(ucCurserPosition==13) ucCurserPosition=1;
switch(ucMenuCurrentPosition)
{
case 1:
show_net_currsor(net_gatway);
break;
case 2:
show_net_currsor(net_sub);
break;
case 3:
show_net_currsor(net_lip);
break;
case 4:
show_net_currsor(net_dip);
break;
default:
break;
}
break;
default:
break;
}
break;
case 4:
switch(ucMenuPosition)
{
case 1:
if(ucsubMenuCurrentPosition==3) selbit_symrat();
break;
default:
break;
}
break;
default: //mulayer
break;
}
}
//---------------------------------------------------------
// NAME: OnKeyEnter()
// ENTRY: void
// RETURN: void
// FUNCTION:按键处理Enter
// MODIFY DATE : 2004.1.28
//--------------------------------------------------------
void OnKeyEnter(void)
{
//if(serv_trl||temperature_alarm) return;
if(!power_on) return;
switch(ucMenuLayer)
{
case 0: //if want to set the configration ,input the password first
if( pass_sub(1) )
{
ucMenuLayer++;
ucMenuPosition=1;
}
break;
case 1: //sub menu
if(!password_ok ) return;
ucMenuLayer++;
ucMenuCurrentPosition=1;
switch(ucMenuPosition)
{
case 1: //qam
SHOW_LOGO(21);
qam_ch_position=0;
break;
case 2: //temperture 1
LCD_CLR();
SHOW_ALL_HEAD(0);
temperature_h[0]=read_eeprom(S1_TEMP_ADDR_H);
temperature_l[0]=read_eeprom(S1_TEMP_ADDR_L);
temp_bk1=temperature_h[0];
temp_bk2=temperature_l[0];
ucCurserPosition=1;
show_TEMP_set(ucCurserPosition,temp_bk1,temp_bk2);
break;
case 3: //voltage 1
show_volt_set(1);
break;
case 4: //sound switch
SHOW_LOGO(5);
break;
case 5: //net
SHOW_LOGO(24);
break;
case 6: //com
if(com_set==9600)
SHOW_LOGO(33);
else
SHOW_LOGO(35);
break;
case 7: //clock
LCD_CLR();
show_time_set(1,1);//时间设置界面
break;
case 8: //password
password_number=0;
LCD_CLR();
show_key_set(1);//密码设置界面
ucCurserPosition=1;
break;
default:
break;
}
break;
case 2:
ucMenuLayer++;
save_set_menu();
break;
case 3: //set sound (ON-OFF and music type select),qam symble rate,if,mod
switch(ucMenuPosition)
{
case 1:
ucMenuLayer++;
sel_ifmodsymb();
break;
case 4: //SOUND
show_set_sound(ucMenuCurrentPosition);
soundMenuPosition=1;
ucMenuLayer--;
break;
case 5:
ucMenuLayer--;
show_net_submenu();
net_save();
modify_net_config();
break;
default :
break;
}
break;
case 4:
switch(ucMenuPosition)
{
case 1:
save_qam_config();
ucMenuLayer--;
ucMenuLayer--;
//ucMenuLayer=3;
//qam_set=1;
//qam_ifmodsymb();
break;
default:
break;
}
break;
default :
break;
}
}
//---------------------------------------------------------
// NAME: OnKeyEsc()
// ENTRY: void
// RETURN: void
// FUNCTION:按键处理Esc
// MODIFY DATE : 2004.1.28
//--------------------------------------------------------
void OnKeyEsc(void)
{
bCurserOn = 0;
switch(ucMenuLayer)
{
//display the "RUNNING",return from the password check status
case 1:
if(password_ok )
{
SHOW_LOGO(28);
password_ok = 0;
ucMenuPosition = 1;
ucMenuLayer = 0;
read_time_date();
show_time();
}
break;
//display the "RUNNING",return from the main menu
case 2:
ucMenuLayer--;
exit_to_mainmeun();
break;
//goto the main menu or exit from the modify status
case 3:
ucMenuLayer = 2;
switch( ucMenuPosition )
{
//QAM
case 1:
show_qam_chanl(qam_ch_position+1);
break;
//sound
case 4:
show_set_sound(ucMenuCurrentPosition);
soundMenuPosition = 1;
//ucMenuLayer--;
break;
case 5:
show_net_submenu();
break;
default :
break;
}
ucsubMenuCurrentPosition = 1;
break;
case 4:
ucMenuLayer = 3;
qam_ifmodsymb();
break;
default:
break;
}
}
//---------------------------------------------------------
// NAME: server_power_on()
// ENTRY: void
// RETURN: void
// FUNCTION:服务器上电操作
// MODIFY DATE : 2004.1.28
//--------------------------------------------------------
void server_power_on(void)
{
DDRC |= 0x3C;
//turn on power of the scsi hard disk
PORTC &= ~0x10;
PORTC |= 0x04;
PORTC |= 0x10;
PORTC &= ~0x10;
PORTC |= 0X10;
delayms(3000);
//turn on power of the main server board
PORTC &= ~0x08;
PORTC |= 0x04;
PORTC |= 0x08;
PORTC &= ~0x08;
PORTC |= 0x08;
delayms(6000);
PORTC &= ~0x08;
PORTC &= ~0x04;
PORTC |= 0x08;
PORTC &= ~0x08;
PORTC |= 0x08;
power_on = 1;
powre_off_flg = 0;
delayms(5000);
T_1s = 0;
}
//---------------------------------------------------------
// NAME: server_power_off()
// ENTRY: void
// RETURN: void
// FUNCTION:服务器下电操作
// MODIFY DATE : 2004.1.28
//--------------------------------------------------------
void server_power_off(void)
{
spk_key(0x49);
spk_key(0x48);
spk_key(0x47);
spk_key(0x46);
spk_key(0x45);
spk_key(0x44);
spk_key(0x43);
spk_key(0x42);
spk_key(0x41);
DDRD = 0x00;
PORTD = 0x00;
DDRB = 0x00;
PORTB = 0x00;
sys_init=0;
//turn off power of the main server board
PORTC &= ~0x08;
PORTC |= 0x04;
PORTC |= 0x08;
PORTC &= ~0x08;
PORTC |= 0x08;
delayms(6000);
PORTC &= ~0x08;
PORTC &= ~0x04;
PORTC |= 0x08;
PORTC &= ~0x08;
PORTC |= 0x08;
delayms(20000);
//turn off power of the scsi hard disk
PORTC &= ~0x10;
PORTC &= ~0x04;
PORTC |= 0x10;
PORTC &= ~0x10;
PORTC |= 0x10;
restart = 1;
server_start = 0;
power_on = 0;
have_check = 0;
write_eeprom(0x0111, 0x00);
reset = 0;
serv_trl = 0;
power_off = 0;
SHOW_LOGO(34);
delayms(5000);
}
//---------------------------------------------------------
// NAME: server_control_power_off()
// ENTRY: void
// RETURN: void
// FUNCTION:手动操作服务器下电
// MODIFY DATE : 2004.1.28
//--------------------------------------------------------
void server_control_power_off(void)
{
unsigned char key_dat = 0;
if(!pass_sub(2))
return;
else
{
SHOW_LOGO(49);
to_power_off = 1;
while(1)
{
key_dat = key_scan();
if(key_dat == KEY_POWER)
break;
if(key_dat == KEY_ESC)
{
password_ok = 0;
to_power_off = 0;
return;
}
}
SHOW_LOGO(31);
ucMenuLayer = 0;
password_ok = 0;
}
delayms(3000);
SHOW_LOGO(57);
delayms(3000);
SHOW_LOGO(58);
delayms(3000);
SHOW_LOGO(59);
delayms(3000);
server_power_off();
}
//---------------------------------------------------------
// NAME: OnKeyPower()
// ENTRY: void
// RETURN: void
// FUNCTION:按键处理Power
// MODIFY DATE : 2004.1.28
//--------------------------------------------------------
void OnKeyPower(void)
{
DDRC = 0xfd;
PORTC |= 0x20;
delayus(5);
if(!power_on)
server_power_on();
if(power_on && (!ucMenuLayer) && power_off)
server_control_power_off();
}
//---------------------------------------------------------
// NAME: rst_pc()
// ENTRY: void
// RETURN: void
// FUNCTION:复位服务器操作
// MODIFY DATE : 2004.1.28
//--------------------------------------------------------
void rst_pc(void)
{
DDRC |= 0x3c;
PORTC &= ~0x20;
PORTC |= 0x04;
PORTC |= 0x20;
PORTC &= ~0x20;
PORTC |= 0x20;
delayms(2000);
PORTC &= ~0x20;
PORTC &= ~0x04;
PORTC |= 0x20;
PORTC &= ~0x20;
PORTC |= 0x20;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -