📄 display.lst
字号:
halLCMWriteData(24, 0,"NO DEVICE", 9);
//DispValue(32, 2, halFMGetFreq(), DISP_VALUE_FM);
bCnt = _DispFMDec2ASCII();
//halLCMWriteData(32, 2, DispStr, bCnt);
//halLCMWriteData(32+(bCnt<<3), 2, "MH", 3);
halLCMWriteData(32, 2,"*[", 2);
halLCMWriteData(52, 2, DispStr, bCnt);
return;
}
static void _halDispNormal()
{
BYTE * bpName;
BYTE *bPtr = DispStr;
BYTE bCnt;
DRIVE *drv = DriveGet();
if(FSMState != FSMSTATE_INIT){
_halDispNoDev();
return;
}
if(mp3status==MP3STATUS_PAUSE){
halLCMWriteBig(16, "PAUSE", 5);
return;
}
//Display LFN
if(sbPos <= 0) {
bpName = drv->Name + (-sbPos);
if(((drv->LFNCnt) + sbPos)<=0)
sbPos = 16;
halLCMWriteData(0, 2, bpName, 16);
}else{
bpName = drv->Name;
halLCMWriteData((sbPos<<3), 2, bpName, 16);
}
sbPos --; //Go ahead
halMp3Req(fd_mp3);
//Display current mp3 time
bPtr = _DispDec2ASCII(bPtr, bgMP3TM);
*bPtr = ':'; bPtr++;
bPtr = _DispDec2ASCII(bPtr, bgMP3TS);
bCnt = bPtr - DispStr;
halLCMWriteData(88, 0, DispStr, bCnt);
halMp3Req(fd_mp3);
//Display device id
halLCMWriteData(0, 0, MemDev[drv->DevID], DISP_DEVID_MAXLEN);
//halMp3Req(fd_mp3);
C51 COMPILER V8.01 DISPLAY 04/17/2008 09:54:53 PAGE 6
#ifdef ENABLE_PLAYMODE_KEY
//Display repeat set
if(bPMode == MP3_PMODE_REPEAT1)
halLCMWriteData(52, 0, "R1", 2);
else
halLCMWriteData(52, 0, "RA", 2);
#endif
//Display fm ch
bCnt = _DispFMDec2ASCII();
#if 0
halLCMWriteData(32, 0, DispStr, bCnt);
halLCMWriteData(32+(bCnt<<3), 0,"M", 1);
#else
//'*', ':'
halLCMWriteData(24, 0,"*[", 2);
halLCMWriteData(24+16, 0, DispStr, bCnt);
#endif
halMp3Req(fd_mp3);
bgDispGap = 0;
return;
}
void DispReset(void)
{
sbPos = 16;
bgMP3TMS = 0;
bgMP3TS = 0;
//bgMP3T10S = 0;
bgMP3TM = 0;
return;
}
BYTE DispFMSCase(void)
{
// BYTE *bPtr = DispStr;
// BYTE bCnt;
BYTE data bRet=FALSE;
_halDispGapChk();
// 1. Clear LCM, and display the STATUS, Large Font
if(bgDispStatusChg == TRUE){
bgDispStatusChg = FALSE;
bRet=TRUE;
}
return bRet; //TRUE: Display, FALSE: No Display
}
static void _halDispIdx(void)
{
BYTE *bPtr;
BYTE bCnt;
BYTE bColum;
bPtr = _DispDec2ASCII(DispStr, Mp3SReq.swIdx);
*bPtr = '/';bPtr++;
C51 COMPILER V8.01 DISPLAY 04/17/2008 09:54:53 PAGE 7
bPtr = _DispDec2ASCII(bPtr, Mp3SReq.swTotalCnt);
bCnt = bPtr -DispStr; //The number CHAR
//Maybe we should set the display column according the cnt;
bColum = (128-(bCnt<<4))>>1;
halLCMWriteBig(bColum, DispStr, bCnt);
return;
}
static void _halDispVol()
{
BYTE *bPtr = DispStr;
BYTE bCnt;
halLCMWriteBig(8, "VOL ", 4);
bPtr = _DispDec2ASCII(bPtr, halVolGet());
bCnt = bPtr -DispStr; //The number CHAR
//Maybe we should set the display column according the cnt;
halLCMWriteBig(64, DispStr, bCnt);
return;
}
static void _halDispFM()
{
BYTE *bPtr = DispStr;
BYTE bCnt;
bCnt = _DispFMDec2ASCII();
//Maybe we should set the display column according the cnt;
halLCMWriteBig(16, DispStr, bCnt);
halLCMWriteBig(16+(bCnt<<4), "MH", 3);
return;
}
static void _halDispJump()
{
//DispValue(32, 0, halIRGetJump(), DISP_VALUE_NORBIG);
BYTE *bPtr = DispStr;
BYTE bCnt;
bPtr = _DispDec2ASCII(bPtr, halIRGetJump());
bCnt = bPtr - DispStr;
halLCMWriteBig(16, DispStr, bCnt);
return;
}
static void _halDispSimp()
{
BYTE *bPtr;
if(bgDispStatus == DISP_EQ_STATUS)
bPtr = EQString[halEQGet()];
else
C51 COMPILER V8.01 DISPLAY 04/17/2008 09:54:53 PAGE 8
bPtr = "ERROR";
halLCMWriteBig(16, bPtr, 5); //EQ, PAUSE, ERROR
return;
}
static void _halDispCtrlDig()
{
BYTE *bPtr = DispStr;
BYTE bCnt;
WORD wTmp = halIRGetJump();
if(irjumptype == IRJUMP_TYPE_PICKSONG){
halLCMWriteBig(0, "IDX", 3);
}else{
halLCMWriteBig(0, "FM", 2);
}
if(wTmp > 0){
bPtr = _DispDec2ASCII(bPtr, wTmp);
bCnt = bPtr - DispStr;
halLCMWriteBig(56, DispStr, bCnt);
}
return;
}
//The functions in this table should not have parameters and return value for 8051 Platform.
static void (*DispHdMap[DISP_MAX_STATUS])(void) = {
_halDispNormal, //Including NODEV, PAUSE, PLAY
_halDispIdx,
_halDispVol,
_halDispFM,
_halDispSimp, //EQ
_halDispJump,
_halDispSimp, //ERROR
_halDispCtrlDig,
};
void DispFSM()
{
BYTE data bRet;
bRet = DispFMSCase();
if(!bRet) //No display needed.
return;
halLCMClear(0, 3);
halMp3Req(fd_mp3);
DispHdMap[bgDispStatus]();
return;
}
#endif
483
MODULE INFORMATION: STATIC OVERLAYABLE
C51 COMPILER V8.01 DISPLAY 04/17/2008 09:54:53 PAGE 9
CODE SIZE = ---- ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -