?? usb.c
字號:
/**********************************************************************/
/*************** 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)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -