static void set_freq(u16 freq_reg)
{
#ifdef USE_KT_FM_CHIP

	if(radio_chip_id== "KT"){

	    if(cur_sw_fm_band==0){

			KT_FMTune(frequency);
	    }
	    else{

			KT_AMTune(frequency);
	    }	
	}
#endif
	if(radio_chip_id== RDAFM_ID){

		RDA5807P_ValidStop(freq_reg/10);
		RDA5807P_SetMute(FALSE);		
	}
}
Beispiel #2
0
void set_radio_freq(u8 mode)
{
   	xd_u16 freq_step =0;
#ifndef LCD_BACK_LIGHT_DUMMY				   
    	set_brightness_all_on();
#endif

#if defined(FAST_STICK_TUNE_FUNC)

	 if(fast_step_cnt==0){
		fast_step_cnt=1;
	 }

    	if(radio_band.bCurBand==FM_MODE){

		if(fast_step_cnt<6)				
			freq_step = (radio_band.bTuneStep*fast_step_cnt);
		else if(fast_step_cnt<12)				
			freq_step = (radio_band.bTuneStep*fast_step_cnt*5);
    	}
    	if(radio_band.bCurBand==MW_MODE){

		if(fast_step_cnt<6)				
			freq_step = (radio_band.bTuneStep*fast_step_cnt);
		else if(fast_step_cnt<12)				
			freq_step = (radio_band.bTuneStep*fast_step_cnt*5);
#ifdef MW_MODE_ADVANCED_TUNE_STEP
		else			
			freq_step = (radio_band.bTuneStep*fast_step_cnt*10);
#endif		
    	}		
	else{
		
		if(fast_step_cnt<6)				
			freq_step = (radio_band.bTuneStep*fast_step_cnt);
		else if(fast_step_cnt<12)				
			freq_step = (radio_band.bTuneStep*fast_step_cnt*10);
		else
			freq_step = (radio_band.bTuneStep*fast_step_cnt*20);
	}
#if 0
	if(fast_step_cnt>3){
		am_adj_timer=2;
	}
#endif

#elif defined(MID_SPEED_STICK_TUNE_FUNC)

	 if(fast_step_cnt==0){
		fast_step_cnt=1;
	 }

    	if(radio_band.bCurBand==FM_MODE){

		if(fast_step_cnt<8)				
			freq_step = (radio_band.bTuneStep*fast_step_cnt);
		else if(fast_step_cnt<12)				
			freq_step = (radio_band.bTuneStep*fast_step_cnt*3);
    	}
    	if(radio_band.bCurBand==MW_MODE){

		if(fast_step_cnt<6)				
			freq_step = (radio_band.bTuneStep*fast_step_cnt);
		else if(fast_step_cnt<12)				
			freq_step = (radio_band.bTuneStep*fast_step_cnt*5);
		else			
			freq_step = (radio_band.bTuneStep*fast_step_cnt*8);
		
    	}
    	else{
		
		if(fast_step_cnt<6)				
			freq_step = (radio_band.bTuneStep*fast_step_cnt);
		else if(fast_step_cnt<12)				
			freq_step = (radio_band.bTuneStep*fast_step_cnt*5);		
		else		
			freq_step = (radio_band.bTuneStep*fast_step_cnt*8);
	}
		
#else
    	if(radio_band.bCurBand==FM_MODE){
		freq_step = (radio_band.bTuneStep);
	}
    	if(radio_band.bCurBand==MW_MODE){
		freq_step = (radio_band.bTuneStep);
	}
    	else{
		freq_step = (radio_band.bTuneStep);
	}		
#endif
	
    if (mode == RADIO_FRE_INC)
    {
        radio_band.wFreq=radio_band.wFreq+freq_step;
    }
    else if (mode == RADIO_FRE_DEC)
    {
        radio_band.wFreq=radio_band.wFreq-freq_step;
    }
	
    if (radio_band.wFreq > radio_band.wFreqUpLimit)
        radio_band.wFreq = radio_band.wFreqUpLimit;
	
    if (radio_band.wFreq < radio_band.wFreqDownLimit)
        radio_band.wFreq =radio_band.wFreqDownLimit;

    if(radio_band.bCurBand==0){

#ifdef FM_SOFTMUTE
		KT_FM_SOFTMUTE(radio_band.wFreq);
#else
		KT_FMTune(radio_band.wFreq);
#endif

    }
    else{

#ifdef AM_SOFTMUTE
		KT_AM_SOFTMUTE(radio_band.wFreq);
#else
		KT_AMTune(radio_band.wFreq);
#endif

    }
	
    disp_port(MENU_RADIO_MAIN);			

#ifdef SAVE_BAND_FREQ_INFO	
    save_radio_freq(radio_band.wFreq,radio_band.bCurBand);
#endif
    flush_all_msg();
#ifdef SEMI_AUTO_SCAN_FUNC
    if(scan_mode!=RADIO_SCAN_STOP){
		radio_all_scan_stop();
    }
#endif
	
}