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

📄 vfd_pub.c

📁 MTK 1389e版 MINI组合音响代码
💻 C
📖 第 1 页 / 共 3 页
字号:
    Return    :
************************************************************************/
#if 0//DVD_AMP
void vVfdFlashSwitch(BYTE bMode) large
{
  if(bMode == VFD_FLASHING_ON)
  {
    vVfdSetFlash(TRUE);
  }
  else
  {
    vVfdSetFlash(FALSE);
  }
}
#endif

/************************************************************************
     Function :
  Description :
    Parameter :
    Return    : None
************************************************************************/
void vVfdClrAudInfo(void) large
{
  vVfdATypeGrpProc(VFD_GRP_OFF);
  vVfdAChGrpProc(VFD_GRP_OFF);
  vVfdALRGrpProc(VFD_GRP_OFF);  
  vVfdAKeyGrpProc(VFD_GRP_OFF);
  vVfdSymbol(VFD_SYM_VOCAL_OFF);
} 


/************************************************************************
     Function :
  Description : show auido source type
    Parameter :
    Return    : None
************************************************************************/
void vVfdUpdateAudType(void) large
{
  vVfdClrAudInfo();

  switch (bSharedInfo(SI_A_CODE_MODE))
  {
    case SV_A_CODE_PCM:
      vVfdSymbol(VFD_SYM_A_CODE_PCM);
      break;

    case SV_A_CODE_AC3:
      vVfdSymbol(VFD_SYM_A_CODE_AC3);
      break;

    case SV_A_CODE_MPEG:
      vVfdSymbol(VFD_SYM_A_CODE_MPEG);
      break;

    case SV_A_CODE_DTS:
#ifndef DTS_NO_DISPLAY    
      vVfdSymbol(VFD_SYM_A_CODE_DTS);
#endif      
      break;

    case SV_A_CODE_SDDS:
      vVfdSymbol(VFD_SYM_A_CODE_SDDS);
      break;

    case SV_A_CODE_MP3:
      if(bSharedInfo(SI_ISO_ITEM_TYPE) != SV_ISO_AVI) //BillDen
        vVfdSymbol(VFD_SYM_A_CODE_MP3);
      break;

    case SV_A_CODE_WAV:
      vVfdSymbol(VFD_SYM_A_CODE_WAV);
      break;

    case SV_A_CODE_WMA:
      vVfdSymbol(VFD_SYM_A_CODE_WMA);
      break;

    case SV_A_CODE_HDCD:
      vVfdSymbol(VFD_SYM_A_CODE_HDCD);
      break;

    case SV_A_CODE_MLP:
      vVfdSymbol(VFD_SYM_A_CODE_MLP);
      break;     

    default:
      break;
  }
}


/************************************************************************
     Function : void vVfdUpdateAudCh(BYTE bItem)
  Description : 
    Parameter : None
    Return    : None
************************************************************************/
void vVfdUpdateAudCh(BYTE bItem) large
{
  BYTE bTmp1;

  if ((bItem==bSIItemIndex(SI_A_CH_CFG))||(bItem==bSIItemIndex(SI_DSP_CH_CFG)))
  {
    if (fgIsDvdPlay()||fgIsVcdPlay() || fgIsCddaPlay()||fgIsIsoPlay()||fgIsAinPlay())
    {
      bTmp1 = bSharedInfo(SI_A_CH_CFG);
#ifdef AUDIO_IN_EN    
      if (bItem==bSIItemIndex(SI_DSP_CH_CFG))
   	    bTmp1 = bSharedInfo(SI_DSP_CH_CFG);
#endif  //AUDIO_IN_EN    

  switch (bTmp1)
  {
    case SV_A_CH_33_1:
    case SV_A_CH_32_1:
      vVfdSymbol(VFD_SYM_A_5_1_CH);
      break;

    case SV_A_CH_31_1:
    case SV_A_CH_22_1:
      vVfdSymbol(VFD_SYM_A_4_1_CH);
      break;

    case SV_A_CH_30_1:
    case SV_A_CH_21_1:
      vVfdSymbol(VFD_SYM_A_3_1_CH);
      break;

    case SV_A_CH_33_0:
    case SV_A_CH_32_0:
      vVfdSymbol(VFD_SYM_A_5_0_CH);
      break;

    case SV_A_CH_22_0:
    case SV_A_CH_31_0:
      vVfdSymbol(VFD_SYM_A_4_0_CH);
      break;

    case SV_A_CH_21_0:
    case SV_A_CH_30_0:
      vVfdSymbol(VFD_SYM_A_3_0_CH);
      break;

    case SV_A_CH_MN:
    case SV_A_CH_LL:
    case SV_A_CH_RR:
    case SV_A_CH_20_0:
    default:
      vVfdSymbol(VFD_SYM_A_2_0_CH); /* two speaker */
      break;
  } /* switch */

      }     
  }

}


/************************************************************************
     Function :
  Description :
    Parameter :
    Return    : None
************************************************************************/
void vVfdClrUsrMode(void) large
{
  vVfdRepeatGrpProc(VFD_GRP_OFF);
  vVfdABGrpProc(VFD_GRP_OFF);
  vVfdSymbol(VFD_SYM_RANDOM_OFF);
  vVfdSymbol(VFD_SYM_PROGRAM_OFF);  
}


/************************************************************************
     Function : void vVfdUpdateUsrMode( void)
  Description : 
    Parameter : None
    Return    : None
************************************************************************/
void vVfdUpdateUsrMode(void) large
{
  BYTE bTmp1;

  vVfdClrUsrMode();
  bTmp1=bSharedInfo(SI_USR_PBC_CTRL);
  switch (bTmp1)
  {
    case SV_REPEAT_ALL:
      vVfdSymbol(VFD_SYM_REPEAT_ALL);
      break;

    case SV_REPEAT_TITLE:
      vVfdSymbol(VFD_SYM_REPEAT_TITLE);
      break;

    case SV_REPEAT_TRACK:
    case SV_REPEAT_LIST:
      vVfdSymbol(VFD_SYM_REPEAT_ONE);
      break;

    case SV_REPEAT_CHAPTER:
      vVfdSymbol(VFD_SYM_REPEAT_CHAPTER);
      break;

    case SV_REPEAT_SET_A:
      vVfdSymbol(VFD_SYM_AB_SET_A);
      break;

    case SV_REPEAT_AB:
      //BillDen vVfdSymbol(VFD_SYM_AB_SET_B);
      vVfdSymbol(VFD_SYM_REPEAT_ONE);
      break;

    case SV_REPEAT_ABNONE:
      vVfdSymbol(VFD_SYM_AB_NONE);
      break;

    case SV_PROGRAM:
      vVfdSymbol(VFD_SYM_PROGRAM_ON);
      break;

    case SV_RANDOM:
    case SV_SHUFFLE:
      vVfdSymbol(VFD_SYM_RANDOM_ON);
      break;

    case SV_USR_DIGEST:
      vVfdSymbol(VFD_SYM_DIGEST_ON);
      break;

    case SV_REPEAT_NONE:
    default:
      vVfdSymbol(VFD_SYM_REPEAT_NONE);
      break;
  } 


  bTmp1=bSharedInfo(SI_REPEAT_MODE);
  switch (bTmp1)
  {
    case SV_REPEAT_ALL:
      vVfdSymbol(VFD_SYM_REPEAT_ALL);
      break;

    case SV_REPEAT_TITLE:
      vVfdSymbol(VFD_SYM_REPEAT_TITLE);
      break;
    case SV_REPEAT_TRACK:
    case SV_REPEAT_LIST:
      vVfdSymbol(VFD_SYM_REPEAT_ONE);
      break;

    case SV_REPEAT_CHAPTER:
      vVfdSymbol(VFD_SYM_REPEAT_CHAPTER);
      break;

    case SV_REPEAT_NONE:
    case SV_REPEAT_ABNONE:
    default:
      /* assume it is cleard in the VfdShowUsrMode() */
      break;
  } 

  bTmp1=bSharedInfo(SI_USR_AUX_CTRL);
  switch (bTmp1)
  {
    case SV_REPEAT_SET_A:
      vVfdSymbol(VFD_SYM_AB_SET_A);
      break;

    case SV_REPEAT_LAST_SP: // temp use A-B icon
    case SV_REPEAT_INSTANT: // temp use A-B icon
    case SV_REPEAT_AB:
      //BillDen vVfdSymbol(VFD_SYM_AB_SET_B);
      vVfdSymbol(VFD_SYM_REPEAT_ONE);
      break;

    case SV_REPEAT_ABNONE:
    case SV_REPEAT_NONE:
      vVfdSymbol(VFD_SYM_AB_NONE);    	
    default:
      /* assume it is cleard in the VfdShowUsrMode() */
      break;
  } 
}

/************************************************************************
     Function :
  Description :
    Parameter : 
    Return    : None
************************************************************************/
void vVfdUpdateTime(BYTE bHour, BYTE bMin, BYTE bSec) large
{
  if(bSharedInfo(SI_INIT_STATE) < SV_DISC_IDENTIFIED)
    return;
 vVfdWord(VFD_WORD_HR, bHour, 1);
  vVfdWord(VFD_WORD_MIN, bMin, 1);
  vVfdWord(VFD_WORD_SEC, bSec, 1);

#if defined(DVD_RECEIVER) 
  if (!_bVfdTimer)      //xiao 03-04-26
#endif 
  {
  if (!bHour)
    vVfdSymbol(VFD_SYM_COLON_2);
  else
  	{
    vVfdSymbol(VFD_SYM_COLON_ALL);
//  vVfdSymbol(VFD_SYM_COLON_1);
//  vVfdSymbol(VFD_SYM_COLON_2);
  	}
    

  
  }    
  vVfdRotate(VFD_DISC_SPIN);



  /////////////////////////

//////////////////////////
}




//////////////////////////


/************************************************************************
     Function :
  Description :
    Parameter : 
    Return    : None
************************************************************************/
void vVfdUpdateTrick(void) large
{
  switch (bSharedInfo(SI_PBC_STATE))
  {
    case SV_PLAY:
      vVfdSymbol(VFD_SYM_PLAY);
      break;

    case SV_PAUSE:
      vVfdSymbol(VFD_SYM_PAUSE);
  #ifdef VFD_MESSAGE_PAUSE
      vVfdTempMessage(VFD_MESSAGE_PAUSE, VFD_TMPMSG_TIMER);
  #endif
      break;

    case SV_STEP:
    case SV_STEP_BACK:
      vVfdSymbol(VFD_SYM_PAUSE);
      break;

    case SV_FF:
      vVfdSymbol(VFD_SYM_PLAY); //BillDen
  #if 0//def VFD_MESSAGE_FF
      vVfdTempMessage(VFD_MESSAGE_FF, VFD_TMPMSG_TIMER);
  #endif
      break;

    case SV_FR:
      vVfdSymbol(VFD_SYM_PLAY); //BillDen
  #if 0//def VFD_MESSAGE_FR
      vVfdTempMessage(VFD_MESSAGE_FR, VFD_TMPMSG_TIMER);
  #endif
      break;

    case SV_SF:
    case SV_SR:
      vVfdSymbol(VFD_SYM_PLAY); //BillDen
      break;
    case SV_FREEZE:
      break;

    default:
      break;
  }
}


/************************************************************************
     Function :
  Description :
    Parameter :
    Return    : None
************************************************************************/
void vVfdUpdateAll(void) large
{
  vVfdUpdateTrick();
  vVfdUpdateAudType();
  vVfdUpdateAudCh(bSIItemIndex(SI_A_CH_CFG));
  vVfdUpdateUsrMode();
}

//BillDen bg
void vVfdShowInitStatus(BYTE bStatus) large 
{
  if (bStatus != SV_DISC_IDENTIFIED)
  {
    vVfdClearAll();
  }

  switch (bStatus)
  {
    case SV_LOADING_DISC:
#ifdef PSCAN_EN
      vVfdShowPScanType(bEepromReadByte(TV_PSCAN_EN_POS), bEepromReadByte(TV_COMP_POS),EV_IN_LOADING_STATE);
#ifdef DV939K
      if (_fgLedOnOff)
        vVfdLed(0, FALSE);
      else
        vVfdLed(0, TRUE);
#endif      
#if defined(DV971) || defined(DV991)
      if(_fgLedOnOff)
      {
        vVfdLed(0, TRUE);
        vVfdLed(1, TRUE);
        vVfdLed(2, TRUE);
      }
      else
      {
        vVfdLed(0, FALSE);
        vVfdLed(1, FALSE);
        vVfdLed(2, TRUE);
      }
#endif
#else
      vVfdMessage(VFD_MESSAGE_LOADING);
#endif
      break;

    case SV_TRAY_OPENING:
#ifdef PSCAN_EN
	bVfdRefreshPos = 0;//DVD_AMP
	_bVfdTimer = 0;
	vVfdClearAll();
	
      vVfdShowPScanType(bEepromReadByte(TV_PSCAN_EN_POS), bEepromReadByte(TV_COMP_POS),EV_IN_OPEN_STATE);
#else
      vVfdMessage(VFD_MESSAGE_OPEN);
#endif
      break;

    case SV_TRAY_CLOSING:
      //vVfdMessage(VFD_MESSAGE_CLOSE);
      break;

    case SV_NO_DISC:
      vVfdMessage(VFD_MESSAGE_NO_DISC);
	

      break;

    case SV_UNKNOWN_DISC:
      vVfdMessage(VFD_MESSAGE_UN_DISC);
      break;

    case SV_DISC_IDENTIFIED:
#ifdef PSCAN_EN
      vVfdShowPScanType(bEepromReadByte(TV_PSCAN_EN_POS), bEepromReadByte(TV_COMP_POS),EV_IN_LOADING_STATE);
#else
      vVfdMessage(VFD_MESSAGE_LOADING);
#endif
      break;

    default:
      break;
  }
}

#ifdef PSCAN_EN
#define VFD_PSCAN_OFF   0
#define VFD_PSCAN_ON    1
#define VFD_PSCAN_VGA   2

/************************************************************************
     Function :
  Description : show P-Scan type
    Parameter :
    Return    : None
************************************************************************/
void vVfdShowPScanType(BYTE bEnable, BYTE bType,BYTE bState) large
{
  if (bEnable == SV_ON)
  {
    if (bType == SV_TVE_VGA)
    {
      bType = VFD_PSCAN_VGA;
    }
    else // YUV or RGB
    {
      bType = VFD_PSCAN_ON;
    }
  }
  else
  {
    bType = VFD_PSCAN_OFF;
  }

  switch (bType)
  {
    case VFD_PSCAN_ON:
      if(bState == EV_IN_LOADING_STATE)
        vVfdMessage(VFD_MESSAGE_YPBPR_L);
      else if(bState == EV_IN_OPEN_STATE)
     	vVfdMessage(VFD_MESSAGE_YPBPR_O);
      else
      {
        //vVfdSymbol(VFD_SYM_COLON_NONE);
     	vVfdShowTempMsg(VFD_MESSAGE_YPBPR,100);
      }
      break;

    case VFD_PSCAN_VGA:
      if(bState == EV_IN_LOADING_STATE)
        vVfdMessage(VFD_MESSAGE_VGA_L);
      else if(bState == EV_IN_OPEN_STATE)
        vVfdMessage(VFD_MESSAGE_VGA_O);
      else
      {
        //vVfdSymbol(VFD_SYM_COLON_NONE);
     	vVfdShowTempMsg(VFD_MESSAGE_VGA,100);
      }
      break;

    case VFD_PSCAN_OFF:
    default:
      if(bState == EV_IN_LOADING_STATE)
        vVfdMessage(VFD_MESSAGE_IS_L);
      else if(bState == EV_IN_OPEN_STATE)
        vVfdMessage(VFD_MESSAGE_IS_O);
      else
      {
        //vVfdSymbol(VFD_SYM_COLON_NONE);
     	vVfdShowTempMsg(VFD_MESSAGE_IS,100);
      }
      break;
  }
}
#endif /* PSCAN_EN */
//BillDen end
#else /* no VFD_SUPPORT */

/************************************************************************
     Function :
  Description :
    Parameter :
    Return    : None
************************************************************************/
static code BYTE pbVfdPub[1] = { 0 } ;

BYTE bVfdPubDumy(void) large
{
  return (pbVfdPub[0]);
}
#endif /* no VFD_SUPPORT */

#ifdef PANEL_LED
/************************************************************************

⌨️ 快捷键说明

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