📄 am.c
字号:
/*------am--------------------------------------------------------------------*/
bit gBool10ADDKEY;
void AmKeyProc(void);
void ShowAmFrequency(void);
void InitRadioAm(void)
{
/*(1)show*/
InitVfd();
ShowIcon(ICON_AM);
ShowIcon(ICON_KHZ);
ShowIcon(ICON_TUND);
/*(2) power process */
OpenRadioPower();
DelayMs(255);
/*(3)*/
gboolRadioAmInit=INIT;
gRadioCurAddr=0;
gRadioMode=RADIO_NORMAL;
gCdRoundBool=0;
gboolAutoShow=0;
gBool10ADDKEY=0;
gRadioCurAddr=gAmMemAddr;
gBoolCanOpenBox=1;
/*(4)process*/
InitAutoSearchCountKey();
/*(5)*/
OpenVolume();
LocalRadioAm();
ShowAmFrequency();
ShowSaveNumber(BAND_AM);
/*(6)*/
SelectRadioSound();
#ifndef YCD_MONY
if(gAmMoneyCRT>100){
gboolWorkOrStandby=RUN_STANDBY;
return;
}
gAmMoneyCRT++;
#endif
/*(7)*/
ClrRmtKey();
/*(8) MUTE WAIT*/
gBoolInitMute=1;
gCloseMuteWaitTm=RADIO_MUTE_TM;
}
/**
*@void RadioAmProcess(void)
*@update 2002/9/2
*/
void QuitRadioAm(void)
{
/*(1) mute */
EnableMute();
DelayMs(100);
/*(2) init*/
gboolRadioAmInit=UNINIT;
gAmMemAddr=gRadioCurAddr;
/*(3) power process*/
CloseRadioPower();
/*(4) clear key*/
ClrRmtKey();
}
/**
*@void ShowAmFrequency(void)
*@update 2002/9/2
*@(1)
*/
void ShowAmFrequency(void)
{
BYTE ShowBuf[8];
WORD Frequency;
Frequency=GetRadioFrequency();
if(Frequency>AM_END_FREQUENCY) Frequency=AM_BEGIN_FREQUENCY;
else if(Frequency<AM_BEGIN_FREQUENCY) Frequency=AM_END_FREQUENCY;
else PushAmFrequency();
Frequency-=450;
ShowBuf[0]=0x20;
ShowBuf[1]=0x20;
WordToStr(&ShowBuf[2],Frequency);
TextOut(0,ShowBuf);
}
/**
*@void ShowAmValue(void)
*@update 2002/9/2
*@(1)
*/
void ShowAmValue(void)
{
BYTE ShowBuf[8];
WORD Frequency;
Frequency=GetRadioCurValue();
if(Frequency>AM_END_FREQUENCY) Frequency=AM_BEGIN_FREQUENCY;
else if(Frequency<AM_BEGIN_FREQUENCY) Frequency=AM_END_FREQUENCY;
else PushAmFrequency();
Frequency-=450;
ShowBuf[0]=0x20;
ShowBuf[1]=0x20;
WordToStr(&ShowBuf[2],Frequency);
TextOut(0,ShowBuf);
}
/**
*@void FmSaveLoadShow(void)
*@update 2002/9/2
*@(3)
*/
void AmSaveLoadShow(void)
{
ShowAmFrequency();
ShowSaveLoadNumber();
}
/**
*@void FmSaveLoadShow(void)
*@update 2002/9/2
*@(4)
*/
void AmLoadShow(void)
{
if(HaveBoundFrequency()) ShowAmFrequency();
else {
ClrDigitRang();
HideIcon(ICON_DP_7G);
}
ShowSaveLoadNumber();
}
/**
*@void RadioAmProcess(void)
*@update 2002/9/2
*/
void RadioAmProcess(void)
{
if(gboolRadioAmInit==UNINIT){
InitRadioAm();
}
else {
AmKeyProc();
if(IsPressStandBy()){
gboolWorkOrStandby=RUN_STANDBY;
QuitRadioAm();
}
}
}
/**
*@void AmKeyProc(void)
*@update 2002/9/2
*/
void AmKeyProc(void)
{
BYTE KeyCode,HaveKey;
HaveKey=VfdKbHit();
if(HaveKey) KeyCode=VfdGetKey();
else {
HaveKey=RemoteKbHit();
if(HaveKey) KeyCode=RemoteGetKey();
}
if(HaveKey){
InitTime(INDEX_VOICE,5);
if(( gboolRmtContinueKey==1) && ((KeyCode==RADIO_SEARCH_UP_KEY)||(KeyCode==RADIO_SEARCH_DOWN_KEY)) ){
if(KeyCode==RADIO_SEARCH_UP_KEY) gboolAutoSearchUp=1;
else gboolAutoSearchUp=0;
if(gRadioKeyToAutoTmCount==0 && gAutoSearchFlag==1){
gAutoSearchFlag=2;
InitTime(INDEX_AUTO_SEARCH,255);
}
QuitRadioSaveMod();
return;
}
else gAutoSearchFlag=0;
switch(KeyCode){
/*-(A)------------------*/
case RADIO_STANDBY_EKY:
gboolWorkOrStandby=RUN_STANDBY;
QuitRadioAm();
return;
case RADIO_DVD_RADIO_KEY:
gboolDvdOrRadio=WORK_DVD;
QuitRadioAm();
return;
case RADIO_AM_FM_KEY:
gboolRadioAmOrFm=RADIO_FM;
QuitRadioAm();
return;
/*-(B)------------------*/
case RADIO_OPENCLOSE_KEY :
KeyOpnClsManagerBox();
break;
case RADIO_MUTE_KEY:
if(gBoolInitMute==1)break;
MuteProc();
if(gboolMtln) Lsb_PopVfdBuf();
else {
if(gRadioMode==RADIO_VOICE) gRadioMode=gOldRadioMode;
else Lsb_PushVfdBuf();
}
break;
case RADIO_MONO_STEREO_KEY:
RadioMonoStereo();
break;
case RADIO_PLAY_KEY:
CloseBox();
break;
/*-(C)------------------*/
/*-(1)------------------*/
case RADIO_VOL_UP_KEY:
if(gboolMtln){
AddVolume();
goto _am_Vol;
}
break;
case RADIO_VOL_DOWN_KEY:
if(gboolMtln){
SubVolume();
_am_Vol:
QuitRadioSaveMod();
if(gRadioMode!=RADIO_VOICE){
Lsb_PushVfdBuf();
gOldRadioMode=gRadioMode;
gRadioMode=RADIO_VOICE;
VoiceShow();
}
else VoiceReShow();
}
break;
/*-(2)------------------*/
case RADIO_SEARCH_UP_KEY:
RadioUpSearch(BAND_AM);
goto _am_search;
case RADIO_SEARCH_DOWN_KEY:
RadioDownSearch(BAND_AM);
_am_search:
ShowAmFrequency();
QuitRadioSaveMod();
ClrRadioCLK();
gRadioKeyToAutoTmCount=RADIO_ATOTSEARCH_WAIT2S;
gAutoSearchFlag=1;
gRadioMode=RADIO_NORMAL;
break;
/*-(3)------------------*/
case RADIO_LOAD_UP_KEY:
if(gRadioCurAddr<BAND_AM_TOTAL-1) gRadioCurAddr++;
else gRadioCurAddr=0;
goto _am_load;
case RADIO_LOAD_DOWN_KEY:
if(gRadioCurAddr)gRadioCurAddr--;
else gRadioCurAddr=BAND_AM_TOTAL-1;
_am_load:
LoadRadioFromFlash(BAND_AM_BEGIN_ADDR+gRadioCurAddr);
AmLoadShow();
QuitRadioSaveMod();
gRadioMode=RADIO_NORMAL;
break;
/*-(4)------------------*/
case RADIO_SAVE_KEY:
if(IsTimeOut(INDEX_SAVE_KEY)){
InitTime(INDEX_SAVE_KEY,255);
ClrRmtKey();
if(gRadioMode==RADIO_SAVE) goto _am_save;
gRadioMode=RADIO_SAVE;
ShowSaveNumber(BAND_AM);
}
break;
case RADIO_ENTER_KEY:
if(gRadioMode==RADIO_SAVE && gRadioCurAddr<BAND_AM_TOTAL){
SaveRadioToFlash(BAND_AM_BEGIN_ADDR+gRadioCurAddr);
AmSaveLoadShow();
}
_am_save:
QuitRadioSaveMod();
gRadioMode=RADIO_NORMAL;
break;
/*-(D)------------------*/
default:
if(gRadioMode==RADIO_SAVE){
if(KeyCode>=KEY_1&&KeyCode<=KEY_9) {
if(gBool10ADDKEY) gRadioCurAddr=KeyCode-'1'+10;
else if(KeyCode>KEY_0)gRadioCurAddr=KeyCode-'1';
else break;/*KeyCode=KEY_0*/
gBool10ADDKEY=0;
}
else if(KeyCode==RADIO_0_10_KEY) {gRadioCurAddr=9;}
else break;
if(gRadioCurAddr>17) gRadioCurAddr=17;
AmSaveLoadShow();
}
break;
}
}
else{
if(gRadioMode==RADIO_VOICE){
if(IsTimeOut(INDEX_VOICE)){
Lsb_PopVfdBuf();
gRadioMode=gOldRadioMode;
}
}
}
/*-(2)wait show process ----------------------------------------------*/
if(gAutoSearchFlag==2){
if(IsTimeOut(INDEX_AUTO_SEARCH)){
if(gRadioStMo==0 && gRadioCLK==1) {
gAutoSearchFlag=3;
ClrRadioCLK();
}
else{
if(gboolAutoSearchUp) RadioUpSearch(BAND_AM);
else RadioDownSearch(BAND_AM);
ShowAmValue();
InitTime(INDEX_AUTO_SEARCH,255);
}
}
}
if(KeyCode==RADIO_10ADD_KEY && gRadioMode==RADIO_SAVE ){
TextOut(0,"1_");
gBool10ADDKEY=1;
}
else gBool10ADDKEY=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -