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

📄 tft.c

📁 ct952 source code use for Digital Frame Photo
💻 C
📖 第 1 页 / 共 3 页
字号:
            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 + -