?? process.c
字號:
case KEYVOLINC: //UP
KeyVolInc_Process();
break;
case KEYVOLDEC://DOWN
KeyVolDec_Process();
break;
case KEYPREV: //LEFT
KeyPrev_Process();
break;
case KEYNEXT: //RIGHT
KeyNext_Process();
break;
default:break;
}
}
else
SendDataToBus(CMD_KEY,KeyPrevious,KeyLongFlagVal);//SendKeyToBus();
if(KeyPrevious==KEYPOWER)
KeyPrevious=NOKEY;
}
void Remo_Process(void)
{
Send_Char(RedCmd);
if(!ConnectVal)//if not connect mainboard
{
if((RedCmd!=REMOPOWER)&&(!PowVal))//如果沒有開機,按下的不是power則返回
return;
switch(RedCmd)
{
case REMOPOWER:
KeyPower_Process();
break;
case REMOSET:
KeySet_Process();
break;
case REMOUP: //UP
KeyVolInc_Process();
break;
case REMODOWN://DOWN
KeyVolDec_Process();
break;
case REMOLEFT: //LEFT
KeyPrev_Process();
break;
case REMORIGHT: //RIGHT
KeyNext_Process();
break;
default:break;
}
}
else
SendDataToBus(CMD_REMO,RedCmd,RedLong);//SendKeyToBus();
}
void ConnectCheck(void)
{
IEBus_TBroadcast=0x00;
IEBus_THAddr=0x1FF>>4;
IEBus_TLAddr=(uchar)(0x1FF<<4);
IEBus_TLength=2;
IEBus_TData0=CMD_INIT;//Cmd_KEY
IEBus_TData1=0x00;//KEY
IEBus_SendData(IEBus_TxBuf);
}
void Clock_Set(uchar data)
{
uchar c1,c2;
c1=data&0xF0;
c2=data&0x0F;
String_Attrib_Set(STATUSROW,23,6,YELLOW);
String_Attrib_Set(STATUSROW+1,20,9,YELLOW);
if(c1==0)
{
RTC_SetTime((SetHour/10*16)+SetHour%10,(SetMinute/10*16)+SetMinute%10);
RTC_SetDat((SetYear/10*16)+SetYear%10,(SetMonth/10*16)+SetMonth%10,(SetData/10*16)+SetData%10);
INT1_Enable;
return;
}
INT1_Disable;
switch(c1)
{
case 0x10:
if(c2==1)
{ SetMinute++;
if(SetMinute>59)
SetMinute=0;
}
else if(c2==2)
{
if(SetMinute==0)
SetMinute=59;
else
SetMinute--;
}
Time_Disp((SetHour/10*16)+SetHour%10,(SetMinute/10*16)+SetMinute%10);
String_Attrib_Set(STATUSROW,27,2,YELLOW+0x08);
break;
case 0x20:
if(c2==1)
{ SetHour++;
if(SetHour>23)
SetHour=0;
}
else if(c2==2)
{
if(SetHour==0)
SetHour=23;
else
SetHour--;
}
Time_Disp((SetHour/10*16)+SetHour%10,(SetMinute/10*16)+SetMinute%10);
String_Attrib_Set(STATUSROW,24,2,YELLOW+0x08);
break;
case 0x30:
if(c2==1)
{ SetData++;
if(SetData>31)
SetData=1;
}
else if(c2==2)
{
if(SetData==1)
SetData=31;
else
SetData--;
}
Data_Disp((SetYear/10*16)+SetYear%10,(SetMonth/10*16)+SetMonth%10,(SetData/10*16)+SetData%10);
String_Attrib_Set(STATUSROW+1,27,2,YELLOW+0x08);
break;
case 0x40:
if(c2==1)
{ SetMonth++;
if(SetMonth>12)
SetMonth=1;
}
else if(c2==2)
{
if(SetMonth==1)
SetMonth=12;
else
SetMonth--;
}
Data_Disp((SetYear/10*16)+SetYear%10,(SetMonth/10*16)+SetMonth%10,(SetData/10*16)+SetData%10);
String_Attrib_Set(STATUSROW+1,24,2,YELLOW+0x08);
break;
case 0x50:
if(c2==1)
{ SetYear++;
if(SetYear>99)
SetYear=0;
}
else if(c2==2)
{
if(SetYear==0)
SetYear=99;
else
SetYear--;
}
Data_Disp((SetYear/10*16)+SetYear%10,(SetMonth/10*16)+SetMonth%10,(SetData/10*16)+SetData%10);
String_Attrib_Set(STATUSROW+1,21,2,YELLOW+0x08);
break;
}
}
void Cmd_Process(void)
{
uint address;
uchar i;
address=(IEBus_RxBuf[0]<<4)+(IEBus_RxBuf[1]>>4);
if(address==IEBus_MASTERADDR)//Masterboard
{
if(IEBus_RxBuf[3]==0xA0)
{}
else if((IEBus_RxBuf[3]!=0xA1)&&(IEBus_RxBuf[4]!=0x01)&&(!PowVal))//如果沒有開機,按下的不是power則返回
return;
switch(IEBus_RxBuf[3])
{
case CMD_INITSET:
switch(IEBus_RxBuf[4])
{
case 0:
if(!ConnectVal)
ConnectCheck();
else
SendDataToBus(CMD_CONNECTREQ,StatusFlag&0x80,0x00);
break;
case 1://Video
for(i=0;i<VIDEOMENU_NUM;i++)
VideoMenu[i]=IEBus_RxBuf[i+5];
break;
case 2:
for(i=0;i<SOUNDMENU_NUM;i++)
SoundMenu[i]=IEBus_RxBuf[i+5];
break;
case 3:
UsrMenu=IEBus_RxBuf[5];
ConnectOk;//當全部的初始值傳遞之后才表示連接,否則表示連接失敗
break;
case 4:
case 5:
case 6:
for(i=0;i<8;i++)
FreqTab[IEBus_RxBuf[4]-4][i]=IEBus_RxBuf[i+5];
break;
}
break;
case CMD_SYSTEMSET://system setting
switch(IEBus_RxBuf[4])
{
case 0: if(IEBus_RxBuf[5]==0x01)
{ SysOn_Init(); PowOn; }
else
{ SysOff_Init(); PowOff;}
break;
case 1: SourceMode=IEBus_RxBuf[5]; Signal_Disp();break;
case 2: SoundVolume=IEBus_RxBuf[5];Volume_Disp();break;
case 3: Windows_Close();break;
case 4:
if(IEBus_RxBuf[5]==0x01)
Ch_Disp(1);
else
Ch_Disp(0);
break;
case 5: break;
case 6: UsrMenu=IEBus_RxBuf[5];
break;
case 7: Clock_Set(IEBus_RxBuf[5]);
break;
}
break;
case CMD_SOUNDSET://Sound setting
switch(IEBus_RxBuf[4])
{
case 0:
if(IEBus_RxBuf[5])
SoundSet_Windows();
else
Windows_Close();
break;
case 1:
case 2:
case 3:
case 4: SoundMenuCnt=IEBus_RxBuf[4]-1;
SoundMenu[SoundMenuCnt]=IEBus_RxBuf[5];
Sounddata_Updata();
break;
default:break;
}
break;
case CMD_VIDEOSET://video setting
switch(IEBus_RxBuf[4])
{
case 0:
if(IEBus_RxBuf[5])
{
VideoSet_Windows();
//WindowDispFlag=VIDEO_WINDOW;
}
else
{
Windows_Close();
//WindowDispFlag=NO_WINDOW;
}
break;
case 1:
case 2:
case 3:
case 4:
case 5:
VideoMenuCnt=IEBus_RxBuf[4]-1;
VideoMenu[VideoMenuCnt]=IEBus_RxBuf[5];
Videodata_Updata();
Ctr_Process();
break;
default:break;
}
break;
case CMD_RADIOSET://radio setting
RadioBand=IEBus_RxBuf[4];
RadioFreCH=IEBus_RxBuf[5];
RadioFreq=IEBus_RxBuf[6];
Radiodata_Updata();
break;
case CMD_DVDSET:
DvdData_Updata(IEBus_RxBuf[4],IEBus_RxBuf[5],
IEBus_RxBuf[6],IEBus_RxBuf[7],IEBus_RxBuf[8]);
break;
case CMD_USRSET://USE SETTING
switch(IEBus_RxBuf[4])
{
case 0:
if(IEBus_RxBuf[5])
{
UsrSet_Windows();
//WindowDispFlag=USR_WINDOW;
}
else
{
Windows_Close();
//WindowDispFlag=NO_WINDOW;
}
break;
case 1:
UsrMenuCnt=IEBus_RxBuf[4]-1;
if((IEBus_RxBuf[5]&0x01)==0x01)
UsrMenu|=0x01;
else
UsrMenu&=0xFE;
Usrdata_Updata();
break;
case 2:
UsrMenuCnt=IEBus_RxBuf[4]-1;
if((IEBus_RxBuf[5]&0x02)==0x02)
UsrMenu|=0x02;
else
UsrMenu&=0xFD;
Usrdata_Updata();
break;
case 3:
UsrMenuCnt=IEBus_RxBuf[4]-1;
if((IEBus_RxBuf[5]&0x04)==0x04)
UsrMenu|=0x04;
else
UsrMenu&=0xFB;
Usrdata_Updata();
break;
case 4:
UsrMenuCnt=IEBus_RxBuf[4]-1;
if((IEBus_RxBuf[5]&0x08)==0x08)
UsrMenu|=0x08;
else
UsrMenu&=0xF7;
Usrdata_Updata();
break;
}
break;
case 0xA7:
break;
case 0xA8:
break;
default:
break;
}
}
else if(address==IEBus_DVCADDR)//DVC 方式
{
if((SourceMode!=SourceDvc)||(!PowVal))
return;
switch(IEBus_RxBuf[3])
{
case Dvc_Func_Time://Disp Play Time
DvcData_Updata(IEBus_RxBuf[4],IEBus_RxBuf[5],
IEBus_RxBuf[6],IEBus_RxBuf[7],
IEBus_RxBuf[8],IEBus_RxBuf[9]);
break;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -