⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rds.c

📁 7541数字高频头源程序
💻 C
📖 第 1 页 / 共 2 页
字号:
			//AniBuff[64]='F';
			//AniBuff[65]='F';
			
			AniBuff[65]='O';
			AniBuff[66]='F';
			AniBuff[67]='F';			
		}

		if(RDS.F_TAEnable)
		{
			//AniBuff[66]=' ';
			//AniBuff[67]='O';
			//AniBuff[68]='N';
			
			//AniBuff[71]=' ';
			//AniBuff[72]='O';
			//AniBuff[73]='N';
			
			AniBuff[73]=' ';
			AniBuff[74]='O';
			AniBuff[75]='N';
			
		}
		else
		{
			//AniBuff[66]='O';
			//AniBuff[67]='F';
			//AniBuff[68]='F';
			
			//AniBuff[71]='O';
			//AniBuff[72]='F';
			//AniBuff[73]='F';
			
			AniBuff[73]='O';
			AniBuff[74]='F';
			AniBuff[75]='F';
			
		}

		if(RDSStation&&RDS.TP)
		{
			//AniBuff[74]=' ';
			//AniBuff[75]='O';
			//AniBuff[76]='K';
			
			//AniBuff[79]=' ';
			//AniBuff[80]='O';
			//AniBuff[81]='K';
			
			AniBuff[81]=' ';
			AniBuff[82]='O';
			AniBuff[83]='K';
		}
		else
		{
			//AniBuff[74]='O';
			//AniBuff[75]='F';
			//AniBuff[76]='F';
			
			//AniBuff[79]='O';
			//AniBuff[80]='F';
			//AniBuff[81]='F';
			
			AniBuff[81]='O';
			AniBuff[82]='F';
			AniBuff[83]='F';			
		}
	}

	if(System.DispMode.Current!=DISPMODE_RDS)return;

	switch(RDSDispMode)
	{
		case RDSDISP_PTYSELECT:
			PrintString("   PTY SELECT","  PTY:********");
			for(i=0;i<8;i++)
				DispBuff[22+i]=PTYDisplayTable[PTYSelectType][i];
			if(RADIO_IN_SEARCH)
				PrintLine1("   PTY Search...");
			if(F_NoPTY)
				PrintLine1("    No Match!");
			break;
		case RDSDISP_TRAFFIC:
			PrintLine1("     TRAFFIC    ");
			break;
	}
	
#if 0
	unsigned char i;
	
	if(System.PowerMode!=POWERMODE_POWERON||
		System.AccMode!=ACCMODE_ACCON||
		System.PanelMode!=PANELMODE_PANELON)
		return;	
		
	F_BLINK_AF=0;
	F_BLINK_TA=0;
	F_BLINK_TP=0;
	F_BLINK_PTY=0;
	F_DISP_AF=0;
	F_DISP_TA=0;
	F_DISP_TP=0;
	F_DISP_PTY=0;
	
	if (FreqInAM(Radio.Freq))
		return;

	if(RDSStation && RDS.TP)
		F_DISP_TP=1;	

	if(RDS.F_TAEnable)
		F_DISP_TA=1;
	
	if(RDS.F_AFEnable)
	{
		if(RDSStation&&(!RDSAFChecking))
			F_DISP_AF=1;
		else
			F_BLINK_AF=1;
	}
	
	if(System.DispMode.Current!=DISPMODE_NORMAL)return;
	if(System.FWorkMode.Current!=WORKMODE_RADIO && !F_2ZoneKeyBack)return;
	if(System.RWorkMode.Current!=WORKMODE_RADIO && F_2ZoneKeyBack)return;
	
	if(RDSDispTimer==1)
	{
		RDSDispTimer=0;
		Radio.F_TunerDispReq=1;
		if(RDS.F_PSExist)
			RDSDispMode=RDSDISP_PS;
		else
			RDSDispMode=RDSDISP_IDLE;
	}
	if(RDS.F_GetNewPS)
	{
		RDS.F_GetNewPS=0;
		RDSDispMode=RDSDISP_PS;
		Radio.F_TunerDispReq=1;
	}
	
	switch(RDSDispMode)
	{
		case RDSDISP_IDLE:

			break;
			
		case RDSDISP_PS:
			if(Radio.F_TunerDispReq)
			{
				Radio.F_TunerDispReq=0;
				for (i = 0; i<8; i ++)
				{
					DispChar[i] = RDS.PS[i];
					if(DispChar[i]>127||DispChar[i]<32)
						DispChar[i]=32;
					DispCharLen[i]=DISP_CH7+6;
				}
				DispCharLen[7]+=DISP_END;
				ShowMessage(DispChar,DispCharLen,0,9,y00000000);
			}
			break;
			
		case RDSDISP_TRAFFIC:
			if(AFTAShowTimer>0)break;
			if(F_HalfSecondOut)
			{
				if(F_HalfSecond)
				{
					DispChar[0]='T';
					DispChar[1]='R';
					DispChar[2]='A';
					DispChar[3]='F';
					DispChar[4]='F';
					DispChar[5]='I';
					DispChar[6]='C';
					DispChar[7]=' ';
					DispChar[8]='I';
					DispChar[9]='N';
					DispChar[10]='F';
					DispChar[11]='O';

					DispCharLen[0]=DISP_CH7+6;
					DispCharLen[1]=DISP_CH7+6;
					DispCharLen[2]=DISP_CH7+6;
					DispCharLen[3]=DISP_CH7+6;
					DispCharLen[4]=DISP_CH7+5;
					DispCharLen[5]=DISP_CH7+5;
					DispCharLen[6]=DISP_CH7+6;
					DispCharLen[7]=DISP_CH7+5;
					DispCharLen[8]=DISP_CH7+5;
					DispCharLen[9]=DISP_CH7+6;
					DispCharLen[10]=DISP_CH7+6;
					DispCharLen[11]=DISP_END+DISP_CH7+5;
					/*for (i = 0; i<11; i ++)
					{
						DispCharLen[i]=DISP_CH7+6;
					}
					DispCharLen[10]+=DISP_END;*/
					ShowMessage(DispChar,DispCharLen,0,0,y00000000);
				}
				else
				{
					ClearMessageBuffer(ALLBUFFER);
				}
			}

			break;

		case RDSDISP_PTY:
			for (i = 0; i<8; i ++)
			{
				DispCharLen[i]=DISP_CH7+6;
			}
			DispCharLen[7]+=DISP_END;
			ShowMessage(PTYDisplayTable[RDS.PTY],DispCharLen,0,9,y00000000);
			break;

		case RDSDISP_PTYSELECT:
			if(F_NoPTY)
			{
				DispChar[0]='N';
				DispChar[1]='o';
				DispChar[2]=' ';
				DispChar[3]='M';
				DispChar[4]='a';
				DispChar[5]='t';
				DispChar[6]='c';
				DispChar[7]='h';
				DispChar[8]=' ';
				DispChar[9]='P';
				DispChar[10]='T';
				DispChar[11]='Y';

				DispCharLen[0]=DISP_CH7+6;
				DispCharLen[1]=DISP_CH7+6;
				DispCharLen[2]=DISP_CH7+3;
				DispCharLen[3]=DISP_CH7+6;
				DispCharLen[4]=DISP_CH7+6;
				DispCharLen[5]=DISP_CH7+6;
				DispCharLen[6]=DISP_CH7+6;
				DispCharLen[7]=DISP_CH7+6;
				DispCharLen[8]=DISP_CH7+3;
				DispCharLen[9]=DISP_CH7+6;
				DispCharLen[10]=DISP_CH7+6;
				DispCharLen[11]=DISP_END+DISP_CH7+5;

				
				//SuperMessage(50,DISPMODE_NORMAL);

				if(F_HalfSecondOut)
				{
					if(F_HalfSecond)
					{
						ShowMessage(DispChar,DispCharLen,0,0,y00000000);
						AudioBeep(5);
					}
					else
						ClearMessageBuffer(ALLBUFFER);
				}
			}
			else
			{
				for (i = 0; i<8; i ++)
				{
					DispCharLen[i]=DISP_CH7+6;
				}
				DispCharLen[7]+=DISP_END;
				
				if(!RADIO_IN_SEARCH)
				{
					ShowMessage(PTYDisplayTable[PTYSelectType],DispCharLen,0,9,y00000000);
					if(EncoderFlashTimer==0)EncoderFlashTimer=100;
				}
				else
				{
					if(F_HalfSecondOut)
					{
						if(F_HalfSecond)
						{
							ShowMessage(PTYDisplayTable[32],DispCharLen,0,9,y00000000);
						}
						else
						{
							ClearMessageBuffer(ALLBUFFER);
						}
					}
				}
				
				//Radio.F_TunerDispReq=1;
			}
			break;

	
	}
#endif
	
}


void SwitchToTa(void)
{
	if(F_InTASwitch)return;
	F_InTASwitch=1;
	InTADelayTimer=10;
	System.FWorkMode.Save=System.FWorkMode.Current;
	System.DispMode.Save=System.DispMode.Current;
	ChangeFWorkmode(WORKMODE_RADIO);
	System.DispMode.Requst=DISPMODE_RDS;
	RDSDispMode=RDSDISP_TRAFFIC;
	F_RDSDispReq=1;
	//AudioVolBackup=AudioVol;//add traffic vol by yete at Sept.2006
	//AudioVol=TAVol;
	AudioCalc(AUDIO_ALL_VAL);
	AudioSend(AUDIO_AREA_SOURCE_VOL);

}

void TaSwitchBack(void)
{
	unsigned char temp;
	if(!F_InTASwitch)return;
	F_InTASwitch=0;
	RDSClearTAFlags();
	ChangeFWorkmode(System.FWorkMode.Save);
	System.DispMode.Requst=System.DispMode.Save;
	F_RDSDispReq=1;
	//TAVol=AudioVol;
	//AudioVol=AudioVolBackup;
	AudioCalc(AUDIO_ALL_VAL);
	AudioSend(AUDIO_AREA_SOURCE_VOL);
}

#ifdef EON_ENABLE
/*********************************************
	Function:		SwitchToEONTa
	Description:	
	Write/Modify:	Perry.Liang
	Time:		2006-1-24- 15:37:38
*********************************************/
void SwitchToEONTa(void)
{
	unsigned char i;
	if(F_InEONTASwitch)return;
	F_InEONTASwitch=1;
	InTADelayTimer=30;
	for(i=0;i<25;i++)
	{
		RDS.EONAFBackup[i]=RDS.AF[i];
		RDS.AF[i]=RDS.EONAF[i];
	}
	for(i=0;i<8;i++)
	{
		RDS.EONPSBackup[i]=RDS.PS[i];
		RDS.PS[i]=RDS.EONPS[i];
	}
	RDS.EONPIBackup=RDS.PI;
	RDS.PI=RDS.EONPI;
	RDS.EONAFNumBackup=RDS.AFNum;
	RDS.AFNum=RDS.EONAFNum;	
	
	RDS.PILast=RDS.PI;
	RDS.PIBackup=RDS.PI;

	//RadioMute(SOFTON);
	//RDSAFSearchSetFreq(RDS.AF[0]);
	//RadioMute(SOFTOFF);
	
	SetAFSearch();
	RDSClearEONTAFlags();
	RDSClearTAFlags();

	System.FWorkMode.Save=System.FWorkMode.Current;
	ChangeFWorkmode(WORKMODE_RADIO);
	System.DispMode.Requst=DISPMODE_RDS;
	RDSDispMode=RDSDISP_TRAFFIC;
	F_RDSDispReq=1;
	AudioVolBackup=AudioVol;
	AudioVol=TAVol;
	AudioCalc(AUDIO_ALL_VAL);
	AudioSend(AUDIO_AREA_SOURCE_VOL);
	
}

/*********************************************
	Function:		EONTaSwitchBack
	Description:	
	Write/Modify:	Perry.Liang
	Time:		2006-1-24- 15:37:36
*********************************************/
void EONTaSwitchBack(void)
{
	unsigned char i;
	if(!F_InEONTASwitch)return;
	F_InEONTASwitch=0;
	InTADelayTimer=20;
	for(i=0;i<25;i++)
	{
		RDS.AF[i]=RDS.EONAFBackup[i];
	}
	for(i=0;i<8;i++)
	{
		RDS.PS[i]=RDS.EONPSBackup[i];
	}
	RDS.PI=RDS.EONPIBackup;
	RDS.AFNum=RDS.EONAFNumBackup;
	
	RDS.PILast=RDS.PI;
	RDS.PIBackup=RDS.PI;
	
	//RDSAFSearchSetFreq(RDS.AF[0]);
	SetAFSearch();
	RDSClearEONTAFlags();
	RDSClearTAFlags();

	ChangeFWorkmode(System.FWorkMode.Save);
	RDSDispMode=RDSDISP_PS;
	//System.DispMode.Requst=DISPMODE_RDS;
	F_RDSDispReq=1;
	
	TAVol=AudioVol;
	AudioVol=AudioVolBackup;
	AudioCalc(AUDIO_ALL_VAL);
	AudioSend(AUDIO_AREA_SOURCE_VOL);
	
}
#endif

void RDSTimer100ms(void)
{
	if(RDSDispTimer>1)RDSDispTimer--;
	if(AutoTASeekTimer>1)AutoTASeekTimer--;
	if(PTYSelectTimer>1)PTYSelectTimer--;
	if(InTADelayTimer>0)InTADelayTimer--;
}

#ifdef SELFDEF_AFSPIN
void AFSPin(unsigned char AFSmode)
{
	switch(AFSmode)
	{
		case 0:
			Pin_AFS=0;
			break;
		case 1:
			Pin_AFS=1;
			break;
	}
}
#endif
/*********************************************************
				File End
*********************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -