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

📄 usb.c

📁 mtk1389L latest sourcecode enjoy
💻 C
📖 第 1 页 / 共 3 页
字号:
/**********************************************************************/
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/***************  $Modtime:: 07/04/18 2:33p    $       ****************/
/***************  $Revision:: 3                $       ****************/
/***************                                       ****************/
/***************   Description :                       ****************/
/***************                                       ****************/
/***************       Company : MediaTek Inc.         ****************/
/***************    Programmer :                       ****************/
/**********************************************************************/



#ifndef _USB_C
#define _USB_C

#include "general.h"
#include "osdshow.h"
#include "../fslist/flcomm.h"

#pragma NOAREGS

#ifdef RS232_LOG
void DRS232LogS(char *pcStr);
void DRS232LogB(BYTE bV1, BYTE bV2, BYTE bV3, BYTE bV4);
#endif

#ifdef SUPPORT_USB_COPY //yan 070409

static xdata WORD _wEffact;

static code strucUSBItem _prUSBItem[USB_TOTAL_ITEM] =
{
  { STUSB_USB_SLOT1,OSD_MSG_USB_SLOT1},
  { STUSB_USB_SLOT2,OSD_MSG_USB_SLOT2},  
  { STUSB_USB_SLOT3,OSD_MSG_USB_SLOT3},
  { STUSB_USB_SLOT4,OSD_MSG_USB_SLOT4},
  { STUSB_USB_SLOT5,OSD_MSG_USB_SLOT5},
  { STUSB_USB_SLOT6,OSD_MSG_USB_SLOT6},
 
};


void vUSBChkSlot1(void) large
{
#ifdef SMSUI_FOR_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));

 if(!(bAttach & 0x01))
     _wEffact &= ~0x01;


#else
   if(!(bSharedInfo(SI_EMD_ATTACH) & 0x01))
      _wEffact &= ~0x01;

#endif
   return;
}

void vUSBChkSlot2(void) large
{
#ifdef SMSUI_FOR_MULTI_PARTITION_FAT
 BYTE bAttach;
 bAttach = ((bSharedInfo(SI_EMD_DRIVE_0) >> SV_MCR_TOTAL_NS) | 
                     (bSharedInfo(SI_EMD_DRIVE_1) << SV_MCR_TOTAL_NS));

 if(!(bAttach & 0x02))
     _wEffact &= ~0x02;


#else

   if(!(bSharedInfo(SI_EMD_ATTACH) & 0x02))
      _wEffact &= ~0x02;
#endif
   return;
}

void vUSBChkSlot3(void) large
{
#ifdef SMSUI_FOR_MULTI_PARTITION_FAT
 BYTE bAttach;
 bAttach = ((bSharedInfo(SI_EMD_DRIVE_0) >> SV_MCR_TOTAL_NS) | 
                     (bSharedInfo(SI_EMD_DRIVE_1) << SV_MCR_TOTAL_NS));

 if(!(bAttach & 0x04))
     _wEffact &= ~0x04;


#else


   if(!(bSharedInfo(SI_EMD_ATTACH) & 0x04))
      _wEffact &= ~0x04;
#endif


   return;
}

void vUSBChkSlot4(void) large
{

#ifdef SMSUI_FOR_MULTI_PARTITION_FAT
 BYTE bAttach;
 bAttach = ((bSharedInfo(SI_EMD_DRIVE_0) >> SV_MCR_TOTAL_NS) | 
                     (bSharedInfo(SI_EMD_DRIVE_1) << SV_MCR_TOTAL_NS));

 if(!(bAttach & 0x08))
     _wEffact &= ~0x08;


#else

   if(!(bSharedInfo(SI_EMD_ATTACH) & 0x08))
      _wEffact &= ~0x08;

#endif
   return;
}

void vUSBChkSlot5(void) large
{
#ifdef SMSUI_FOR_MULTI_PARTITION_FAT
 BYTE bAttach;
 bAttach = ((bSharedInfo(SI_EMD_DRIVE_0) >> SV_MCR_TOTAL_NS) | 
                     (bSharedInfo(SI_EMD_DRIVE_1) << SV_MCR_TOTAL_NS));

 if(!(bAttach & 0x10))
     _wEffact &= ~0x10;


#else


   if(!(bSharedInfo(SI_EMD_ATTACH) & 0x10))
      _wEffact &= ~0x10;
#endif

   return;
}

void vUSBChkSlot6(void) large
{
#ifdef SMSUI_FOR_MULTI_PARTITION_FAT
 BYTE bAttach;
 bAttach = ((bSharedInfo(SI_EMD_DRIVE_0) >> SV_MCR_TOTAL_NS) | 
                     (bSharedInfo(SI_EMD_DRIVE_1) << SV_MCR_TOTAL_NS));

 if(!(bAttach & 0x20))
     _wEffact &= ~0x20;


#else


   if(!(bSharedInfo(SI_EMD_ATTACH) & 0x20))
      _wEffact &= ~0x20;

#endif
   return;
}



void vUSBChkValid(BYTE bType) large
{

   switch(bType)
   	{
      case STUSB_USB_SLOT1:
       	vUSBChkSlot1();
        break;
     
      case STUSB_USB_SLOT2:
     	vUSBChkSlot2();
       	break;

      case STUSB_USB_SLOT3:
        vUSBChkSlot3();
     	break;
     	
      case STUSB_USB_SLOT4:
        vUSBChkSlot4();
     	break;
     	
      case STUSB_USB_SLOT5:
        vUSBChkSlot5();
     	break;
     	
      case STUSB_USB_SLOT6:
     	vUSBChkSlot6();
     	break;	

      default:
        break;
   	}

}


// *********************************************************************
// Function : void vChangeWBColor(BYTE bWBIdx,WORD wSX,WORD wSY,WORD wEX,WORD wEY,BYTE bOldCol,BYTE bNewCol) large
// Description : 
// Parameter : None
// Return    : None
// *********************************************************************

static void vChangeWBColor(BYTE bWBIdx,WORD wSX,WORD wSY,WORD wEX,WORD wEY,BYTE bOldCol,BYTE bNewCol) large
{
  _wStartX = wSX;
  _wStartY = wSY;
  _wEndX = wEX;
  _wEndY = wEY;
  vChgColRep(bWBIdx, bOldCol, bNewCol);
}
   

static void vChangeHeadCol(void) large
{
  _wStartX = 0  ;
  _wStartY = 0  ;
  _wEndX  = USB_MENU_WIDTH;
  _wEndY  = 50;
  vChgColRep(WB_USB_MENU, 0, 14 );


}
#if 0
// *********************************************************************
// Function : void vUSBShowUDMark(BYTE bBegPos, BYTE bTotal) large
// Description : 
// Parameter : None
// Return    : None
// *********************************************************************
void vUSBShowUDMark(BYTE bBegPos, BYTE bTotal) large
{
  if ( bBegPos > 0)
  {
    vSetMsgCol4(WB_USB_MENU, 0, 3, 2, 1);
    vOsdPasteMsgXY(USB_MARK_X, USB_ITEM_BEGIN_Y + 4,
                   WB_USB_MENU, OSD_MSG_MARK_UP);
  }
  if (bBegPos + USB_PAGE_ITEM_NUM < bTotal)
  {
    vSetMsgCol4(WB_USB_MENU, 0, 3, 2, 1);
    vOsdPasteMsgXY(USB_MARK_X,
                   USB_ITEM_BEGIN_Y + LINE_HEIGHT * (USB_PAGE_ITEM_NUM - 1) + 2,
                   WB_USB_MENU, OSD_MSG_MARK_DOWN);
  }
}
#endif
// *********************************************************************
// Function : void vRedrawUSBItem(BYTE fgClear) large
// Description : 
// Parameter : None
// Return    : None
// *********************************************************************
void vRedrawUSBItem(BYTE fgClear) large
{
  BYTE bCntI;
  WORD wMsgIdx;
  
   
  _wEffact = 0xffff;  
  

  for (bCntI = 0; bCntI < USB_PAGE_ITEM_NUM; bCntI++)
     {
        if (fgClear)
          {
              vUSBChkValid(_prUSBItem[bCntI].bStName);  
              if (_wEffact & (1 << bCntI))
                 vSetMsgCol4(WB_USB_MENU, 0, 0, 2, 3);
              else   	
	             vSetMsgCol4(WB_USB_MENU, 0, 0, 2, 2);     
              if((_bUSBShowInit == FALSE) && (_wEffact & (1 << bCntI)))
                 {
                    _bUSBShowInit = TRUE;
                    _bUSBCurItem = bCntI;
                  }

              wMsgIdx = _prUSBItem[bCntI].wItemNameMsg;
              vOsdPasteMsgXY(USB_ITEM_BEGIN_X+150, USB_ITEM_BEGIN_Y + LINE_HEIGHT * bCntI,
                               WB_USB_MENU, wMsgIdx);

             _wEffact = 0xffff;
   
           }    
       }

// vUSBShowUDMark(_bUSBBeg, USB_TOTAL_ITEM);
}


// *********************************************************************
// Function : void vUSBMainHLItem(BYTE fgShow) large
// Description : 
// Parameter : None
// Return    : None
// *********************************************************************
void vUSBMainHLItem(BYTE fgShow) large
{
  BYTE bYPos = _bUSBCurItem ;
  BYTE bColor;
  WORD wMsgIdx;
  if(fgShow==FALSE)	
    {
       vChangeWBColor(WB_USB_MENU, USB_SCROL_BEGIN_X+120, USB_ITEM_BEGIN_Y + LINE_HEIGHT * bYPos,\
	                    USB_SCROL_END_X+125, USB_ITEM_BEGIN_Y + LINE_HEIGHT * (bYPos+1)  - 1, \
	                    9 , 0);
     }
  else
    {
       vChangeWBColor(WB_USB_MENU, USB_SCROL_BEGIN_X+120, USB_ITEM_BEGIN_Y + LINE_HEIGHT * bYPos, \
	                    USB_SCROL_END_X+125, USB_ITEM_BEGIN_Y + LINE_HEIGHT * (bYPos+1)  - 1, \
	                    0 , 9);
     }
}

// *********************************************************************
// Function : void void vUSBErrorHLItem(BYTE fgShow) large
// Description : 
// Parameter : None
// Return    : None
// *********************************************************************
void vUSBErrorHLItem(BYTE fgShow) large
{

  vSetMsgCol4(WB_USB_MENU, 0, 0, 2, 3);
  vOsdPasteMsgXY(USB_ITEM_BEGIN_X+200, USB_ITEM_BEGIN_Y + LINE_HEIGHT * 3,
                 WB_USB_MENU, OSD_MSG_OK);
  vChangeWBColor(WB_USB_MENU, 180, USB_ITEM_BEGIN_Y + LINE_HEIGHT * 3, \
                   380, USB_ITEM_BEGIN_Y + LINE_HEIGHT *4 - 1, \
                    0 , 9);
  
}

// *********************************************************************
// Function : void vUSBCopyHLItem(BYTE fgShow) large
// Description : 
// Parameter : None
// Return    : None
// *********************************************************************
void vUSBCopyHLItem(BYTE fgShow) large
{

  vSetMsgCol4(WB_USB_MENU, 0, 0, 2, 3);
  if(fgShow)
     vOsdPasteMsgXY(USB_ITEM_BEGIN_X+200, USB_ITEM_BEGIN_Y + LINE_HEIGHT * 4,
                      WB_USB_MENU, OSD_MSG_OK);
  else
     vOsdPasteMsgXY(USB_ITEM_BEGIN_X+180, USB_ITEM_BEGIN_Y + LINE_HEIGHT * 4,
                      WB_USB_MENU, OSD_MSG_CANCEL);
 
  vChangeWBColor(WB_USB_MENU, 180, USB_ITEM_BEGIN_Y + LINE_HEIGHT * 4, \
	                           380, USB_ITEM_BEGIN_Y + LINE_HEIGHT *5 - 1, \
	                           0 , 9);
   
}

// *********************************************************************
// Function : void vUSBSureHLItem(BYTE fgShow) large
// Description : 
// Parameter : None
// Return    : None
// *********************************************************************

void vUSBSureHLItem(BYTE fgShow) large
{
  if(fgShow)

⌨️ 快捷键说明

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