📄 bbktuner.c
字号:
else eeprom_call_fm(1);
_fgRunTuner=ON;
break;
}
}
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
void vRunAmFm(void) large
{
switch(_bRunStep)
{
case 0: //KEY:BAND
//_bKeyEnable=ENABLE_TUNER_KEY;
_bRunStep=12;
_fgAutoSearchTune=OFF;
if(_fgTuneAuto==ON)
{
_fgTuneAuto=OFF;
}
else
{
if(_fgAmFm==AMFM_FM)
{
_fgAmFm=AMFM_AM;
_bPreset=_bAmPreset;
}
else
{
_fgAmFm=AMFM_FM;
_bPreset=_bFmPreset;
}
_bProgram=_bPreset;
_fgSaveAmFm=1;
_fgRunTuner=ON;
vTunerMute(TRUE);
}
_bDisplayStep=0;
_bDisplayState=D_mDIS_TUNED;
break;
case 2: //KEY:TUNE+,TUNE-
//_bKeyEnable=ENABLE_TUNER_KEY;
switch(_bDisplayState)
{
case D_mDIS_TUNED:
case D_mDIS_NORMAL:
_fgAutoSearchTune=OFF;
_fgTuneAuto=OFF;
if (_fgTunerDir==T_FREQUP) vTunerFreqUp();
else vTunerFreqDown();
_bDisplayStep=0;
_bRunStep=12;
break;
case D_mDIS_TUNEMEMORY:
break;
default:
_bDisplayStep=0;
_bDisplayState=D_mDIS_TUNED;
_bRunStep=10;
break;
}
break;
case 3: //KEY:AUTOTUNE++,AUTOTUNE--
//_bKeyEnable=ENABLE_TUNER_KEY;
switch(_bDisplayState)
{
case D_mDIS_TUNED:
case D_mDIS_NORMAL:
if(_fgTuneAuto==OFF)
{
_fgTuneAuto=ON;
_fgRunTuner=ON;
if(_fgAmFm==AMFM_FM) _bIntRegister=_bFmFreq;
else _bIntRegister=_bAmFreq;
}
if (_fgTunerDir==T_FREQUP) vTunerFreqUp();
else vTunerFreqDown();
break;
case D_mDIS_TUNEMEMORY:
if(_fgAutoSearchTune==OFF)
{
_bProgram=1;
_bPreset=1;
_fgAutoSearchTune=ON;
_fgTuneAuto=ON;
if(_fgAmFm==AMFM_FM) _bIntRegister=_bFmFreq;
else _bIntRegister=_bAmFreq;
_fgRunTuner=ON;
}
break;
}
_bDisplayStep=0;
_bDisplayState=D_mDIS_TUNED;
_bRunStep=12;
break;
case 5: //KEY:ST\MONO
//_bKeyEnable=ENABLE_TUNER_KEY;
_fgAutoSearchTune=OFF;
_fgTuneAuto=OFF;
if(_fgAmFm==AMFM_FM)
{
if(_fgTunerStMo==T_STEREO) _fgTunerStMo=T_MONO;
else _fgTunerStMo=T_STEREO;
_fgRunTuner=ON;
_bDisplayStep=0;
_bDisplayState=D_mDIS_STEREO;
}
_bRunStep=12;
break;
case 8: //KEY:MODE
//_bKeyEnable=ENABLE_TUNER_KEY;
if(_fgAmFm==AMFM_FM)
{
if(_fgTunerMode==MODE_AUTO) _fgTunerMode=MODE_MANU;
else _fgTunerMode=MODE_AUTO;
_fgSaveAmFm=1;
_fgRunTuner=ON;
vTunerMute(TRUE);
_bComReg=0;
_bDisplayStep=2;
_bDisplayState=D_mDIS_TUNED;
_bRunStep=9;
}
_bRunStep=12;
_fgAutoSearchTune=OFF;
_fgTuneAuto=OFF;
break;
case 9:
_bComReg++;
if(_bComReg>60) _bRunStep=12;
break;
case 10:
_bProcess=RUN_NOTHING;
break;
case 11:
case 12:
_bProcess=RUN_TUNER;
break;
case 13: //KEY:STEP
_fgAutoSearchTune=OFF;
_fgTuneAuto=OFF;
if(_bDisplayState==D_mDIS_STEP)
{
if(_fgStep9K10K==STEP_9K)
{
_fgStep9K10K=STEP_10K;
if(_bAmFreq>=MAX_AMFREQ10K) _bAmFreq-=2;
}
else
{
_fgStep9K10K=STEP_9K;
}
_fgSaveAmFm=1;
}
_bDisplayStep=0;
_bDisplayState=D_mDIS_STEP;
_bRunStep=12;
break;
}
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
void vRunTunerMemory(void) large
{
_fgAutoSearchTune=OFF;
_fgTuneAuto=OFF;
switch(_bRunStep)
{
case 0:
//_bKeyEnable=ENABLE_NON_KEY; // 按键无效
_bRunStep=1;
_bDisplayStep=0;
if(_bDisplayState!=D_mDIS_TUNEMEMORY) _bDisplayState=D_mDIS_TUNEMEMORY;
else
{
_bVfdTimer=0;
_bProcess=RUN_NOTHING;
_bDisplayState=D_mDIS_NORMAL;
} break;
case 1:
_bProcess=RUN_NOTHING;
break;
}
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
void vRunAutoSearch(void) large
{
_fgAutoSearchTune=OFF;
_fgTuneAuto=OFF;
switch(_bRunStep)
{
case 0:
//_bKeyEnable=ENABLE_NON_KEY; // 按键无效
_bRunStep=1;
_bDisplayStep=0;
if(_bDisplayState!=D_mDIS_TUNEAUTOSEARCH) _bDisplayState=D_mDIS_TUNEAUTOSEARCH;
/*else
{
_bVfdTimer=0;
_bProcess=RUN_NOTHING;
_bDisplayState=D_mDIS_NORMAL;
} */
break;
case 1:
if(_fgAutoSearchTune==OFF)
{
_bProgram=1;
_bPreset=1;
_fgAutoSearchTune=ON;
_fgTuneAuto=ON;
if(_fgAmFm==AMFM_FM) _bIntRegister=_bFmFreq;
else _bIntRegister=_bAmFreq;
_fgRunTuner=ON;
_bProcess=RUN_TUNER;
}
break;
}
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
void vRunTunerSleep(void) large
{
_fgAutoSearchTune=OFF;
_fgTuneAuto=OFF;
switch(_bRunStep)
{
case 0:
//_bKeyEnable=ENABLE_NON_KEY; // 按键无效
_bRunStep=1;
_bDisplayStep=0;
if(_bDisplayState==D_mDIS_TUNESLEEP)
{
switch(_bSetSleepState)
{
case SLEEP_ON:
_bSetSleepState = SLEEP_ON_DISPLAY;
_bSleepOSDCounter = 4;
break;
case SLEEP_ON_DISPLAY:
_bSetSleepState = SLEEP_90M;
_wSleepCounter = 91 * SLEEP_TIME_ADJUST_LEVEL -1;
_bSleepOSDCounter = 4;
break;
case SLEEP_OFF:
_bSetSleepState = SLEEP_90M;
_wSleepCounter = 91 * SLEEP_TIME_ADJUST_LEVEL -1;
_bSleepOSDCounter = 4;
break;
case SLEEP_90M:
_bSetSleepState = SLEEP_75M;
_wSleepCounter = 76 * SLEEP_TIME_ADJUST_LEVEL -1;
_bSleepOSDCounter = 4;
break;
case SLEEP_75M:
_bSetSleepState = SLEEP_60M;
_wSleepCounter = 61 * SLEEP_TIME_ADJUST_LEVEL -1;
_bSleepOSDCounter = 4;
break;
case SLEEP_60M:
_bSetSleepState = SLEEP_45M;
_wSleepCounter = 46 * SLEEP_TIME_ADJUST_LEVEL -1;
_bSleepOSDCounter = 4;
break;
case SLEEP_45M:
_bSetSleepState = SLEEP_30M;
_wSleepCounter = 31*SLEEP_TIME_ADJUST_LEVEL -1;
_bSleepOSDCounter = 4;
break;
case SLEEP_30M:
_bSetSleepState = SLEEP_15M;
_wSleepCounter = 16*SLEEP_TIME_ADJUST_LEVEL -1;
_bSleepOSDCounter = 4;
break;
case SLEEP_15M:
_bSetSleepState = SLEEP_OFF;
_wSleepCounter = 0;
_bSleepOSDCounter = 4;
break;
default:
_bSetSleepState = SLEEP_OFF;
_wSleepCounter = 0;
_bSleepOSDCounter = 4;
break;
}
}
else
{
_bSetSleepState = SLEEP_90M;
_wSleepCounter = 91 * SLEEP_TIME_ADJUST_LEVEL -1;
_bSleepOSDCounter = 4;
//bVfdTimer=0;
_bDisplayState=D_mDIS_TUNESLEEP;
}
_bDisplayState=D_mDIS_TUNESLEEP;
_bDisplayStep=0;
break;
case 1:
_bProcess=RUN_NOTHING;
break;
}
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
void vRunTunerChannel(void) large
{
_fgAutoSearchTune=OFF;
_fgTuneAuto=OFF;
switch(_bRunStep)
{
case 0:
//_bKeyEnable=ENABLE_TUNER_KEY;
switch(_bDisplayState)
{
case D_mDIS_TUNEMEMORY:
case D_mDIS_TUNECLEAR:
case D_mDIS_TUNED:
if((_bProgram==0)||((_fgAmFm==AMFM_AM)&&(_bProgram>TOTAL_SAVE_AM_NUM))||((_fgAmFm==AMFM_FM)&&(_bProgram>TOTAL_SAVE_FM_NUM))) _bRunStep=5;
else _bRunStep=1;
_bComReg=0;
_bDisplayStep=4;
break;
default:
_bDisplayStep=0xFF;
_bDisplayState=D_mDIS_TUNED;
break;
}
break;
case 1:
_bComReg++;
if(_bComReg>60) _bRunStep=2;//if(_bComReg>30) _bRunStep=2;决定按两个数字键之间可以允许的间隔时间。
break;
case 2:
switch(_bDisplayState)
{
case D_mDIS_TUNEMEMORY:
if(_fgAmFm==AMFM_AM) eeprom_save_am(_bProgram);
else eeprom_save_fm(_bProgram);
_bRunStep=4;
break;
case D_mDIS_TUNECLEAR:
if(_fgAmFm==AMFM_AM) eeprom_clear_am(_bProgram);
else eeprom_clear_fm(_bProgram);
_bRunStep=4;
break;
case D_mDIS_TUNED:
default:
if(((_fgAmFm==AMFM_AM)&&(eeprom_call_am(_bProgram)==0))||((_fgAmFm==AMFM_FM)&&(eeprom_call_fm(_bProgram)==0)))
{
_bDisplayStep=12;
_bDisplayState=D_mDIS_TUNED;
_bRunStep=4;
}
else
{
_bRunStep=3;
_bPreset=_bProgram;
if(_fgAmFm==AMFM_FM) _bFmPreset=_bPreset;
else _bAmPreset=_bPreset;
_fgSaveAmFm=1;
}
break;
}
_fgTuneKey=0;
break;
case 3:
_fgRunTuner=ON;
_bProcess=RUN_TUNER;
break;
case 5:
_bComReg++;
if(_bComReg>30) _bRunStep=6;
break;
case 6:
_fgTuneKey=0;
_bProgram=_bPreset;
_bDisplayStep=0;
_bDisplayState=D_mDIS_NORMAL;//_bDisplayState=D_mDIS_OPNULL_BEYOND;
_bRunStep=4;
break;
case 4:
default:
//_bKeyEnable=ENABLE_ALL_KEY;
_bProcess=RUN_NOTHING;
break;
}
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
void vRunTunerPreset(void) large
{
_fgAutoSearchTune=OFF;
_fgTuneAuto=OFF;
switch(_bRunStep)
{
case 0:
//_bKeyEnable=ENABLE_TUNER_KEY;
if(_fgAmFm==AMFM_AM) _bComReg=TOTAL_SAVE_FM_NUM-TOTAL_SAVE_AM_NUM;
else _bComReg=0;
_bRunStep=1;
break;
case 1:
_bPreset++;
if(_fgAmFm==AMFM_AM)
{
if(_bPreset>TOTAL_SAVE_AM_NUM) _bPreset=1;
if(eeprom_call_am(_bPreset)) _bRunStep=4;
}
else
{
if(_bPreset>TOTAL_SAVE_FM_NUM) _bPreset=1;
if(eeprom_call_fm(_bPreset)) _bRunStep=4;
}
_bComReg++;
if(_bComReg>=TOTAL_SAVE_FM_NUM) _bRunStep=7;
break;
case 2:
if(_fgAmFm==AMFM_AM) _bComReg=TOTAL_SAVE_FM_NUM-TOTAL_SAVE_AM_NUM;
else _bComReg=0;
_bRunStep=3;
break;
case 3:
_bPreset--;
if(_fgAmFm==AMFM_AM)
{
if(_bPreset==0) _bPreset=TOTAL_SAVE_AM_NUM;
if(eeprom_call_am(_bPreset)) _bRunStep=4;
}
else
{
if(_bPreset==0) _bPreset=TOTAL_SAVE_FM_NUM;
if(eeprom_call_fm(_bPreset)) _bRunStep=4;
}
_bComReg++;
if(_bComReg>=TOTAL_SAVE_FM_NUM) _bRunStep=7;
break;
case 4:
_bComReg=0;
_bProgram=_bPreset;
if(_fgAmFm==AMFM_FM) _bFmPreset=_bPreset;
else _bAmPreset=_bPreset;
_fgSaveAmFm=1;
_bDisplayStep=4;
_bDisplayState=D_mDIS_TUNED;
_bRunStep=5;
break;
case 5:
_bComReg++;
if(_bComReg>20) _bRunStep=6;
break;
case 6:
_fgRunTuner=ON;
_bProcess=RUN_TUNER;
break;
case 7:
_bComReg=0;
_bDisplayStep=12;
_bDisplayState=D_mDIS_TUNED;
_bRunStep=9;
break;
case 8:
case 9:
default:
_bProcess=RUN_NOTHING;
break;
}
}
#ifdef TUNER_SHOWVOLUME
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
void vVol_Process(void)large
{
BYTE bByte;
switch(_bRunStep)
{
case 0:
//cutkeyflag=KEY_DISABLE; // 按键无效
if ((fgIsMute())||(_bPlayerMute== TRUE)) /* if mute on */
{
//fgFromMute = TRUE;
/* turn mute off first */
SetDapMute();
ClrVMute();
#ifdef AV_CENTER
_bPlayerMute = FALSE;
#ifdef CD4094
vSetCD4094Pin(Vmute);
#endif
#endif
}
_bRunStep=2;
if(_bMasterVol>20) _bMasterVol=20;
if(_bDisplayState==D_mDIS_VOLUME) // master volume adjust
{
if(_bMasterVol<20)
{
_bMasterVol++;
#ifdef VOLUME_PT2314USE
vMainVolCtrltemp(_bMasterVol);
#endif
}
_bDisplayStep=1; // 显示屏显示参数
}
else _bDisplayStep=0;
_bDisplayState=D_mDIS_VOLUME;
break;
case 1:
//cutkeyflag=KEY_DISABLE; // 按键无衆
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -