📄 tft.c
字号:
break;#endif#ifdef SUPPORT_BATTERY_DETECTION case KEY_DISPLAY: if (__bBatterty_POWER) { __bBatterty_POWER = 0; } else { __bBatterty_POWER = 1; } bKey=KEY_NO_KEY; break; #endif#if 0 case KEY_TFT43: #ifdef SUPPORT_TFT_43_KEY { extern void Set_Display_Type_Key_Tft(void); Set_Display_Type_Key_Tft(); } #endif bKey=KEY_NO_KEY; break;#endif case KEY_TEST3: if(__TFTStatusInfo.bTvType==TFT_TVTYPE_STATUS_NORMAL) { __TFTStatusInfo.bTvType=TFT_TVTYPE_STATUS_43LB; } else { __TFTStatusInfo.bTvType=TFT_TVTYPE_STATUS_NORMAL; } TFT_Adjust_TvType(__TFTStatusInfo.bTvType); bKey=KEY_NO_KEY; break; case KEY_NO_KEY: bKey=KEY_NO_KEY; break; default: bKey = KEY_BYPASS; break; } return bKey;}#ifdef SUPPORT_BATTERY_DETECTION//*******************************************************************************//--------------------------------------------------------------------------// Function : TFT_HW_Detect_LowBattery// Description : hardware detect battery low or high// return :TRUE:low battery, FALSE:high battery//--------------------------------------------------------------------------BIT TFT_HW_Detect_LowBattery(void){ __bBatterty_POWER = Vipor_BATTERY_State(); if (__bBatterty_POWER > 0x4E) return FALSE; else return TRUE;}//*******************************************************************************//--------------------------------------------------------------------------// Function : TFT_BatteryAction// Description :do action when battery is low// return ://--------------------------------------------------------------------------void TFT_BatteryAction(void){ if(TFT_HW_Detect_LowBattery()) __TFTStatusInfo.bBattery =TFT_BATTERY_STATUS_LOW; else { __TFTStatusInfo.bBattery=TFT_BATTERY_STATUS_HIGH; __TFTStatusInfo.bBatteryPowerDown=TFT_BATTERY_STATUS_HIGH; } if(__TFTStatusInfo.bBattery==TFT_BATTERY_STATUS_LOW) { if(__TFTOSDStatusInfo.bBattery==TFT_OSD_BATTERY_OFF) { __TFTOSDStatusInfo.bBattery=TFT_OSD_BATTERY_ON; TFTOSD_ShowBattery(TRUE); __dwTtfLowBattTime=__dwCountSystem+COUNT_10_SEC*18; // 3min } else { if(__dwCountSystem>__dwTtfLowBattTime) // 3min { TFT_BackLight(FALSE); __TFTStatusInfo.bBatteryPowerDown=TFT_BATTERY_STATUS_LOW; __dwTtfLowBattTime=0xffffffff; if((__TFTStatusInfo.bAv==TFT_AV_STATUS_DVD)&&(!__btPowerDown)) __bFWKey=KEY_POWER; } } } else { if(__TFTOSDStatusInfo.bBattery==TFT_OSD_BATTERY_ON) { __TFTOSDStatusInfo.bBattery=TFT_OSD_BATTERY_OFF; TFTOSD_ShowBattery(FALSE); if((__TFTStatusInfo.bAv==TFT_AV_STATUS_DVD)&&__btPowerDown) { __bFWKey=KEY_POWER; } else TFT_BackLight(TRUE); } }}#endif // #ifdef SUPPORT_BATTERY_DETECTION//*******************************************************************************//--------------------------------------------------------------------------// Function : TFT_PowerDown(BIT flag) // Description : Turn off the power of TFT_LCD // return ://--------------------------------------------------------------------------void TFT_PowerDown(BIT flag){ //Vipor_SetBlackLight_OFF(); if (flag) {#ifdef TFT_SUPPORT_AVIN TFTOSD_ShowAvStatus(TRUE);#endif //TFT_SUPPORT_AVIN Vipor_SetPowerDown(); } else {#ifdef TFT_SUPPORT_AVIN if (_btAVIN) TFTOSD_ShowAvStatus(TRUE);#endif //TFT_SUPPORT_AVIN Vipor_SetPowerON(); } }//*******************************************************************************//--------------------------------------------------------------------------// Function : TFT_Trigger// Description : trigger tft status// return ://--------------------------------------------------------------------------#ifdef Light_detect#define ADCGLB (*(volatile int *)(0x8000407C))#endifvoid TFT_Trigger(void){#ifdef Light_detectBYTE RDATA0,RDATA1;DWORD wADCTemp; #endif#ifdef TFT_SHOW_TIME TFT_Show_Time(); #endif#ifdef SUPPORT_BATTERY_DETECTION TFT_BatteryAction();#endif#ifdef Light_detectADCGLB = 0x00F40000;for (RDATA0=0xF8;RDATA0<0xFE;RDATA0++);wADCTemp = ADCGLB;RDATA0 = (BYTE) (wADCTemp >>24);printf("KEY_DATA0 = %hx",RDATA0);if ((RDATA0-RDATA1)>3||(RDATA1-RDATA0)>3){ RDATA1 = RDATA0;if ( RDATA0 > 0x20) Vipor_SC_Write_Byte(0xDE,0x98); elseif ( RDATA0 > 0x1A) Vipor_SC_Write_Byte(0xDE,0x58);elseif ( RDATA0 > 0x13) Vipor_SC_Write_Byte(0xDE,0x28);elseif ( RDATA0 > 0x0A) Vipor_SC_Write_Byte(0xDE,0x08);else Vipor_SC_Write_Byte(0xDE,0x00); // TFT_BackLight(0);}#endif#ifdef SUPPORT_AV_IN // Wing2.32, support AV-IN if (( _btAVIN ) && (__TFTStatusInfo.bAv != TFT_AV_STATUS_AV)) { __TFTStatusInfo.bReSetInputSource = TRUE; __TFTStatusInfo.bAv = TFT_AV_STATUS_AV; } if (( !_btAVIN ) && (__TFTStatusInfo.bAv != TFT_AV_STATUS_DVD)) { __TFTStatusInfo.bReSetInputSource = TRUE; __TFTStatusInfo.bAv = TFT_AV_STATUS_DVD; }#endif TFT_AdjustInputSource(); if(__TFTStatusInfo.bAv==TFT_AV_STATUS_AV) { TFT_AutoLockSignal(); } TFTSetup_Trigger();#ifdef MUSTEK_PF_A700_OLD #ifndef SUPPORT_6X4 { extern BYTE __bMMMenuID, __bThumbnailMode; extern IMAGE_FRAME_SETUPINFO __ImageFrameSetupInfo; if(__ImageFrameSetupInfo.bDisplayType == SETUP_DISPLAY_TYPE_4_3) //if(__SetupInfo.bAspectRatio == SETUP_SCREEN_TV_TYPE_LB) { if((__bAttrPlay==ATTR_JPG) && (__bMMMenuID==0) && !__bThumbnailMode) // MM_MENU_NONE = 0 { if(__TFTStatusInfo.bTvType != TFT_TVTYPE_STATUS_43LB) { __TFTStatusInfo.bTvType=TFT_TVTYPE_STATUS_43LB; TFT_Adjust_TvType(__TFTStatusInfo.bTvType); } } else { if(__TFTStatusInfo.bTvType != TFT_TVTYPE_STATUS_NORMAL) { __TFTStatusInfo.bTvType=TFT_TVTYPE_STATUS_NORMAL; TFT_Adjust_TvType(__TFTStatusInfo.bTvType); } } } } #endif#endif}#ifdef SUPPORT_TFT_PANEL_DETECT//*******************************************************************************//--------------------------------------------------------------------------// Function : PANEL_Detect_AV_Status// Description : detect av switch. called by PANEL_KEYSCAN// return ://--------------------------------------------------------------------------BYTE __bTft_AV_Count=0;BYTE PANEL_Detect_AV_Status(void){#ifdef SUPPORT_BATTERY_DETECTION if(__TFTStatusInfo.bBattery == TFT_BATTERY_STATUS_LOW) { return KEY_INVALID; }#endif if (__TFTStatusInfo.bAvPin != _TFT_ReadAvPIN()) { TFT_BackLight(0); __dwTft_BackLight_Timer = 0xffffffff; __TFTStatusInfo.bAvPin = _TFT_ReadAvPIN(); __TFTStatusInfo.bAvChaned =TRUE; __bTft_AV_Count=0; } else { if(__TFTStatusInfo.bAvChaned==TRUE) { __bTft_AV_Count++; if(__bTft_AV_Count==20) { __TFTStatusInfo.bAvChaned=FALSE; if(__TFTStatusInfo.bAv!=__TFTStatusInfo.bAvPin) { __TFTStatusInfo.bAv=__TFTStatusInfo.bAvPin; __TFTStatusInfo.bReSetInputSource=1; if((!__btPowerDown)&&(__TFTStatusInfo.bAv==TFT_AV_STATUS_AV)) { return KEY_POWER; } else if((__btPowerDown)&&(__TFTStatusInfo.bAv==TFT_AV_STATUS_DVD)) { return KEY_POWER; } } else { __TFTStatusInfo.bReSetInputSource=1; if(__TFTStatusInfo.bAv==TFT_AV_STATUS_AV) { //VPSC_WriteByte(VPSC_OUTCTR1, 0x30); //VPSC_WriteByte(0xBA, 0x65); // KWD@2005/10/19 //VPSCResetLB(); } } } } }#ifdef SUPPORT_SERVO_SOURCE //++CoCo2.37p if(__btPowerDown) { if(!SERVO_CheckTrayStatus()&&(__bFlowState&FLOW_KEEP_RESUME)) { __bFlowState &= ~FLOW_KEEP_RESUME; } }#endif //#ifdef SUPPORT_SERVO_SOURCE //++CoCo2.37p if(__dwTft_BackLight_Timer<__dwCountSystem) { __dwTft_BackLight_Timer=0xffffffff; TFT_BackLight(1); } return KEY_NO_KEY;}#endif#ifdef CT951_PLATFORMvoid _TFT_Init_I2C(){ I2C_Config.bIOGroup=GPIO_A; I2C_Config.bSDAT_Pin=PIN_SDAT; I2C_Config.bSCLK_Pin=PIN_SCLK;}#endifBYTE _TFT_ReadAvPIN(void){ return _sbAVInSW;}#ifdef TFT_SHOW_TIMEvoid TFT_Show_Time(void){ RTC_TM RTCTime; BYTE show_string[14]; RTC_GetTime(&RTCTime); //printf(" %hx / %hx %hx:%hx \n",RTCTime.bMon,RTCTime.bDate,RTCTime.bHr,RTCTime.bMin); show_string [0] = ((RTCTime.bMon)/10)+1; show_string [1] = (RTCTime.bMon-((show_string [0]-1)*10))+1; show_string [2] = _VIPOR_MINUS; show_string [3] = ((RTCTime.bDate)/10)+1; show_string [4] = (RTCTime.bDate-((show_string [3]-1)*10))+1; show_string [5] = _VIPOR__; show_string [6] = ((RTCTime.bHr)/10)+1; show_string [7] = (RTCTime.bHr-((show_string [6]-1)*10))+1; show_string [8] = _VIPOR_COLON; show_string [9] = ((RTCTime.bMin)/10)+1; show_string [10] = (RTCTime.bMin-((show_string [9]-1)*10))+1; show_string [11] = _VIPOR_COLON; show_string [12] = ((RTCTime.bSec)/10)+1; show_string [13] = (RTCTime.bSec-((show_string [12]-1)*10))+1; show_string [14] = _VIPOR_EOF; Vipor_PrintString_ALL(13,12,VIPOR_OSD_MAGENTA,(BYTE*) &show_string); } #endif #elseBYTE code aReserve;#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -