📄 main.c
字号:
*/
void InitAutoSearchCountKey(void)
{
gRadioAutoSearchCountKey=1;
gboolAutoShow=0;
}
/**
*@void SubAutoSearchCountKey(void)
*@update 2002/9/2
*/
void SubAutoSearchCountKey(void)
{
if(gRadioAutoSearchCountKey) gRadioAutoSearchCountKey--;
}
/**
*@void ShowFmFrequency(void)
*@update 2002/9/9
*@(1) NORMAL
*/
void ShowFmFrequency(void)
{
BYTE ShowBuf[6],Dot;
WORD Frequency;
Frequency=GetRadioFrequency();
if(Frequency>FM_END_FREQUENCY) Frequency=FM_BEGIN_FREQUENCY;
else if(Frequency<FM_BEGIN_FREQUENCY) Frequency=FM_END_FREQUENCY;
else PushFmFrequency();
Frequency>>=3;
Frequency&=0X0fff;
Frequency-=108;
Dot=Frequency%10;
Frequency/=10;
WordToStr(ShowBuf,Frequency);
TextOut(0,ShowBuf);
ShowIcon(ICON_DP_7G);
ShowBuf[0]=Dot+0x30;
ShowBuf[1]=0;
TextOut(5,ShowBuf);
}
/**
*@void ShowFmValue(void)
*@update 2002/9/9
*@(1) NORMAL
*/
void ShowFmValue(void)
{
BYTE ShowBuf[6],Dot;
WORD Frequency;
Frequency=GetRadioCurValue();
if(Frequency>FM_END_FREQUENCY) Frequency=FM_BEGIN_FREQUENCY;
else if(Frequency<FM_BEGIN_FREQUENCY) Frequency=FM_END_FREQUENCY;
else PushFmFrequency();
Frequency>>=3;
Frequency&=0X0fff;
Frequency-=108;
Dot=Frequency%10;
Frequency/=10;
WordToStr(ShowBuf,Frequency);
TextOut(0,ShowBuf);
ShowIcon(ICON_DP_7G);
ShowBuf[0]=Dot+0x30;
ShowBuf[1]=0;
TextOut(5,ShowBuf);
}
/**
*@void ShowSaveLoadNumber(void)
*@update 2002/9/2
*/
void ShowSaveLoadNumber(void)
{
TextOut(0,kNumber[gRadioCurAddr]);
}
/**
*@void FmSaveLoadShow(void)
*@update 2002/9/2
*@(2) SAVE LOAD
*/
void FmSaveLoadShow(void)
{
ShowFmFrequency();
ShowSaveLoadNumber();
}
/**
*@void FmLoadShow(void)
*@update 2002/9/29
*/
BYTE HaveBoundFrequency(void);
void FmLoadShow(void)
{
if(HaveBoundFrequency()) ShowFmFrequency();
else {
ClrDigitRang();
HideIcon(ICON_DP_7G);
}
ShowSaveLoadNumber();
}
/**
*@void FmVioceShow(void)
*@update 2002/9/2
*@(3) VOICE
*/
extern BYTE gCurVolume;
void VoiceShow(void)
{
BYTE Buf[8];
ClrDigitRang();
HideIcon(ICON_DP_7G);
WordToStr(&Buf[1],MAX_ATTEN-gCurVolume);
Buf[0]='V';
Buf[1]='O';
Buf[2]='L';
TextOut(0,Buf);
}
void VoiceReShow(void)
{
BYTE Buf[8];
WordToStr(Buf,MAX_ATTEN-gCurVolume);
TextOut(3,&Buf[2]);
}
/**
*@void QuitRadioSaveMod(void)
*@update 2002/9/2
*/
void QuitRadioSaveMod(void)
{
if(gRadioMode==RADIO_SAVE) HideIcon(ICON_MEM);
}
/**
*@void SaveIconProc(void)
*@update 2002/9/2
*/
void SaveIconProc(void)
{
IsTimeOut(INDEX_SAVE_KEY);
if(gRadioMode==RADIO_SAVE){
if(IsTimeOut(INDEX_SAVE_ICON)){
if(gboolSaveIcon)ShowIcon(ICON_MEM);
else HideIcon(ICON_MEM);
gboolSaveIcon=~gboolSaveIcon;
InitTime(INDEX_SAVE_ICON,255);
}
}
}
/**
*@void ShowSaveNumber(BYTE aBand)
*@update 2002/11/5
*/
void ShowSaveNumber(BYTE aBand)
{
BYTE n;
n=IsSaveFrequency(aBand);
if(n!=0xff)TextOut(0,kNumber[n]);
}
/**
*@void InitRadioFm(void)
*@update 2002/9/2
*/
void InitRadioFm(void)
{
/*(1) show */
InitVfd();
ShowIcon(ICON_MHZ);
ShowIcon(ICON_FM);
ShowIcon(ICON_TUND);
/*(2) power process */
OpenRadioPower();
DelayMs(255);
/*(3) init */
gboolRadioFmInit=INIT;
gRadioCurAddr=0;
gRadioMode=RADIO_NORMAL;
gCdRoundBool=0;
gboolAutoShow=0;
gRadioCurAddr=gFmMemAddr;
gBoolCanOpenBox=1;
gAutoSearchFlag=0;
/* (3) process */
InitAutoSearchCountKey();
/* (4)first process */
OpenVolume();
LocalRadioFm();
ShowFmFrequency();
ShowSaveNumber(BAND_FM);
/* (5) slect sound */
SelectRadioSound();
/* (6) clear rmt key*/
ClrRmtKey();
/* (7) MUTE PROC*/
gBoolInitMute=1;
gCloseMuteWaitTm=RADIO_MUTE_TM;
}
/**
*@void RadioFmProcess(void)
*@update 2002/9/2
*/
void QuitRadioFm(void)
{
/*(1) mute */
EnableMute();
DelayMs(100);
/*(2) init*/
gboolRadioFmInit=UNINIT;
gFmMemAddr=gRadioCurAddr;
/*(3) power process*/
CloseRadioPower();
/*(4) clear key*/
ClrRmtKey();
}
/**
*@void RadioFmProcess(void)
*@update 2002/9/2
*/
void RadioFmProcess(void)
{
if(gboolRadioFmInit==UNINIT) InitRadioFm();
else {
RadioFmKeyProc();
if(IsPressStandBy()){
gboolWorkOrStandby=RUN_STANDBY;
QuitRadioFm();
}
}
}
/**
*@void RadioFmKeyProc(void)
*@update 2002/9/2
*/
void WriteSt(BYTE n);
BYTE Lsb_TurnEnd(void);
void RadioFmKeyProc(void)
{
BYTE KeyCode,HaveKey,Turn;
HaveKey=VfdKbHit();
if(HaveKey) KeyCode=VfdGetKey();
else {
HaveKey=RemoteKbHit();
if(HaveKey) KeyCode=RemoteGetKey();
}
if(HaveKey){
InitTime(INDEX_VOICE,3);
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;
QuitRadioFm();
break;
case RADIO_DVD_RADIO_KEY:
gboolDvdOrRadio=WORK_DVD;
QuitRadioFm();
break;
case RADIO_AM_FM_KEY:
gboolRadioAmOrFm=RADIO_AM;
QuitRadioFm();
break;
/*-(B)-------------------*/
case RADIO_OPENCLOSE_KEY:
KeyOpnClsManagerBox();
break;
case RADIO_MONO_STEREO_KEY:
if(gboolRmtContinueKey==0) RadioMonoStereo();
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_PLAY_KEY:
CloseBox();
break;
/*-(C)-------------------*/
/*-(1)--------------*/
case RADIO_VOL_UP_KEY:
if(gboolMtln){
AddVolume();
goto _fm_vol;
}
break;
case RADIO_VOL_DOWN_KEY:
if(gboolMtln){
SubVolume();
_fm_vol:
QuitRadioSaveMod();
if(gRadioMode!=RADIO_VOICE){
Lsb_PushVfdBuf();
gOldRadioMode=gRadioMode;
gRadioMode=RADIO_VOICE;
VoiceShow();
}
else VoiceReShow();
}
break;
/*-(2)------------------*/
case RADIO_SEARCH_UP_KEY: /*AutoUpSearch(BAND_FM);*/
RadioUpSearch(BAND_FM);
goto _FmFreq;
case RADIO_SEARCH_DOWN_KEY:
RadioDownSearch(BAND_FM);
_FmFreq:
ShowFmFrequency();
QuitRadioSaveMod();
ClrRadioCLK();
gRadioKeyToAutoTmCount=RADIO_ATOTSEARCH_WAIT2S;
gAutoSearchFlag=1;
gRadioMode=RADIO_NORMAL;
break;
/*-(3)-----------------*/
case RADIO_LOAD_DOWN_KEY:
if(gRadioCurAddr) gRadioCurAddr--;
else gRadioCurAddr=BAND_FM_TOTAL-1;
goto _FmRad;
case RADIO_LOAD_UP_KEY:
if(gRadioCurAddr<BAND_FM_TOTAL-1) gRadioCurAddr++;
else gRadioCurAddr=0;
_FmRad:
LoadRadioFromFlash(BAND_FM_BEGIN_ADDR+gRadioCurAddr);
FmLoadShow();
QuitRadioSaveMod();
gRadioMode=RADIO_NORMAL;
break;
/*-(4)-------------*/
case RADIO_SAVE_KEY:
if(IsTimeOut(INDEX_SAVE_KEY)){ /* delay time */
InitTime(INDEX_SAVE_KEY,255);
ClrRmtKey();
if(gRadioMode==RADIO_SAVE) goto _fm_save;
gRadioMode=RADIO_SAVE;
ShowSaveNumber(BAND_FM);
}
break;
case RADIO_ENTER_KEY:
if(gRadioMode==RADIO_SAVE&&gRadioCurAddr<BAND_FM_TOTAL){
SaveRadioToFlash(BAND_FM_BEGIN_ADDR+gRadioCurAddr);
}
_fm_save:
/*ShowFmFrequency();*/
QuitRadioSaveMod();
gRadioMode=RADIO_NORMAL;
break;
/*-(D)---------------------*/
default:
if(gRadioMode==RADIO_SAVE){
if(KeyCode>=KEY_1 && KeyCode<=KEY_9) gRadioCurAddr=KeyCode-'1';
else if(KeyCode==RADIO_0_10_KEY) gRadioCurAddr=9;
else break;
FmSaveLoadShow();
}
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_FM);
else RadioDownSearch(BAND_FM);
ShowFmValue();
InitTime(INDEX_AUTO_SEARCH,255);
}
}
}
/*- ----------------------------------------------*/
}
#include "..\src\Am.c"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -