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

📄 usb.c

📁 手机8032的完整代码。吐血推荐。小做改动就可以生产。
💻 C
📖 第 1 页 / 共 5 页
字号:
		 
	case USBUI_CARD_SAVING_ST:		
		vUSBUISavingShow();
		 break;			
		 
    case USBUI_CARD_SURE_ST:
    	vUSBUISureShow();
         break;
         
    case USBUI_CARD_CREATEFILEFAIL_ST:
    	vUSBUICreatfilefailShow();
         break;
    case USBUI_CARD_COPYFAIL_ST:
    	vUSBUICopyFailShow();
    	break;
    case USBUI_CARD_COPYFINISH_ST:
    	vUSBUICopyFinishShow();
    	break;
    case USBUI_CARD_WRITE_PROTECT_ST:   //write_protect_support
       vUSBUICopyWriteProtectShow();
        
        break;
  }
}

// *********************************************************************
// Function :   BOOL fgUSBErrorState(void) large
// Description :
// Parameter :
// Return    :
// *********************************************************************
static BOOL fgUSBErrorState(void) large
{
  BOOL fgRet = TRUE;
  switch(_bIRKey)
  	{
    case IR_USB_COPY:
    case IR_STOP:     
    case IR_PLAY:
    case IR_ENTER:
    case IR_PLAY_ENTER:
    	if(_bUSBUIState==USBUI_CARD_NONE_ST)
    	_rOsdStateCtx.fgUSBChange = 1;
    	else
    	_rOsdStateCtx.fgUSBChange = 1;  //2;
    	//if(_bSourceDev!=_bSaveToDev)
    	//vSendUopCmd(UOP_CHG_DEV, SV_ASSIGN_DEV, _bSourceDev, 0);
   		vUSBDisInputExit();
   		//vSetExitInputState();
   		return(TRUE);
  	}
  _bIRKey = IR_NONE;
  return(fgRet);
}

// *********************************************************************
// Function :   BOOL fgUSBFinishState(void) large
// Description :
// Parameter :
// Return    :
// *********************************************************************
static BOOL fgUSBFinishState(void) large
{
  BOOL fgRet = TRUE;

#ifdef USB_COPY_DEBUG
  DBGLogS("fgUSBFinishState");
#endif   

  switch(_bIRKey)
  {
    case IR_USB_COPY:
    case IR_STOP:     
    case IR_PLAY:
    case IR_ENTER:
    case IR_PLAY_ENTER:
      if (_bUSBUIState == USBUI_CARD_NONE_ST)
        _rOsdStateCtx.fgUSBChange = 1;
      else
        _rOsdStateCtx.fgUSBChange = 1;  //2;
      //if(_bSourceDev!=_bSaveToDev)
      //vSendUopCmd(UOP_CHG_DEV, SV_ASSIGN_DEV, _bSourceDev, 0);
      vUSBDisInputExit();
      //vSetExitInputState();
   	  return(TRUE);
  }
  
  _bIRKey = IR_NONE;
  return(fgRet);
}

// *********************************************************************
// Function :   BOOL fgUSBSelectState(void) large
// Description :
// Parameter :
// Return    :
// *********************************************************************

static BOOL fgUSBSaveToSelectState(void) large
{
   BOOL fgRet = TRUE;
#ifdef SUPPORT_MULTI_PARTITION_FAT     //simon mul
   BYTE bAttach;
   bAttach = ((bSharedInfo(SI_EMD_DRIVE_0) >> SV_MCR_TOTAL_NS) | 
                     (bSharedInfo(SI_EMD_DRIVE_1) << SV_MCR_TOTAL_NS));

#endif
   
   switch( _bIRKey )
   	{   	
   	case IR_USB_COPY:
    case IR_STOP:    	
    	_rOsdStateCtx.fgUSBChange = 1;
    	//if(_bSourceDev!=_bSaveToDev)
    	//vSendUopCmd(UOP_CHG_DEV, SV_ASSIGN_DEV, _bSourceDev, 0);
   		vUSBDisInputExit();
   		//vSetExitInputState();
   		return(TRUE);
   		
   	case IR_PLAY:
   	case IR_PLAY_ENTER:
   	case IR_ENTER:
   		_bUSBChange=1;
   		
   		_bSourceDev = bSharedInfo(SI_DEVICE_ID); 
   
         _bSaveToDev = _bUSBCurItem;
     #ifdef SUPPORT_MULTI_PARTITION_FAT     //simon mul            
       if(bAttach & (1<<_bSaveToDev))
     #else
       if(bSharedInfo(SI_EMD_ATTACH)& (1<<_bSaveToDev))
     #endif
        {
        _bUSBUIState = USBUI_CARD_WAIT_CHANGE_ST;
        _bUSBSavToEnter = TRUE;
       	}
       else
       	{
       	#ifdef USB_COPY_DEBUG
        DBGLogS("No Card");
       	#endif
       	_rOsdStateCtx.fgUSBChange = 1;
       	_bUSBUIState = USBUI_CARD_NONE_ST;  
       	}
       
        vUSBUIShowInit(_bUSBUIState,0);
   		//if(_bUSBUIState == USBUI_CARD_SURE_ST)
        if (_bUSBUIState == USBUI_CARD_WAIT_CHANGE_ST)
   		{
          if (_bSourceDev != _bSaveToDev)
          {
          #ifdef USB_COPY_DEBUG
            DRS232LogS("Send UOP_CHG_DEV Cmd");
          #endif
            vSendUopCmd(UOP_CHG_DEV, SV_ASSIGN_DEV, _bSaveToDev, 0);  
          }
   		  else
          {
          #ifdef USB_COPY_DEBUG
            DRS232LogS("CHG_DEV Success");
          #endif
            _bUSBSwitchSuccess = TRUE;
          }
   		}
   		return(TRUE);
   		
   	case IR_UP:
   		   vUSBMainHLItem(FALSE);
   		   if(bSharedInfo(SI_EMD_ATTACH)
   		   )
   		   	{
   		   do{
   		   _bUSBCurItem = (--_bUSBCurItem+USB_PAGE_ITEM_NUM)%USB_PAGE_ITEM_NUM;
   		   vUSBChkValid(_prUSBItem[_bUSBCurItem].bStName);  
              }while(!(_wEffact & (1<<_bUSBCurItem)));
   		   vRedrawUSBItem(TRUE);   		   
   		   vUSBMainHLItem(TRUE);
   		   	}
   		   else
   		   	{
   		   	_bUSBUIState = USBUI_CARD_NONE_ST;
   		   	vUSBUIShowInit(_bUSBUIState,0);   		   	
   		   	}
            break; 
          	   			
   	case IR_DOWN:
   		    vUSBMainHLItem(FALSE);
   		    if(bSharedInfo(SI_EMD_ATTACH)
   		      )
   		    {
   		    do{
            _bUSBCurItem = ++_bUSBCurItem % USB_PAGE_ITEM_NUM;
            vUSBChkValid(_prUSBItem[_bUSBCurItem].bStName);  
               }while(!(_wEffact & (1<<_bUSBCurItem)));
        	 vRedrawUSBItem(TRUE);   		   
   		     vUSBMainHLItem(TRUE);  		       		    
   		    }
   		    else
   		    {
   		   	_bUSBUIState = USBUI_CARD_NONE_ST;
   		   	vUSBUIShowInit(_bUSBUIState,0);   		   	
   		   	}	
   			
   			  break;
   			
   			  	
   	default:
   		  break;
   	_bIRKey = IR_NONE;	  
   return(fgRet);

}
}

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
static BOOL fgUSBUISavingState(void) large
{
  BOOL fgRet = TRUE;
#ifdef USB_COPY_DEBUG
  DBGLogS("fgUSBUISavingState");
#endif

switch(_bIRKey)
  	{
      case IR_USB_COPY:
      case IR_STOP: 
      case IR_PLAY:
      case IR_ENTER:
      case IR_PLAY_ENTER:
      	_rOsdStateCtx.fgUSBChange =1;// 2;      	
      	//if(_bSourceDev!=_bSaveToDev)
        fgFlMnOnIrCancelCopy();

      	//vSendUopCmd(UOP_CHG_DEV, SV_ASSIGN_DEV, _bSourceDev, 0); 
   		vUSBDisInputExit();
   		//  vSetExitInputState();   		
   		return(TRUE);
  	}
  	
 _bIRKey = IR_NONE;
  return(fgRet);
}

// *********************************************************************
// Function :   BOOL fgUSBUISureState(void) large
// Description :
// Parameter :
// Return    :
// *********************************************************************
static BOOL fgUSBUISureState(void) large
{
  BOOL fgRet = TRUE;

#ifdef USB_COPY_DEBUG
  DBGLogS("fgUSBUISureState");
#endif
  
#ifdef SUPPORT_MULTI_PARTITION_FAT     //simon mul
  BYTE bAttach;
  bAttach = ((bSharedInfo(SI_EMD_DRIVE_0) >> SV_MCR_TOTAL_NS) | 
           (bSharedInfo(SI_EMD_DRIVE_1) << SV_MCR_TOTAL_NS));
#endif
  
  switch(_bIRKey)
  {
    case IR_USB_COPY:
    case IR_STOP: 
      _rOsdStateCtx.fgUSBChange = 1;
    // if(_bSourceDev!=_bSaveToDev)
  		//vSendUopCmd(UOP_CHG_DEV, SV_ASSIGN_DEV, _bSourceDev, 0);
   	  vUSBDisInputExit();   		
   		//vSetExitInputState();
   	  return(TRUE);
    case IR_PLAY:
   	case IR_PLAY_ENTER:
   	case IR_ENTER: 
      _rOsdStateCtx.fgUSBChange = 1;  //2;
   	  if (_bSureCurItem==0)
      {
      #ifdef SUPPORT_MULTI_PARTITION_FAT     //simon mul
        if (bAttach & (1<<_bSaveToDev))
      #else
        if (bSharedInfo(SI_EMD_ATTACH)& (1<<_bSaveToDev))
      #endif
        {
          if (bSharedInfo(SI_FMV_PERCENT)==0x64)
            vSetSharedInfo(SI_FMV_PERCENT,0x00);    //protect the file is 00 copy first 
          _bUSBUIState = USBUI_CARD_SAVING_ST;
          fgFlMnOnIrCopy();
        }
        else
          _bUSBUIState = USBUI_CARD_NONE_ST;
      }
   	  else
   	  {
   		//	if(_bSourceDev!=_bSaveToDev)
   		//vSendUopCmd(UOP_CHG_DEV, SV_ASSIGN_DEV, _bSourceDev, 0);
   		vUSBDisInputExit();
   		//vSetExitInputState();
      }

      vUSBUIShowInit(_bUSBUIState,0);
   		
	  return(TRUE);
	case IR_UP:
	case IR_DOWN:
      vUSBSureHLItem(FALSE);
	  if (_bSureCurItem == 0)
		_bSureCurItem=1;
	  else
		_bSureCurItem=0;		   		   
   	  vUSBSureHLItem(TRUE);  
	  break;
	}
   
  _bIRKey=IR_NONE;
   return(fgRet);
}

// *********************************************************************
// Function :   BOOL fgUSBUIWaitState(void) large
// Description :
// Parameter :
// Return    :
// *********************************************************************
static BOOL fgUSBUIWaitState(void) large
{
  BOOL fgRet = TRUE;
  #ifdef USB_COPY_DEBUG
  DBGLogS("fgUSBUIWaitState");
  #endif
  switch(_bIRKey)
    {
     case IR_STOP:
    // case IR_EJECT:
         	_rOsdStateCtx.fgUSBChange =1;//3;// 2;      	
      	//if(_bSourceDev!=_bSaveToDev)
        fgFlMnOnIrCancelCopy();
     	 // vSetExitInputState();
   		vUSBDisInputExit();
     	return(TRUE);
  	}


}



// *********************************************************************
// Function :void vUSBDisInputInit()large
// Description :
// Parameter :
// Return    :
// *********************************************************************
void vUSBDisInputInit()large
{
  BYTE bType;
#ifdef USB_COPY_DEBUG
  DBGLogS("vUSBDisInputInit");
#endif  
 //_bUSBUIState = STUSB_MAIN; 
 _bUSBSavToEnter=FALSE;
 _bUSBSwitchSuccess=FALSE;
 _bUSBCurItem=0;
 _bSureCurItem=0;
 _bUSBJustCopy=0;
 #ifdef USB_COPY_POSITION
 _bUSBShowInit=0;
 #endif
 _bSourceDev = bSharedInfo(SI_DEVICE_ID);
  _bSaveToDev = bSharedInfo(SI_DEVICE_ID);
  
   _wEffact = 0xffff;
  
  vOsdShowWb(OSD_WB_DISABLE); 
  vCreateWB(WB_USB_MENU, TRUE);
  vSetWBTcColor(WB_USB_MENU); 
  vEnableWB(WB_USB_MENU);
  vOsdSetSt(OSD_ST_BURST);   
  vUSBUIShowInit(_bUSBUIState, 0);

}

// *********************************************************************
// Function :BOOL vUSBDisInputState(void)large
// Description :
// Parameter :
// Return    :
// *********************************************************************
BOOL vUSBDisInputState(void)large
{
  BOOL fgRet = FALSE;	
#ifdef USB_COPY_DEBUG
  DRS232LogS("vUSBDisInputState:");
  DRS232LogB(_bUSBUIState, 0, 0, 0);
#endif   

  switch (_bUSBUIState)
  {
	case USBUI_CARD_NONE_ST:
	case USBUI_CARD_FULL_ST:
	case USBUI_CARD_ERR_ST:	
	case USBUI_CARD_CREATEFILEFAIL_ST:
	case USBUI_CARD_COPYFAIL_ST:
	case USBUI_CARD_WRITE_PROTECT_ST:  //write_protect_support
	  fgRet = fgUSBErrorState(); 
	  break;
    case USBUI_CARD_COPYFINISH_ST:
      fgRet = fgUSBFinishState();
   	  break;
	case USBUI_CARD_SAVETO_ST:
      fgRet = fgUSBSaveToSelectState();
      break;
	case USBUI_CARD_SAVING_ST:
      fgRet = fgUSBUISavingState();  
      break;
	case USBUI_CARD_SURE_ST:
      fgRet = fgUSBUISureState();
      break;
    case USBUI_CARD_WAIT_CHANGE_ST:
      fgRet = fgUSBUIWaitState();
      break;
  }

  _bIRKey = IR_NONE;
  return(fgRet);
}
// *********************************************************************
// Function :  void vUSBDisInputExit(void)large
// Description :
// Parameter :
// Return    :
// *********************************************************************
void vUSBDisInputExit(void)large
{ 
#ifdef USB_COPY_DEBUG
  DBGLogS("vUSBDisInputExit");
  DBGLogB(_rOsdStateCtx.fgUSBChange,_bSourceDev,_bUSBUIState,0x09);
#endif

  _fgFlSrcSet=FALSE;
  _bInputState = INPUT_STATE_NONE;

  if (fgFlCheckStatus(FL_STATUS_IN_MENU))
  {
    vOsdSetSt(OSD_ST_BURST);             
  } 
  
  vDeleteWB(WB_USB_MENU);
  
#if (defined(PLAYER_BOOKMARK) || defined(PLAYER_PROGRAM) || defined(PLAYER_DIGEST))
  vOsdPosHili(OSD_POS_HILI_CLEAR, 0, 0);  
#endif 

  vSetExitInputState();
  
  if (((_bSourceDev != _bSaveToDev) && (_bSaveToDev != SV_DEVID_CDVDROM))
     ||(_bUSBUIState == USBUI_CARD_COPYFINISH_ST))
  {
    vSendUopCmd(UOP_CHG_DEV, SV_ASSIGN_DEV, _bSourceDev, 0); 
    _bUSBUIState = USBUI_MAX_ST;
    return;   
  }

  if (fgFlCheckStatus(FL_STATUS_IN_MENU))
  {
  }
  else
  {
    vOsdShowWb(OSD_WB_RESTORE);
  }

  if (fgFlCheckStatus(FL_STATUS_IN_MENU))
  {
    vOsdShowWb(OSD_WB_DISABLE);     
  }
  
#ifdef PLAYER_FLMENU
  if((_rOsdStateCtx.fgUSBChange == 1)           \
	||((_bSourceDev!=SV_DEVID_CDVDROM)&&(_rOsdStateCtx.fgUSBChange == 2))
	||((_bSourceDev==SV_DEVID_CDVDROM)&&(_rOsdStateCtx.fgUSBChange == 3)))         
 	{
 	#ifdef USB_COPY_DEBUG
    DBGLogS("Exit menu:");
 	DBGLogB(_bSourceDev,_rOsdStateCtx.fgUSBChange,0x09,0x09);
 	#endif
    vPlayerShowLogo(ISO_STOP_LOGO, ISO_LOGO_COLOR); 
    vEnableWB(FSMENU_INFO);   
    vFlIpShowInfo(IP_INFO_VOLUME, bAdspCurrVol(), FLIP_VOLUME_MUTE_OFF | FLIP_VOLUME_REDRAW);
    vFlRecover();                                          
    vOsdShowWb(OSD_WB_USER);                  
    vOsdSetSt(OSD_ST_NML);  
 
    vEnableWB(FSMENU_OSD_WBIDX_BASIC);
    vEnableWB(FSMENU_INFO);    
   }
#endif

 if((_bUSBUIState==USBUI_CARD_COPYFINISH_ST)||(_bUSBUIState==USBUI_CARD_ERR_ST)  \
 	||(_bUSBUIState==USBUI_CARD_CREATEFILEFAIL_ST)||(_bUSB

⌨️ 快捷键说明

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