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

📄 t_imia1.c

📁 M3355的源代码
💻 C
📖 第 1 页 / 共 2 页
字号:
        			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 + -