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

📄 align.c

📁 7541数字高频头源程序
💻 C
📖 第 1 页 / 共 5 页
字号:
										BoardEepromBuff[Align.SubStep]|=(1<<temp);
									break;
								
							}
							if(Align.EditPos>1)
								EepromWrite(BoardEepromAddress, Align.SubStep, 1, &BoardEepromBuff[Align.SubStep]);
							break;
					}
					break;

				case ALIGN_TUNERREG:
					switch(Align.EditPos)
					{
						case 0:
							#if TDA7540Tuner
							Align.SubStep=MaxMinChangeProtect(Align.SubStep, 10*dirc, 49, 0, 0);
							#endif
							#if TDA7541Tuner
							Align.SubStep=MaxMinChangeProtect(Align.SubStep, 10*dirc, 29, 0, 0);
							#endif
							
							break;
						case 1:
							#if TDA7540Tuner
							Align.SubStep=MaxMinChangeProtect(Align.SubStep, dirc, 49, 0, 0);
							#endif
							#if TDA7541Tuner
							Align.SubStep=MaxMinChangeProtect(Align.SubStep, dirc, 29, 0, 0);
							#endif
							
							break;
						case 2:
							temp=Radio.TunerBuff[Align.SubStep]/16;
							temp2=Radio.TunerBuff[Align.SubStep]%16;
							temp=MaxMinChangeProtect(temp, dirc, 15, 0, 0);
							Radio.TunerBuff[Align.SubStep]=temp*16+temp2;
							break;
						case 3:
							temp=Radio.TunerBuff[Align.SubStep]/16;
							temp2=Radio.TunerBuff[Align.SubStep]%16;
							temp2=MaxMinChangeProtect(temp2, dirc, 15, 0, 0);
							Radio.TunerBuff[Align.SubStep]=temp*16+temp2;
							break;
						case 4:
						case 5:
						case 6:
						case 7:
						case 8:
						case 9:
						case 10:
						case 11:
							temp=11-Align.EditPos;
							if(Radio.TunerBuff[Align.SubStep]&(1<<temp))
								Radio.TunerBuff[Align.SubStep]&=~(1<<temp);
							else
								Radio.TunerBuff[Align.SubStep]|=(1<<temp);
							break;
						
					}
					if(Align.EditPos>1)
						RadioTunerSend(Align.SubStep,Align.SubStep);
					break;

				case ALIGN_COPY:
					switch(Align.SubMode)
					{
						#if TDA7540Tuner
						case ALIGN_COPY_STANDBY:
							Align.SubStep=MaxMinChangeProtect(Align.SubStep, -dirc, 5, 0, 0);
							break; 
						#endif
						#if TDA7541Tuner
						case TDA7541_ALIGN_COPY_STANDBY:
							Align.SubStep=MaxMinChangeProtect(Align.SubStep, -dirc, 7, 0, 0);
							break; 
						#endif
					}
					break;
			}
			Align.F_DispReq=1;
			break;
		/*case P_AD_DOWN:
			switch(Align.Mode)
			{
				case ALIGN_STANDBY:
					Align.SubMode=MaxMinChangeProtect(Align.SubMode, 1, 4, 0, 0);
					break;
					
				case ALIGN_MANUALIGN:
					switch(Align.SubMode)
					{
						case ALIGN_MANU_STANDBY:
							Align.SubStep=MaxMinChangeProtect(Align.SubStep, 1, 1, 0, 0);
							break;

						case ALIGN_MANU_XTAL:
							temp=(Radio.TunerBuff[19]>>3);
							temp=MaxMinChangeProtect(temp, -1, 31, 0, 0);
							Radio.TunerBuff[19]=(Radio.TunerBuff[19]&y00000111)+(temp<<3);
							RadioTunerSend(19,19);
							break;

						case ALIGN_MANU_FMSLIDER:
							temp=(Radio.TunerBuff[18]&y00011111);
							temp=MaxMinChangeProtect(temp, -1, 31, 0, 0);
							Radio.TunerBuff[18]=(Radio.TunerBuff[18]&y11100000)+temp;
							RadioTunerSend(18,18);
							break;
					}
					break;

				case ALIGN_EEPROM:
					switch(Align.SubMode)
					{
						case ALIGN_EEPROM_STANDBY:
							Align.SubStep=MaxMinChangeProtect(Align.SubStep, 1, 1, 0, 0);
							break;

						case ALIGN_EEPROM_TUNER:
							switch(Align.EditPos)
							{
								case 0:
									Align.SubStep=MaxMinChangeProtect(Align.SubStep, -10, 59, 0, 0);
									break;
								case 1:
									Align.SubStep=MaxMinChangeProtect(Align.SubStep, -1, 59, 0, 0);
									break;
								case 2:
									temp=TunerEepromBuff[Align.SubStep]/16;
									temp2=TunerEepromBuff[Align.SubStep]%16;
									temp=MaxMinChangeProtect(temp, -1, 15, 0, 0);
									TunerEepromBuff[Align.SubStep]=temp*16+temp2;
									break;
								case 3:
									temp=TunerEepromBuff[Align.SubStep]/16;
									temp2=TunerEepromBuff[Align.SubStep]%16;
									temp2=MaxMinChangeProtect(temp2, -1, 15, 0, 0);
									TunerEepromBuff[Align.SubStep]=temp*16+temp2;
									break;
								case 4:
								case 5:
								case 6:
								case 7:
								case 8:
								case 9:
								case 10:
								case 11:
									temp=11-Align.EditPos;
									if(TunerEepromBuff[Align.SubStep]&(1<<temp))
										TunerEepromBuff[Align.SubStep]&=~(1<<temp);
									else
										TunerEepromBuff[Align.SubStep]|=(1<<temp);
									break;
							}
							if(Align.EditPos>1)
								EepromWrite(TunerEepromAddress, Align.SubStep, 1, &TunerEepromBuff[Align.SubStep]);
							break;

						case ALIGN_EEPROM_BOARD:
							switch(Align.EditPos)
							{
								case 0:
									Align.SubStep=MaxMinChangeProtect(Align.SubStep, -10, 59, 0, 0);
									break;
								case 1:
									Align.SubStep=MaxMinChangeProtect(Align.SubStep, -1, 59, 0, 0);
									break;
								case 2:
									temp=BoardEepromBuff[Align.SubStep]/16;
									temp2=BoardEepromBuff[Align.SubStep]%16;
									temp=MaxMinChangeProtect(temp, -1, 15, 0, 0);
									BoardEepromBuff[Align.SubStep]=temp*16+temp2;
									break;
								case 3:
									temp=BoardEepromBuff[Align.SubStep]/16;
									temp2=BoardEepromBuff[Align.SubStep]%16;
									temp2=MaxMinChangeProtect(temp2, -1, 15, 0, 0);
									BoardEepromBuff[Align.SubStep]=temp*16+temp2;
									break;
								case 4:
								case 5:
								case 6:
								case 7:
								case 8:
								case 9:
								case 10:
								case 11:
									temp=11-Align.EditPos;
									if(BoardEepromBuff[Align.SubStep]&(1<<temp))
										BoardEepromBuff[Align.SubStep]&=~(1<<temp);
									else
										BoardEepromBuff[Align.SubStep]|=(1<<temp);
									break;
							}
							if(Align.EditPos>1)
								EepromWrite(BoardEepromAddress, Align.SubStep, 1, &BoardEepromBuff[Align.SubStep]);
							break;
					}
					break;

				case ALIGN_TUNERREG:
					switch(Align.EditPos)
					{
						case 0:
							Align.SubStep=MaxMinChangeProtect(Align.SubStep, -10, 49, 0, 0);
							break;
						case 1:
							Align.SubStep=MaxMinChangeProtect(Align.SubStep, -1, 49, 0, 0);
							break;
						case 2:
							temp=Radio.TunerBuff[Align.SubStep]/16;
							temp2=Radio.TunerBuff[Align.SubStep]%16;
							temp=MaxMinChangeProtect(temp, -1, 15, 0, 0);
							Radio.TunerBuff[Align.SubStep]=temp*16+temp2;
							break;
						case 3:
							temp=Radio.TunerBuff[Align.SubStep]/16;
							temp2=Radio.TunerBuff[Align.SubStep]%16;
							temp2=MaxMinChangeProtect(temp2, -1, 15, 0, 0);
							Radio.TunerBuff[Align.SubStep]=temp*16+temp2;
							break;
						case 4:
						case 5:
						case 6:
						case 7:
						case 8:
						case 9:
						case 10:
						case 11:
							temp=11-Align.EditPos;
							if(Radio.TunerBuff[Align.SubStep]&(1<<temp))
								Radio.TunerBuff[Align.SubStep]&=~(1<<temp);
							else
								Radio.TunerBuff[Align.SubStep]|=(1<<temp);
							break;
						
					}
					if(Align.EditPos>1)
						RadioTunerSend(Align.SubStep,Align.SubStep);
					break;

				case ALIGN_COPY:
					switch(Align.SubMode)
					{
						case ALIGN_COPY_STANDBY:
							Align.SubStep=MaxMinChangeProtect(Align.SubStep, 1, 5, 0, 0);
							break;
					}
					break;
			}
			Align.F_DispReq=1;
			break;*/
			
		case S_AD_LEFT:
			switch(Align.Mode)
			{
				case ALIGN_EEPROM:
					switch(Align.SubMode)
					{
						case ALIGN_EEPROM_TUNER:
						case ALIGN_EEPROM_BOARD:
							Align.EditPos=MaxMinChangeProtect(Align.EditPos, -1, 11, 0, 0);
							break;
					}
					break;

				case ALIGN_TUNERREG:
					Align.EditPos=MaxMinChangeProtect(Align.EditPos, -1, 11, 0, 0);
					break;
			}
			Align.F_DispReq=1;
			break;
			
		case S_AD_RIGHT:
			switch(Align.Mode)
			{
				case ALIGN_EEPROM:
					switch(Align.SubMode)
					{
						case ALIGN_EEPROM_TUNER:
						case ALIGN_EEPROM_BOARD:
							Align.EditPos=MaxMinChangeProtect(Align.EditPos, 1, 11, 0, 0);
							break;
					}
					break;

				case ALIGN_TUNERREG:
					Align.EditPos=MaxMinChangeProtect(Align.EditPos, 1, 11, 0, 0);
					break;
			}
			Align.F_DispReq=1;
			break;
			
		case S_AD_ENTER:
			Align.Timer=5;
			switch(Align.Mode)
			{
				case ALIGN_STANDBY:
					switch(Align.SubMode)
					{
						case ALIGN_SELECT_AUTO:
							Align.Mode=ALIGN_AUTOALIGN;
							Align.SubMode=ALIGN_AUTO_STANDBY;
							Align.SubStep=0;
							break;
						case ALIGN_SELECT_MANU:
							Align.Mode=ALIGN_MANUALIGN;
							#if TDA7540Tuner
							Align.SubMode=ALIGN_MANU_STANDBY;
							Align.SubStep=ALIGN_MANU_SELECT_XTAL;
							#endif
							#if TDA7541Tuner
							Align.SubMode=TDA7541_ALIGN_MANU_STANDBY;
							Align.SubStep=TDA7541_ALIGN_MANU_SELECT_XTAL;
							#endif
							break;
						case ALIGN_SELECT_EEPROM:
							Align.Mode=ALIGN_EEPROM;
							Align.SubMode=ALIGN_EEPROM_STANDBY;
							Align.SubStep=ALIGN_EEPROM_SELECT_TUNER;
							break;
						case ALIGN_SELECT_TUNER:
							Align.Mode=ALIGN_TUNERREG;
							Align.SubStep=0;
							Align.EditPos=1;
							break;
						case ALIGN_SELECT_COPY:
							Align.Mode=ALIGN_COPY;
							#if TDA7540Tuner
							Align.SubMode=ALIGN_COPY_STANDBY;
							Align.SubStep=ALIGN_COPY_SELECT_TREG2TEEP;
							#endif
							#if TDA7541Tuner
							Align.SubMode=TDA7541_ALIGN_COPY_STANDBY;
							Align.SubStep=TDA7541_ALIGN_COPY_SELECT_TREG2TEEPFM;
							#endif
							break;
					}
					break;

				case ALIGN_AUTOALIGN:
					switch(Align.SubMode)
					{
						case ALIGN_AUTO_STANDBY:
							Align.SubMode=ALIGN_AUTO_XTAL;
							break;
						case ALIGN_AUTO_XTAL_OK:
							#if TDA7540Tuner
							Align.SubMode=ALIGN_AUTO_FMIFTANK;
							#endif
							#if TDA7541Tuner
							Align.SubMode=ALIGN_AUTO_AMIFTANK;
							#endif
							break;
							
						case ALIGN_AUTO_FMIFTANK_OK:
							Align.SubMode=ALIGN_AUTO_AMIFTANK;
							break;
					
						case ALIGN_AUTO_AMIFTANK_OK:
							Align.SubMode=ALIGN_AUTO_IMAGE;
							break;
						case ALIGN_AUTO_IMAGE_OK:
							//Align.SubMode=ALIGN_AUTO_TV2_875;
							Align.SubMode=ALIGN_AUTO_TV2_881;
							break;
						//case ALIGN_AUTO_TV2_875_OK:
						case ALIGN_AUTO_TV2_881_OK:
							Align.SubMode=ALIGN_AUTO_TV2_981;
							break;
						case ALIGN_AUTO_TV2_981_OK:
							//Align.SubMode=ALIGN_AUTO_TV2_108;
							Align.SubMode=ALIGN_AUTO_TV2_1075;
							break;
						//case ALIGN_AUTO_TV2_108_OK:
						case ALIGN_AUTO_TV2_1075_OK:
							if(AutoAlignSelector==ALIGN_EU_ORIT ||AutoAlignSelector==ALIGN_EU_ORIT_JP)
							{
								Align.SubMode=ALIGN_AUTO_TV2_65;
							}
							else if(AutoAlignSelector==ALIGN_EU_JP)
							{
								Align.SubMode=ALIGN_AUTO_TV2_78;
							}
							else
							{
								Align.Mode=ALIGN_STANDBY;
								Align.SubMode=ALIGN_SELECT_AUTO;
							}								
							break;
						case ALIGN_AUTO_TV2_65_OK:
							Align.SubMode=ALIGN_AUTO_TV2_68;
							break;
						case ALIGN_AUTO_TV2_68_OK:
							Align.SubMode=ALIGN_AUTO_TV2_725;
							break;
						case ALIGN_AUTO_TV2_725_OK:
							if(AutoAlignSelector==ALIGN_EU_ORIT_JP)
							{
								Align.SubMode=ALIGN_AUTO_TV2_78;
							}
							else
							{
								Align.Mode=ALIGN_STANDBY;
								Align.SubMode=ALIGN_SELECT_AUTO;
							}								
							break;
						case ALIGN_AUTO_TV2_78_OK:
							Align.SubMode=ALIGN_AUTO_TV2_84;
							break;
						case ALIGN_AUTO_TV2_84_OK:
							Align.SubMode=ALIGN_AUTO_TV2_88;
							break;
						case ALIGN_AUTO_TV2_88_OK:
							Align.Mode=ALIGN_STANDBY;
							Align.SubMode=ALIGN_SELECT_AUTO;							
							break;						
						
					}
					Align.SubStep=0;
					break;

				case ALIGN_MANUALIGN:
					switch(Align.SubMode)
					{
						#if TDA7540Tuner
						case ALIGN_MANU_STANDBY:
							switch(Align.SubStep)
							{
								case ALIGN_MANU_SELECT_XTAL:
									Align.SubMode=ALIGN_MANU_XTAL;
									Align.SubStep=0;
									break;

								case ALIGN_MANU_SELECT_FMSLIDER:
									Align.SubMode=ALIGN_MANU_FMSLIDER;
									Align.SubStep=0;
									break;

								case ALIGN_MANU_SELECT_FMSTOP:
									Align.SubMode=ALIGN_MANU_FMSTOP;
									Align.SubStep=0;
									break;

								case ALIGN_MANU_SELECT_FMMUTE:
									Align.SubMode=ALIGN_MANU_FMMUTE;
									Align.SubStep=0;
									break;

								case ALIGN_MANU_SELECT_ROLLOFF:
									Align.SubMode=ALIGN_MANU_ROLLOFF;
									Align.SubStep=0;
									break;

								case ALIGN_MANU_SELECT_STBLEND:
									Align.SubMode=ALIGN_MANU_STBLEND;
									Align.SubStep=0;
									break;

								case ALIGN_MANU_SELECT_VHCL:
									Align.SubMode=ALIGN_MANU_VHCL;
									Align.SubStep=0;
									break;

								case ALIGN_MANU_SELECT_VHCH:
									Align.SubMode=ALIGN_MANU_VHCH;
									Align.SubStep=0;
									break;
									
								case ALIGN_MANU_SELECT_HIGHCUT:
									Align.SubMode=ALIGN_MANU_HIGHCUT;
									Align.SubStep=0;
									break;

								case ALIGN_MANU_SELECT_FMDEMOD:
									Align.SubMode=ALIGN_MANU_FMDEMOD;
									Align.SubStep=0;
									break;

								case ALIGN_MANU_SELECT_IFGAIN:
									Align.SubMode=ALIGN_MANU_IFGAIN;
									Align.SubStep=0;
									break;

								case ALIGN_MANU_SELECT_AMAGC:
									Align.SubMode=ALIGN_MANU_AMAGC;
									Align.SubStep=0;
									break;

								case ALIGN_MANU_SELECT_IFCOUNT:
									Align.SubMode=ALIGN_MANU_IFCOUNT;
									Align.SubStep=0;
									break;
							}							
						break;
						case ALIGN_MANU_XTAL:
						case ALIGN_MANU_FMSLIDER:
						case ALIGN_MANU_FMSTOP:
						case ALIGN_MANU_FMMUTE:
						case ALIGN_MANU_ROLLOFF:
						case ALIGN_MANU_STBLEND:
						case ALIGN_MANU_VHCL:
						case ALIGN_MANU_VHCH:

⌨️ 快捷键说明

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