📄 t_imia1.c
字号:
frontReceiveDdata[2],
frontReceiveDdata[3],
frontReceiveDdata[4],
frontReceiveDdata[5],
frontReceiveDdata[6],
frontReceiveDdata[7],
frontReceiveDdata[8],
frontReceiveDdata[9],
frontReceiveDdata[10],
checkSum);
//*/
//communication is error or success?
if(checkSum)
return;
/*
if(frontReceiveDdata[2]!=0xff)
IPRINTF("Front read:%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x c/s:%02x \n",
frontReceiveDdata[0],
frontReceiveDdata[1],
frontReceiveDdata[2],
frontReceiveDdata[3],
frontReceiveDdata[4],
frontReceiveDdata[5],
frontReceiveDdata[6],
frontReceiveDdata[7],
frontReceiveDdata[8],
//frontReceiveDdata[9],
//frontReceiveDdata[10],
checkSum);
return;
// */
//**** front_interface_receive(11) end ****//
//deal irkey
switch(IRState)
{
case UP_STATE:
/*#if (_IR==KENWOOD_IR) //4204s01d*** replaced
if (((tbl_bit_swap[frontReceiveDdata[6]] != IR_Custom_Code1) || (tbl_bit_swap[frontReceiveDdata[7]] != IR_Custom_Code2))&&
((tbl_bit_swap[frontReceiveDdata[6]] != MPIR_Custom_Code1) || (tbl_bit_swap[frontReceiveDdata[7]] != MPIR_Custom_Code2)))
#else
if(tbl_bit_swap[frontReceiveDdata[6]]!=IR_Custom_Code1 || tbl_bit_swap[frontReceiveDdata[7]]!=IR_Custom_Code2)
#endif
{
GET_IR_CODE = 0xFE;
break;
}*/ //4204s01d&&&
#if (_IR==KENWOOD_IR)
if ((tbl_bit_swap[frontReceiveDdata[6]] == MPIR_Custom_Code1) && (tbl_bit_swap[frontReceiveDdata[7]] == MPIR_Custom_Code2))
{
if ( (tbl_bit_swap[frontReceiveDdata[8]] != 0x51) && (tbl_bit_swap[frontReceiveDdata[8]] != 0x52) )
break;
}
#endif
if(IsWheeled)
{
if(GET_IR_CODE==0xFE)
{
GET_IR_CODE=C_KEY_WHEEL_ESC;
//IPRINTF("wheel -> UP\n");
IsWheeled=0;
}
}
if( frontReceiveDdata[8]!=0xff)
{
//IPRINTF("have irkey\n");
IRState=DEBOUNCE_STATE;
IRLastKey=0xFF;
IRKeyClock=0;
if(KeyTable[tbl_bit_swap[frontReceiveDdata[8]]]==C_KEY_STEP)
{
IRKeyRPTCount=279;
}
//30826_03 Sean for speedup smooth Zoom and Screenfit
else if (bZoomCount!=0 && g_UiCrntSubFunc ==2 )
{
if (bZoomCount<3)
IRKeyRPTCount=9;
else
IRKeyRPTCount=15;//31004_02 Sean for screenFit AV smooth, change from 15->5
}
else
IRKeyRPTCount=25;
//30826_03 Sean for speedup smooth Zoom and Screenfit
// IROldKey=frontReceiveDdata[8];
}
break;
case DEBOUNCE_STATE:
#if (_IR==KENWOOD_IR) //4204s01d*** replaced
if (((tbl_bit_swap[frontReceiveDdata[6]] != IR_Custom_Code1) || (tbl_bit_swap[frontReceiveDdata[7]] != IR_Custom_Code2))&&
((tbl_bit_swap[frontReceiveDdata[6]] != MPIR_Custom_Code1) || (tbl_bit_swap[frontReceiveDdata[7]] != MPIR_Custom_Code2)))
#else
if(tbl_bit_swap[frontReceiveDdata[6]]!=IR_Custom_Code1 || tbl_bit_swap[frontReceiveDdata[7]]!=IR_Custom_Code2)
#endif
{
GET_IR_CODE = 0xFE;
IRState=UP_STATE;
}
else //4204s01d&&&
if( frontReceiveDdata[8]!=0xff)
{
#if (_IR==KENWOOD_IR)
if ((tbl_bit_swap[frontReceiveDdata[6]] == MPIR_Custom_Code1) && (tbl_bit_swap[frontReceiveDdata[7]] == MPIR_Custom_Code2))
{
if ( (tbl_bit_swap[frontReceiveDdata[8]] != 0x51) && (tbl_bit_swap[frontReceiveDdata[8]] != 0x52) )
break;
}
#endif
if(GET_IR_CODE==0xFE)
{
if(IRLastKey!=tbl_bit_swap[frontReceiveDdata[8]])
{
#if (_IR==ALi_55_LG_IR)
//if (((tbl_bit_swap[frontReceiveDdata[6]] == IR_Custom_Code1) && (tbl_bit_swap[frontReceiveDdata[7]] == IR_Custom_Code2)))
//{ //4204s01d marked
if(frontReceiveDdata[8]==0xFB)
GET_IR_CODE=C_KEY_LGMP1;
else if(frontReceiveDdata[8]==0x07)
GET_IR_CODE=C_KEY_LGMP2;
else if(tbl_bit_swap[frontReceiveDdata[8]]>0x90 && tbl_bit_swap[frontReceiveDdata[8]]<0xa0)
{
GET_IR_CODE=C_KEY_WHEEL_REV8+tbl_bit_swap[frontReceiveDdata[8]]-0x91;
IsWheeled=1;
}
else
GET_IR_CODE=KeyTable[tbl_bit_swap[frontReceiveDdata[8]]];
//}
//else
// GET_IR_CODE = 0xFE; //4204s01d marked
#elif (_IR==KENWOOD_IR)
//if (((tbl_bit_swap[frontReceiveDdata[6]] == IR_Custom_Code1) && (tbl_bit_swap[frontReceiveDdata[7]] == IR_Custom_Code2))||
// ((tbl_bit_swap[frontReceiveDdata[6]] == MPIR_Custom_Code1) && (tbl_bit_swap[frontReceiveDdata[7]] == MPIR_Custom_Code2))) //4204s01d marked
GET_IR_CODE=KeyTable[tbl_bit_swap[frontReceiveDdata[8]]];
//else
// GET_IR_CODE = 0xFE; //4204s01d marked
#endif
IRLastKey=tbl_bit_swap[frontReceiveDdata[8]];
//IPRINTF("%02xh\n",tbl_bit_swap[frontReceiveDdata[8]]);
//IPRINTF("GET_IR_CODE=%02xh\n",GET_IR_CODE);
// if(frontReceiveDdata[8]==0xff)
//IPRINTF("%02x,%02x,%d\n",frontReceiveDdata[8],frontReceiveDdata[9],GET_IR_CODE);
// IPRINTF("*********is oxff*********\n");
//*/
}
}
//IRKeyClock=IRKeyClock+SCANTIME;
IRState=RPT_STATE;
}
else
{
IRState=UP_STATE;
}
break;
case RPT_STATE:
/*#if (_IR==KENWOOD_IR) //4204s01d*** replaced
if (((tbl_bit_swap[frontReceiveDdata[6]] != IR_Custom_Code1) || (tbl_bit_swap[frontReceiveDdata[7]] != IR_Custom_Code2))&&
((tbl_bit_swap[frontReceiveDdata[6]] != MPIR_Custom_Code1) || (tbl_bit_swap[frontReceiveDdata[7]] != MPIR_Custom_Code2)))
#else
if(tbl_bit_swap[frontReceiveDdata[6]]!=IR_Custom_Code1 || tbl_bit_swap[frontReceiveDdata[7]]!=IR_Custom_Code2)
#endif
{
GET_IR_CODE = 0xFE;
IRState=UP_STATE;
}
else*/ //4204s01d&&&
if( tbl_bit_swap[frontReceiveDdata[8]]==IRLastKey)
// frontReceiveDdata[8]!=0xff)
{
#if (_IR==KENWOOD_IR)
if ((tbl_bit_swap[frontReceiveDdata[6]] == MPIR_Custom_Code1) && (tbl_bit_swap[frontReceiveDdata[7]] == MPIR_Custom_Code2))
{
if ( (tbl_bit_swap[frontReceiveDdata[8]] != 0x51) && (tbl_bit_swap[frontReceiveDdata[8]] != 0x52) )
break;
}
#endif
//IRKeyClock=IRKeyClock+SCANTIME;
IRKeyRPTCount--;
if(!IRKeyRPTCount)
{
if(GET_IR_CODE==0xFE)
{
if(KeyTable[IRLastKey]==C_KEY_UP || KeyTable[IRLastKey]==C_KEY_DOWN \
|| KeyTable[IRLastKey]==C_KEY_LEFT || KeyTable[IRLastKey]==C_KEY_RIGHT \
|| KeyTable[IRLastKey]==C_KEY_STEP)
{
if(KeyTable[IRLastKey]==C_KEY_STEP&&!VfdGroupIsOpen(3))//bond add for lg bug 2774
;
else
GET_IR_CODE=KeyTable[IRLastKey];
}
}
if(KeyTable[IRLastKey]==C_KEY_STEP)
{
IRKeyRPTCount=279;
IRKeyClock=0;
}
//30826_03 Sean for speedup smooth Zoom and Screenfit
else if (bZoomCount!=0 && g_UiCrntSubFunc ==2 )
{
if (bZoomCount<3)
IRKeyRPTCount=9;
else
IRKeyRPTCount=15;//31004_02 Sean for screenFit AV smooth, change from 15->5
}
else
IRKeyRPTCount=25;
//30826_03 Sean for speedup smooth Zoom and Screenfit
}
}
else
{
IRState=UP_STATE;
}
break;
default:
IRState=UP_STATE;
break;
}
//deal front panel key
switch(PKState)
{
case UP_STATE:
if(frontReceiveDdata[2]!=0xFF)
{
PKState=DEBOUNCE_STATE;
PKLastKey=0xFE;
PKKeyClock=0;
if(frontReceiveDdata[2]==7)//c_key_pause
{
PKKeyRPTCount=279;
}
else
PKKeyRPTCount=30;
}
break;
case DEBOUNCE_STATE:
if(frontReceiveDdata[2]!=0xFF)
{
if(GET_PK_CODE==0xFF)
{
//IPRINTF("Ddata[2]=%d\n",frontReceiveDdata[2]);
switch(frontReceiveDdata[2])
{
case 1:
TempKey=C_KEY_OPEN;
break;
case 2:
TempKey=C_KEY_PLAY;
break;
case 3:
TempKey=C_KEY_STOP;
break;
case 4:
TempKey=C_KEY_SKIP_L;
break;
case 5:
TempKey=C_KEY_SKIP_R;
break;
case 7:
TempKey=C_KEY_PAUSE;
break;
case 0://power
TempKey=C_KEY_POWER;//0xff for test
break;
default:
TempKey=0xFF;
break;
}
//if(TempKey!=PKLastKey)
GET_PK_CODE=TempKey;
PKLastKey=frontReceiveDdata[2];
}
PKState=RPT_STATE;
}
else
PKState=UP_STATE;
break;
case RPT_STATE:
FPtempKey = frontReceiveDdata[2];
if(PKLastKey==frontReceiveDdata[2])
{
PKKeyRPTCount--;
if(!PKKeyRPTCount)
{
if(GET_PK_CODE==0xFF)
{
if(PKLastKey==7&&VfdGroupIsOpen(3))//bond add for lg bug 2774 031117
{
GET_PK_CODE=C_KEY_PAUSE;
}
if(PKLastKey==7)//c_key_pause
{
PKKeyRPTCount=279;
PKKeyClock=0;
}
else
PKKeyRPTCount=30;
}
}
}
else
{
PKState=DEBOUNCE_STATE;
}
break;
default:
PKState=UP_STATE;
break;
}
//*/
}
//#endif
#else
g_dwAPClock ++;
TimerTick++;
#endif
}
// Get 1ms timer tick
unsigned long GetTimerTick()
{
return TimerTick;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -