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

📄 upg.c

📁 MTK portableDVD 采用mtk1389方案的代码
💻 C
字号:
/**********************************************************************/
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/***************  $Modtime:: 03/10/27 10:19a   $       ****************/
/***************  $Revision: 2.0 $       ****************/
/***************                                       ****************/
/***************   Description : Setup ADSP            ****************/
/***************                 relative routine      ****************/
/***************                                       ****************/
/***************       Company : MediaTek Inc.         ****************/
/***************    Programmer : Peter Huang           ****************/
/**********************************************************************/

#include "general.h"

#pragma NOAREGS
  #ifdef TEST_UPG_SHOW
  extern BOOL fgIsInUpg;
  #endif

//#define UPG_DEBUG
#ifdef UPG_DEBUG
extern void DRS232LogS(char *pcStr);
extern void DRS232LogB(BYTE bV1, BYTE bV2, BYTE bV3, BYTE bV4);
extern xdata DWRD _dCreatedWB;
#endif

#ifdef DISC_UPDATE_CODE


// *********************************************************************
// Function : void vUpgInit(BYTE fgInit)
// Description :
// Parameter :
// Return    : None
// *********************************************************************
void vUpgInit(BYTE fgInit) large
{
  /* chnage OSD mode to user mode */
  vOsdShowWb(OSD_WB_USER);

#ifdef BBK_NEW_INDICATOR
  vDeleteWB(WB_NORMAL_INITMSG);
#endif

  vCreateWB(WB_UPG, TRUE);
  vSetWBTcColor(WB_UPG);
  vEnableWB(WB_UPG);
  vDrawBorderWB(WB_UPG, 0);
  vSetMsgCol4(WB_UPG, 0, 0, 0, 3);

  vOsdPosPaste(OSD_POS_UPG_HEAD, OSD_MSG_UPG_DET);
  vOsdPosPaste(OSD_POS_UPG_DES, OSD_MSG_UPGRADE);
  vOsdPosPaste(OSD_POS_UPG_PLAY, OSD_MSG_PLAY_KEY_START);
}

// *********************************************************************
// Function : BOOL fgUpgState(void)
// Description :
// Parameter :
// Return    : None
// *********************************************************************
BOOL fgUpgState(void) large
{
  switch(_bIRKey)
  {
    case IR_ENTER:
    case IR_PLAY:
    case IR_PLAY_ENTER:
    case IR_PLAY_PAUSE:
      vOsdPosPaste(OSD_POS_UPG_RES, OSD_MSG_FILE_COPY);
#ifdef VFD_TEXT_UPG
      VfdSetFixTextDirect(VFD_TEXT_UPG);
#endif
      vSendUopCmd(UOP_PLAY, 0, 0, 0);
      break;
    default:
      vOsdPosPaste(OSD_POS_UPG_RES, OSD_MSG_CANCEL_UPG);
      vSendUopCmd(UOP_OPEN_CLOSE, 0, 0, 0);
      vSetExitInputState();
  }
  return(TRUE);
}

// *********************************************************************
// Function : void vUpgExit(void)
// Description :
// Parameter :
// Return    : None
// *********************************************************************
void vUpgExit(void) large
{
  vDeleteWB(WB_UPG);

  /* restore OSD mode */
  vOsdShowWb(OSD_WB_RESTORE);
}

// *********************************************************************
// Function : void vUpgShowState(BYTE bState)
// Description :
// Parameter :
// Return    : None
// *********************************************************************
void vUpgShowState(BYTE bState) large
{
  switch (bState)
  {
    case SV_FILE_EXIST:
      fgSetPlayPostKey(IR_UPG);
      break;
    case SV_COPY_RETRY:
      vOsdPosPaste(OSD_POS_UPG_RES, OSD_MSG_RETRY_COPY);
      break;
    case SV_CHKSUM_OK:
      vSendUopCmd(UOP_PLAY, 0, 0, 0);    
      #ifdef DISC_UPG_RESET_DEFAULT
      fgEepromWriteByte(RESET_POSITION, SV_ON);
      #endif
      //beging upgrading.
     #ifdef TEST_UPG_SHOW
     fgIsInUpg = TRUE;
     vOsdPosClear(OSD_POS_UPG_HEAD);
     vOsdPosClear(OSD_POS_UPG_DES);
     vOsdPosClear(OSD_POS_UPG_PLAY);
     #endif
		  vOsdPosClear(OSD_POS_UPG_RES);
      vOsdPosPaste(OSD_POS_UPG_RES, OSD_MSG_UPGRADING);
      break;
    case SV_CHKSUM_ERR:
			vOsdPosClear(OSD_POS_UPG_RES);
      vOsdPosPaste(OSD_POS_UPG_RES, OSD_MSG_CHKSUM_ERR);
      break;
  }
}
#ifdef TEST_UPG_SHOW
void vUpgTwinkle(BOOL fgupgflashing) large
{
  if(fgupgflashing)
   vOsdPosClear(OSD_POS_UPG_RES);
  else
   vOsdPosPaste(OSD_POS_UPG_RES, OSD_MSG_UPGRADING);
}
#endif
#else /* not define DISC_UPDATE_CODE */

void vUpgExit(void) large { return; }
BOOL fgUpgState(void) large { return (FALSE); }
void vUpgInit(BYTE fgInit) large { return; }

#endif /* DISC_UPDATE_CODE */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -