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

📄 tuner.c

📁 STV0299 Minituner driver, for ST chipset
💻 C
📖 第 1 页 / 共 5 页
字号:
					ChipSetFieldImage(hTuner->Chip,FTD1300ALF_SP012,0x02);      
				else if ((Frequency>448000)&& (Frequency<=861000)) 
					ChipSetFieldImage(hTuner->Chip,FTD1300ALF_SP012,0x04);      
				
				
				error = TunerWrite(hTuner); 
				
			break; 
			
		
		
			case TUNER_TDM1300:
				//TunerSetStepsize(hTuner,hTuner->StepSize);
				frequency = Frequency +(hTuner->IF);
				divider = (frequency * 100) / (hTuner->StepSize / 10);
				ChipSetFieldImage(hTuner->Chip,FTDM1300_N_MSB,((divider >> 8) & 0x7F));
				ChipSetFieldImage(hTuner->Chip,FTDM1300_N_LSB,((divider ) & 0xFF));
				
				stepsize= hTuner->StepSize;
				
				if (stepsize==166667)
				{
				
					if(((frequency>87000)&&(frequency<=130000))||((frequency>200000)&&(frequency<=290000))||((frequency>480000)&&(frequency<=620000)))
						ChipSetFieldImage(hTuner->Chip,FTDM1300_CP,0x03);
					
					else if(((frequency>130000)&&(frequency<=160000))||((frequency>290000)&&(frequency<=420000))||((frequency>620000)&&(frequency<=830000)))
						ChipSetFieldImage(hTuner->Chip,FTDM1300_CP,0x05); 
					
					else if(((frequency>420000)&&(frequency<=480000))||((frequency>160000)&&(frequency<=196000)))
						ChipSetFieldImage(hTuner->Chip,FTDM1300_CP,0x06);
				
					else if(frequency>830000)
						ChipSetFieldImage(hTuner->Chip,FTDM1300_CP,0x07);
						
				}
				else
				{
					ChipSetFieldImage(hTuner->Chip,FTDM1300_CP,0x02);
				}
				
				
				if ((Frequency>49000)&& (Frequency<=159000))
					ChipSetFieldImage(hTuner->Chip,FTDM1300_SP123,0x01); 
				else if ((Frequency>162000)&& (Frequency<=444000)) 
					ChipSetFieldImage(hTuner->Chip,FTDM1300_SP123,0x02);      
				else if ((Frequency>448000)&& (Frequency<=861000)) 
					ChipSetFieldImage(hTuner->Chip,FTDM1300_SP123,0x04);      
				
				
				error = TunerWrite(hTuner); 
				
			break; 
			case TUNER_DTT7592:
				TunerSetStepsize(hTuner,hTuner->StepSize); 
				frequency = Frequency +(hTuner->IF);
				divider = (frequency * 100) / (TunerGetStepsize(hTuner) / 10);
			
				ChipSetFieldImage(hTuner->Chip,FDTT7592_N_MSB,((divider >> 8) & 0x7F));
				ChipSetFieldImage(hTuner->Chip,FDTT7592_N_LSB,((divider ) & 0xFF));
			

				if 	(Frequency <= 230000) 
				{
					ChipSetFieldImage(hTuner->Chip,FDTT7592_BW_AUX,0x02);
					ChipSetFieldImage(hTuner->Chip,FDTT7592_CP,0);
					ChipSetFieldImage(hTuner->Chip,FDTT7592_T,(ChipGetFieldImage(hTuner->Chip,FDTT7592_T))&0x06);
				}
				
				else if (Frequency <= 699000) 
				{
					ChipSetFieldImage(hTuner->Chip,FDTT7592_BW_AUX,0x08); 
					ChipSetFieldImage(hTuner->Chip,FDTT7592_CP,0);
					ChipSetFieldImage(hTuner->Chip,FDTT7592_T,(ChipGetFieldImage(hTuner->Chip,FDTT7592_T))|0x01);
				}
				
				else if (Frequency <= 799000)
				{
					ChipSetFieldImage(hTuner->Chip,FDTT7592_BW_AUX,0x08);
					ChipSetFieldImage(hTuner->Chip,FDTT7592_CP,1);
					ChipSetFieldImage(hTuner->Chip,FDTT7592_T,(ChipGetFieldImage(hTuner->Chip,FDTT7592_T))&0x06); 
				}
				
				else if (Frequency <= 860000)
				{
					ChipSetFieldImage(hTuner->Chip,FDTT7592_BW_AUX,0x08);
					ChipSetFieldImage(hTuner->Chip,FDTT7592_CP,1);
					ChipSetFieldImage(hTuner->Chip,FDTT7592_T,(ChipGetFieldImage(hTuner->Chip,FDTT7592_T))|0x01);
				}
				error = TunerWrite(hTuner);
				
			break;
			
			case TUNER_DTT7300X:
				TunerSetStepsize(hTuner,hTuner->StepSize); 
				frequency = Frequency +(hTuner->IF);
				divider = (frequency * 100) / (TunerGetStepsize(hTuner) / 10);
			
				ChipSetFieldImage(hTuner->Chip,FDTT7300X_N_MSB,((divider >> 8) & 0x7F));
				ChipSetFieldImage(hTuner->Chip,FDTT7300X_N_LSB,((divider ) & 0xFF));
			

				if 	(frequency <= 305000) 
				{
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_BW_AUX,0x02);
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_CP,0);
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_T,(ChipGetFieldImage(hTuner->Chip,FDTT7300X_T))&0x06);
				}
				
				else if 	(frequency <= 405000) 
				{
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_BW_AUX,0x02);
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_CP,0);
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_T,(ChipGetFieldImage(hTuner->Chip,FDTT7300X_T))|0x01);
				}
				
				else if 	(frequency <= 445000) 
				{
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_BW_AUX,0x02);
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_CP,1);
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_T,(ChipGetFieldImage(hTuner->Chip,FDTT7300X_T))&0x06);
				}
				
				else if 	(frequency <= 465000) 
				{
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_BW_AUX,0x02);
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_CP,1);
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_T,(ChipGetFieldImage(hTuner->Chip,FDTT7300X_T))|0x01);
				}
				
				else if (frequency <= 735000) 
				{
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_BW_AUX,0x08); 
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_CP,0);
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_T,(ChipGetFieldImage(hTuner->Chip,FDTT7300X_T))|0x01);
				}
				
				else if (frequency <= 835000)
				{
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_BW_AUX,0x08);
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_CP,1);
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_T,(ChipGetFieldImage(hTuner->Chip,FDTT7300X_T))&0x06); 
				}
				
				else if (frequency <= 896000)
				{
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_BW_AUX,0x08);
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_CP,1);
					ChipSetFieldImage(hTuner->Chip,FDTT7300X_T,(ChipGetFieldImage(hTuner->Chip,FDTT7300X_T))|0x01);
				}
				error = TunerWrite(hTuner);
				
			break;
			
			
			case TUNER_DTT75300:
				
				TunerSetStepsize(hTuner,hTuner->StepSize); 
				frequency = Frequency +(hTuner->IF);
				divider = (frequency * 100) / (TunerGetStepsize(hTuner) / 10);
			
				ChipSetFieldImage(hTuner->Chip,FDTT75300_N_MSB,((divider >> 8) & 0x7F));
				ChipSetFieldImage(hTuner->Chip,FDTT75300_N_LSB,((divider ) & 0xFF));
			

				// Controlbyte 1 //
				ChipSetFieldImage(hTuner->Chip,FDTT75300_FIX_C1,   0x01);
				
				// Controlbyte 2 //
				ChipSetFieldImage(hTuner->Chip,FDTT75300_POW_DOWN, 0x03);
				
				if 	(Frequency <= 200000) 
				{
					//ChipSetFieldImage(hTuner->Chip,FDTT7592_BW_AUX,0x02);
					ChipSetFieldImage(hTuner->Chip,FDTT75300_CP,  0x01);
					ChipSetFieldImage(hTuner->Chip,FDTT75300_BAND,0x01);
					ChipSetFieldImage(hTuner->Chip,FDTT75300_PORT,0x09);
					//ChipSetFieldImage(hTuner->Chip,FDTT7592_T,(ChipGetFieldImage(hTuner->Chip,FDTT7592_T))&0x06);
				}
				else if (Frequency <= 470000) // 230000
				{
					//ChipSetFieldImage(hTuner->Chip,FDTT7592_BW_AUX,0x08); 
					ChipSetFieldImage(hTuner->Chip,FDTT75300_CP,  0x02);
					ChipSetFieldImage(hTuner->Chip,FDTT75300_BAND,0x01);
					ChipSetFieldImage(hTuner->Chip,FDTT75300_PORT,0x09);
					//ChipSetFieldImage(hTuner->Chip,FDTT7592_T,(ChipGetFieldImage(hTuner->Chip,FDTT7592_T))|0x01);
				}
				
				else if (Frequency <= 500000) 
				{
					//ChipSetFieldImage(hTuner->Chip,FDTT7592_BW_AUX,0x08); 
					ChipSetFieldImage(hTuner->Chip,FDTT75300_CP,  0x01);
					ChipSetFieldImage(hTuner->Chip,FDTT75300_BAND,0x02);
					ChipSetFieldImage(hTuner->Chip,FDTT75300_PORT,0x00);
					//ChipSetFieldImage(hTuner->Chip,FDTT7592_T,(ChipGetFieldImage(hTuner->Chip,FDTT7592_T))|0x01);
				}
				
				else if (Frequency <= 775000)
				{
					//ChipSetFieldImage(hTuner->Chip,FDTT7592_BW_AUX,0x08);
					ChipSetFieldImage(hTuner->Chip,FDTT75300_CP,  0x02);
					ChipSetFieldImage(hTuner->Chip,FDTT75300_BAND,0x02);
					ChipSetFieldImage(hTuner->Chip,FDTT75300_PORT,0x00);
					//ChipSetFieldImage(hTuner->Chip,FDTT7592_T,(ChipGetFieldImage(hTuner->Chip,FDTT7592_T))&0x06); 
				}
				
				else if (Frequency <= 860000)
				{
					//ChipSetFieldImage(hTuner->Chip,FDTT7592_BW_AUX,0x08);
					ChipSetFieldImage(hTuner->Chip,FDTT75300_CP,  0x03);
					ChipSetFieldImage(hTuner->Chip,FDTT75300_BAND,0x02);
					ChipSetFieldImage(hTuner->Chip,FDTT75300_PORT,0x00);
					//ChipSetFieldImage(hTuner->Chip,FDTT7592_T,(ChipGetFieldImage(hTuner->Chip,FDTT7592_T))|0x01);
				}
				
				// Controlbyte 3 //
				ChipSetFieldImage(hTuner->Chip,FDTT75300_LO1, 0x00);
				ChipSetFieldImage(hTuner->Chip,FDTT75300_LO0, 0x01);
				ChipSetFieldImage(hTuner->Chip,FDTT75300_ATC, 1);
				ChipSetFieldImage(hTuner->Chip,FDTT75300_IFE, 0x01);
				ChipSetFieldImage(hTuner->Chip,FDTT75300_ZERO,0x00);
				ChipSetFieldImage(hTuner->Chip,FDTT75300_AGC_THRES, 0x01); // Threshold 118dB礦
				
				// Controlbyte 4 //
				ChipSetFieldImage(hTuner->Chip,FDTT75300_SAS, 		0x01);
				ChipSetFieldImage(hTuner->Chip,FDTT75300_FIX_C4, 	0x00);
				ChipSetFieldImage(hTuner->Chip,FDTT75300_AGD, 		0x00);
				ChipSetFieldImage(hTuner->Chip,FDTT75300_ADS, 		0x00);
				ChipSetFieldImage(hTuner->Chip,FDTT75300_TEST_MODE, 0x00); 
				
				error = TunerWrite(hTuner);
				
			break;
			
			case TUNER_ED5265:
				
				TunerSetStepsize(hTuner,hTuner->StepSize); 
				frequency = Frequency +(hTuner->IF);
				divider = (frequency * 100) / (TunerGetStepsize(hTuner) / 10);
			
				ChipSetFieldImage(hTuner->Chip,FED5265_N_MSB,((divider >> 8) & 0x7F));
				ChipSetFieldImage(hTuner->Chip,FED5265_N_LSB,((divider ) & 0xFF));
			

				
				ChipSetFieldImage(hTuner->Chip,FED5265_SL, 0x03);
				
				if 	(Frequency <= 341900) 
				{
					ChipSetFieldImage(hTuner->Chip,FED5265_C,   0x00);
					ChipSetFieldImage(hTuner->Chip,FED5265_BS,  0x01);
					ChipSetFieldImage(hTuner->Chip,FED5265_P321,0x02);
					ChipSetFieldImage(hTuner->Chip,FED5265_LO  ,0x01);
				}
				else if (Frequency <= 401900) 
				{
					ChipSetFieldImage(hTuner->Chip,FED5265_C,   0x01);
					ChipSetFieldImage(hTuner->Chip,FED5265_BS,  0x01);
					ChipSetFieldImage(hTuner->Chip,FED5265_P321,0x02);
					ChipSetFieldImage(hTuner->Chip,FED5265_LO  ,0x01);
				}
				
				else if (Frequency <= 426000) 
				{
					ChipSetFieldImage(hTuner->Chip,FED5265_C,   0x02);
					ChipSetFieldImage(hTuner->Chip,FED5265_BS,  0x01);
					ChipSetFieldImage(hTuner->Chip,FED5265_P321,0x02);
					ChipSetFieldImage(hTuner->Chip,FED5265_LO  ,0x01);
				}
				
				else if (Frequency <= 751900)
				{
					ChipSetFieldImage(hTuner->Chip,FED5265_C,   0x01);
					ChipSetFieldImage(hTuner->Chip,FED5265_BS,  0x02);
					ChipSetFieldImage(hTuner->Chip,FED5265_P321,0x04);
					ChipSetFieldImage(hTuner->Chip,FED5265_LO  ,0x01);
				}
				
				else if (Frequency <= 831900)
				{
					ChipSetFieldImage(hTuner->Chip,FED5265_C,   0x02);
					ChipSetFieldImage(hTuner->Chip,FED5265_BS,  0x02);
					ChipSetFieldImage(hTuner->Chip,FED5265_P321,0x04);
					ChipSetFieldImage(hTuner->Chip,FED5265_LO  ,0x03);
				}
				
				else if (Frequency <= 858000)
				{
					ChipSetFieldImage(hTuner->Chip,FED5265_C,   0x03);
					ChipSetFieldImage(hTuner->Chip,FED5265_BS,  0x02);
					ChipSetFieldImage(hTuner->Chip,FED

⌨️ 快捷键说明

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