📄 keyfunc.c
字号:
else if(SysLcdFramePoint == 32)
{
//全部删除
//DelPragItem(999);
SysModeStatus=SYS_DEL_SET_TIMER;
}
else if(SysLcdFramePoint == 33)
{
//浏览
QueryFlag=0xAA;
SysLcdFramePoint=0;
}
else if(SysLcdFramePoint == 34)
{
//退出
if(QueryFlag != 0)
{
QueryFlag=0x0;
return;
}
SysModeStatus= SYS_IDLE_STA;
SysLcdFramePoint=2;
JdqTime=3000;
SortTimeListPrg();
RefreshFlag=1;
TimePrgTask();
LcdDisplayDefScr();
}
switch(SysLcdFramePoint)
{
#if 1
case 3: //星期
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
if((TimerPiontApp.Day & (0x01 << (SysLcdFramePoint-3))) != 0)
{
TimerPiontApp.Day &= ~(0x01 << (SysLcdFramePoint-3));
}
else
TimerPiontApp.Day |=(0x01 << (SysLcdFramePoint-3));
EnterDefMenuFlag=KeyEditFlag=0;
KeyEditFlag=0;
break;
case 14:
if(++TimerPiontApp.PlayMode > 5 )
{
TimerPiontApp.PlayMode = 0;
}
KeyEditFlag=0;
break;
#if 1
case 20+4: //电源
case 21+4:
case 22+4:
case 23+4:
case 24+4:
case 25+4:
if((TimerPiontApp.Switch& (0x01 << (SysLcdFramePoint-24))) != 0)
{
TimerPiontApp.Switch &= ~(0x01 << (SysLcdFramePoint-24));
}
else
TimerPiontApp.Switch |=(0x01 << (SysLcdFramePoint-24));
EnterDefMenuFlag=KeyEditFlag=0;
KeyEditFlag=0;
break;
#endif /* BOGUS */
#endif /* BOGUS */
case 35:
case 36:
case 37:
case 38:
case 39:
case 40:
case 41:
case 42:
case 43:
if(KeyEditFlag == 0xAA)
{
KeyEditFlag=0;
}
else
{
KeyEditFlag = 0xAA;
}
break;
}
}
#if USED_USBDISK
void DelRecFilesPrg(void)
{
UINT16 i=Mp3PlayerInfo.CurrentFileNum;
__PRINTF("\r\n i=%x",i);
if(DeleteRecFile(i) == 0)
{
#if USED_LCD
//ePutstr("Delete file Ok");
//ClearLcdBuf(20,70, 16,100);
RefreshLcdScreen(16,128,Bmp111111908);
DelayMs(1500);
#endif /* BOGUS */
}
else
{
#if USED_LCD
//ClearLcdBuf(20,70, 16,100);
RefreshLcdScreen(16,128,Bmp111111907);
ePutstr("Delete file Err");
DelayMs(1500);
#endif /* BOGUS */
}
Mp3PlayerInfo.ALLFileNum=MusicFileInit(0xFFF);
//DelayMs(2000);
}
void ModifyPlayMp3Vlaue(UINT8 b)
{
UINT8 i=b;
if(i>=10)i=0;
switch(SysLcdFramePoint)
{
case 0:
case 1:
case 2:
HexToFourBcdPrgInt(TimerPointBuf,Mp3PlayerInfo.CurrentFileNum);
TimerPointBuf[SysLcdFramePoint+1]=i;
Mp3PlayerInfo.CurrentFileNum=FourBcdToHexPrgInt(TimerPointBuf);
__PRINTF("\r\nMp3PlayerInfo.CurrentFileNum=%x",Mp3PlayerInfo.CurrentFileNum);
break;
default:
break;
}
}
void RecUpPrg(void)
{
//RecPointLocationPrg();
if(KeyEditFlag == 0xAA)
{
if(SysLcdFramePoint == 6)
{
if(++CurMusicCmd.CurrentFileNum >= MAX_MP3_FILE_NUM)
{
CurMusicCmd.CurrentFileNum=REC_START_FILE_NUM;
}
}
}
else
{
if(++SysLcdFramePoint>6)
{
SysLcdFramePoint=0;
}
}
}
void RecDownPrg(void)
{
//RecPointLocationPrg();
if(KeyEditFlag == 0xAA)
{
if(SysLcdFramePoint == 6)
{
if(--CurMusicCmd.CurrentFileNum < REC_START_FILE_NUM)
{
CurMusicCmd.CurrentFileNum=MAX_MP3_FILE_NUM-1;
}
}
}
else
{
if(--SysLcdFramePoint>6)
{
SysLcdFramePoint=6;
}
}
}
//进入录音模式
void UsbMp3RecordEntry(void)
{
//读取当前的文件数
//文件数++
if(mInitDisk()!= 0)
{
#if USED_LCD
//ePutstr("没有U盘");
__PRINTF("\r\n 没有U盘");
DelayMs(2000);
#endif
return;
}
SysModeStatus=SYS_REC_STA;
Mp3PlayerInfo.ALLFileNum=RecorderFileInit(0xFFF);
//计算剩余的录音空间
SysLcdFramePoint=Mp3Time=0;
Mp3PlayerInfo.Mp3Mode=Mp3PlayerInfo.Mp3Status=STOP_STATUS;
HexToTwoBcdPrg(TimerPointBuf,Mp3PlayerInfo.CurrentFileNum);
strcpy((char *)RecFileName,Name);
CurMusicCmd.CurrentFileNum=Mp3PlayerInfo.CurrentFileNum=501;
//SysLcdFramePoint=0;
//RecEnterPrg();
}
#ifdef BOGUS
{
//读取当前的文件数
//文件数++
if(mInitDisk()!= 0)
{
#if USED_LCD
//ePutstr("没有U盘");
__PRINTF("\r\n 没有U盘");
DelayMs(2000);
#endif
return;
}
SysModeStatus=SYS_REC_STA;
Mp3PlayerInfo.ALLFileNum=MusicFileInit(0xFFF);
Mp3PlayerInfo.CurrentFileNum=Mp3PlayerInfo.ALLFileNum+1;
CurMusicCmd.CurrentFileNum =Mp3PlayerInfo.ALLFileNum+1;
HexToTwoBcdPrg(TimerPointBuf,Mp3PlayerInfo.CurrentFileNum);
//计算剩余的录音空间
SysLcdFramePoint=Mp3Time=0;
Mp3PlayerInfo.Mp3Status=STOP_STATUS;
HexToTwoBcdPrg(TimerPointBuf,Mp3PlayerInfo.CurrentFileNum);
EnterDefMenuFlag=1;
//SysLcdFramePoint=0;
//RecEnterPrg();
}
#endif /* BOGUS */
//进入回放模式
void USBMP3_Entry(void)
{
//FM STOP CD STOP
//lc72131_MUTE_high();
//初始化
UINT32 i;
__PRINTF("\r\n KAISHISAOMIAO");
if(UsbOnlineFlag == 0)
{
#if USED_LCD
//ePutstr("没有U盘");
__PRINTF("\r\n 没有U盘");
DelayMs(2000);
#endif
return;
}
//MainTask();
SysModeStatus=SYS_MP3_STA;
Mp3PlayerInfo.Mp3Status=STOP_STATUS;
EnterDefMenuFlag=1;
SysLcdFramePoint=0;
Mp3PlayerInfo.ALLFileNum=MusicFileInit(0xFFF);
HexToTwoBcdPrg(HourTimeBuf,0);
HexToTwoBcdPrg(MinTimeBuf,0);
HexToTwoBcdPrg(SecTimeBuf,0);
CurMusicCmd.CurrentFileNum=Mp3PlayerInfo.CurrentFileNum;
//HexToFourBcdPrgInt(TimerPointBuf,Mp3PlayerInfo.CurrentFileNum);
for(i=0;i<MAX_MP3_FILE_NUM;i++)
{
if(Mp3FileFlagBuf[i] != 0)
{
break;
}
}
CurMusicCmd.CurrentFileNum=Mp3PlayerInfo.CurrentFileNum=i;
if(find_num_mp3_file(CurMusicCmd.CurrentFileNum, FILE_MP3)==0)
{
Mp3PlayerInfo.Mp3Status=STOP_STATUS;
return;
}
GetFileName();
Mp3Time=0;
#if USED_JDQ
SwitchSave |= SWITCH_ADR13;
CtrJdqPrg();
#endif /* BOGUS */
ModeFlag=0xAA;
}
///////////////////////////////////////////////////////////////
//上一曲
void USBMP3PlayAheadMusicPrg(void)
{
UINT32 i;
for(i=Mp3PlayerInfo.CurrentFileNum-1;i!=0;i--)
{
if(Mp3FileFlagBuf[i] != 0)
{
break;
}
}
if(i==0)
{
i=MAX_MP3_FILE_NUM;
for(;i!=0;i--)
{
if(Mp3FileFlagBuf[i] != 0)
{
break;
}
}
}
Mp3PlayerInfo.CurrentFileNum=i;
if(Mp3PlayerInfo.CurrentFileNum == 0)
{
//DebugOut("No music File");
return;
}
CurMusicCmd.CurrentCmd=PlayMp3Cmd;
CurMusicCmd.CurrentFileNum=Mp3PlayerInfo.CurrentFileNum;
//isr_set_ready(MUSIC_PLAY_TASK_NUM);
PlayMusicFile(&CurMusicCmd);
//Playing=0;
}
///////////////////////////////////////////////////////////////
//下一曲
void USBMP3PlayNextMusicPrg(void)
{
UINT32 i;
for(i=Mp3PlayerInfo.CurrentFileNum+1;i<MAX_MP3_FILE_NUM;i++)
{
if(Mp3FileFlagBuf[i] != 0)
{
break;
}
}
if(i==MAX_MP3_FILE_NUM)
{
i=1;
for(;i<MAX_MP3_FILE_NUM;i++)
{
if(Mp3FileFlagBuf[i] != 0)
{
break;
}
}
}
Mp3PlayerInfo.CurrentFileNum=i;
if(Mp3PlayerInfo.CurrentFileNum == MAX_MP3_FILE_NUM)
{
//DebugOut("No music File");
return;
}
CurMusicCmd.CurrentCmd=PlayMp3Cmd;
CurMusicCmd.CurrentFileNum=Mp3PlayerInfo.CurrentFileNum;
//isr_set_ready(MUSIC_PLAY_TASK_NUM);
PlayMusicFile(&CurMusicCmd);
}
//CD 播放器
void USBMP3PlayPrg(void)
{
PlayMusicFile(&CurMusicCmd);
}
void USBMP3UpPrg(void)
{
if((SysLcdFramePoint == 0))
{
if(KeyEditFlag == 0xAA)
{
USBMP3PlayNextMusicPrg();
Mp3PlayerInfo.Mp3Status=STOP_STATUS;
ModeFlag=0xAA;
}
else
{
if(++SysLcdFramePoint>5)
{
SysLcdFramePoint=0;
}
}
}
else
{
if(++SysLcdFramePoint>5)
{
SysLcdFramePoint=0;
}
}
}
void USBMP3DownPrg(void)
{
if((SysLcdFramePoint == 0))
{
if(KeyEditFlag == 0xAA)
{
USBMP3PlayAheadMusicPrg();
ModeFlag=0xAA;
Mp3PlayerInfo.Mp3Status=STOP_STATUS;
}
else
{
if(--SysLcdFramePoint>5)
{
SysLcdFramePoint=5;
}
}
}
else
{
if(--SysLcdFramePoint>5)
{
SysLcdFramePoint=5;
}
}
}
void RecEnterPrg(void)
{
switch(SysLcdFramePoint)
{
case 0:
if(Mp3PlayerInfo.Mp3Status==REC_STATUS)
{
Mp3PlayerInfo.Mp3Status=PAUSE_STATUS;
}
else if(Mp3PlayerInfo.Mp3Status==PAUSE_STATUS)
{
Mp3PlayerInfo.Mp3Status=REC_STATUS;
}
else if(Mp3PlayerInfo.Mp3Status==STOP_STATUS)
{
CurMusicCmd.CurrentCmd=RecMp3Cmd;
CurMusicCmd.CurrentFileNum=Mp3PlayerInfo.CurrentFileNum;
isr_set_ready(MUSIC_PLAY_TASK_NUM);
T0Counter=0;
Mp3Time=0;
}
break;
case 1: //停止
if(Mp3PlayerInfo.Mp3Status==PLAY_STATUS)
{
Mp3Time=0;
Mp3PlayerInfo.Mp3Status=STOP_STATUS;
return;
}
if(Mp3PlayerInfo.Mp3Status!=STOP_STATUS)
{
EndofRecordPrg();
Mp3PlayerInfo.Mp3Status=STOP_STATUS;
}
Mp3PlayerInfo.ALLFileNum=RecorderFileInit(0xFFF);
Mp3Time=0;
break;
case 2: //删除
if(Mp3PlayerInfo.Mp3Status !=STOP_STATUS)
break;
SysModeStatus=SYS_DEL_RECFILES;
SysLcdFramePoint = 0;
#ifdef BOGUS
//SysModeStatus=SYS_DEL_RECFILES;
//Mp3PlayerInfo.CurrentFileNum=Mp3PlayerInfo.ALLFileNum;
Mp3PlayerInfo.CurrentFileNum=CurMusicCmd.CurrentFileNum;
DelRecFilesPrg();
Mp3PlayerInfo.ALLFileNum=RecorderFileInit(0xFFF);
HexToTwoBcdPrg(HourTimeBuf,0);
HexToTwoBcdPrg(MinTimeBuf,0);
HexToTwoBcdPrg(SecTimeBuf,0);
#endif /* BOGUS */
break;
case 3: //试播
if(Mp3PlayerInfo.Mp3Status==PLAY_STATUS)
{
Mp3Time=0;
Mp3PlayerInfo.Mp3Status=STOP_STATUS;
return;
}
//mInitDisk();
//Mp3PlayerInfo.ALLFileNum=MusicFileInit(0xFFF);
PlayMusicFile(&CurMusicCmd);
break;
case 4: //退出
if(Mp3PlayerInfo.Mp3Status==REC_STATUS)
{
EndofRecordPrg();
}
__PRINTF("\r\n 退出");
USBMP3_Entry();
break;
case 5:
if(RecChanel == 0)
RecChanel=1;
else
RecChanel=0;
break;
case 6:
if(KeyEditFlag == 0xAA)
{
KeyEditFlag=0;
}
else
{
KeyEditFlag = 0xAA;
}
break;
default:
SysLcdFramePoint=0;
break;
}
//LcdLight=0;
}
void PlayPause(void)
{
if(Mp3PlayerInfo.Mp3Status != REC_STATUS)
{
if(Mp3PlayerInfo.Mp3Status==PLAY_STATUS)
{
Mp3PlayerInfo.Mp3Status=PAUSE_STATUS ;
vs1002WriteCmdReg(VS1002_REG_VOL,0xFFFF);
}
else if(Mp3PlayerInfo.Mp3Status==PAUSE_STATUS)
{
Mp3PlayerInfo.Mp3Status=PLAY_STATUS ;
vs1002WriteCmdReg(VS1002_REG_VOL,0);
}
else
{
//选择播放
USBMP3PlayPrg();
}
}
else
{
if(Mp3PlayerInfo.Mp3Status==REC_STATUS)
{
Mp3PlayerInfo.Mp3Status=PAUSE_STATUS ;
}
else if(Mp3PlayerInfo.Mp3Status==PAUSE_STATUS)
{
Mp3PlayerInfo.Mp3Status=REC_STATUS ;
}
}
}
void Mp3MutePrg(void)
{
if(Mp3PlayerInfo.DvdMuteFlag==0)
{
Mp3PlayerInfo.DvdMuteFlag=1;
}
else
{
Mp3PlayerInfo.DvdMuteFlag=0;
}
if(Mp3PlayerInfo.DvdMuteFlag != 0)
{
vs1002WriteCmdReg(VS1002_REG_VOL,0xFFFF);
}
else
{
vs1002WriteCmdReg(VS1002_REG_VOL,0x0);
}
}
void USBMP3EnterPrg(void)
{
if(Mp3PlayerInfo.Mp3Status==PLAY_STATUS)
{
vs1002WriteCmdReg(VS1002_REG_VOL,0xFFFF);
Mp3PlayerInfo.Mp3Status=PAUSE_STATUS;
return;
}
if((SysLcdFramePoint==0))
{
if(KeyEditFlag == 0xAA)
{
KeyEditFlag=0;
}
else
{
KeyEditFlag = 0xAA;
}
}
else
switch(SysLcdFramePoint)
{
case 2: //播放暂停
//#if 0
ModeFlag=0;
PlayPause();
break;
case 3: //停止
if(Mp3PlayerInfo.Mp3Status != REC_STATUS)
{
Mp3PlayerInfo.Mp3Mode=0;
}
Mp3Time=0;
vs1002WriteCmdReg(VS1002_REG_VOL,0xFFFF);
Mp3PlayerInfo.Mp3Status=STOP_STATUS;
break;
case 4: //录音
UsbMp3RecordEntry();
break;
case 1: //REP MODE
if(++Mp3PlayerInfo.Mp3Mode>3)Mp3PlayerInfo.Mp3Mode=0;
ModeFlag=0xAA;
break;
case 5: //EXIT
SysModeStatus=SYS_IDLE_STA;
Mp3PlayerInfo.Mp3Status=Mp3PlayerInfo.Mp3Mode=0;
SysLcdFramePoint=1;
RefreshFlag=1;
TimePrgTask();
LcdDisplayDefScr();
return;
default: //选择媒体
SysLcdFramePoint=0;
break;
}}
#endif /* BOGUS */
//主菜单选择
void SysSelPlayerFunc(void)
{
switch(SysLcdFramePoint)
{
case 0: //pc 通讯
//SysModeStatus=SYS_PC_STA;
USBMP3_Entry();
break;
case 1: //调整时钟
SysModeStatus=SYS_MT_STA;
#if USED_RTC
I2CReadDate();
YearTimeBuf[0] =2;
YearTimeBuf[1] =0;
YearTimeBuf[2] =date[6]>>4;
YearTimeBuf[3] =date[6]&0x0f;
//月
MonthTimeBuf[0] =date[5]>>4;
MonthTimeBuf[1] =date[5]&0x0f;
//ri
DateTimeBuf[0] =date[4]>>4;
DateTimeBuf[1] =date[4]&0x0f;
HourTimeBuf[0] =date[2]>>4;
HourTimeBuf[1] =date[2]&0x0F;
MinTimeBuf[0] =date[1]>>4;
MinTimeBuf[1] =date[1]&0x0F;
SecTimeBuf[0] =date[0]>>4;
SecTimeBuf[1] =date[0]&0x0F;
WeekTimeBuf =date[3];
if(WeekTimeBuf > 6)WeekTimeBuf=0;
SysLcdFramePoint=EnterDefMenuFlag=0;
SysLcdFramePoint=EnterDefMenuFlag=0;
#else
HexToFourBcdPrgInt(YearTimeBuf,(YEAR&0xFFF));
YearTimeBuf[0]=0x02;YearTimeBuf[1]=0x00;
HexToTwoBcdPrg(MonthTimeBuf,(MONTH&0xF));
HexToTwoBcdPrg(DateTimeBuf,(DOM&0x1F));
HexToTwoBcdPrg(HourTimeBuf,(HOUR&0x1F));
HexToTwoBcdPrg(MinTimeBuf,(MIN&0x3F));
HexToTwoBcdPrg(SecTimeBuf,(SEC&0x3F));
WeekTimeBuf=DOW;
SysLcdFramePoint=EnterDefMenuFlag=0;
#endif
//RefreshLcdBuf(0,0,(UINT8*)Bmp042);
break;
case 2: //程序编辑
SysModeStatus=SYS_SETTIMER_STA;
SysLcdFramePoint=EnterDefMenuFlag=0;
TimerPiontApp=((stcTimerPiont *)&TimerPartTab)[1];
TimerPiontApp.PragNum=1;
TimerPiontApp.Device = MP3_DEVICE;
//RefreshLcdBuf(0,0,(UINT8*)Bmp046); //主菜单
break;
case 3: //设备管理
SysModeStatus=SYS_PW_SW_STA;
SysLcdFramePoint=EnterDefMenuFlag=0;
//RefreshLcdBuf(0,0,(UINT8*)Bmp050); //主菜单
break;
case 4: //退出
SortTimeListPrg();
SysModeStatus= SYS_IDLE_STA;
break;
default:
SysLcdFramePoint=0;
break;
}
}
void WarningPrg(void)
{
UINT32 i;
SwitchSave=0xFFFFFFFF;
CtrJdqPrg();
RefreshLcdBuf(0,0,(UINT8*)Bmp111111912);
for(i=0;i<MAX_SWITCH_NUM;i++)
{
if((SwitchSave & (0x01<<i))!=0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -