📄 ll_tun0360.c
字号:
case 166667:
chargepump=chargepump|(2);
break;
case 62500:
chargepump=chargepump;
break;
}
Tuner->WrBuffer[2] = (unsigned char) chargepump;
channel_size=Tuner->ChannelBW;
Tuner->WrBuffer[3] = (unsigned char) 0xAC;
if(Tuner->StepSize ==50000 || Tuner->StepSize ==62500)
{
Tuner->WrBuffer[3] = (unsigned char) 0x44;
if (frequency<=68000)
{
Tuner->WrBuffer[3] = (unsigned char) (0x49); /* VHF I */
}
else if (frequency<=228000)
{
Tuner->WrBuffer[3] = (unsigned char) (0x4A); /* VHF III */
}
else
{
Tuner->WrBuffer[3] = (unsigned char) (0x4C); /* UHF */
}
if(channel_size == 7)
{
Tuner->WrBuffer[3] &= 0xF7;
}
Tuner->WrSubBuffer[3] = Tuner->WrSubBuffer[3];
}
else
{
if (frequency<=68000)
{
Tuner->WrBuffer[3] = (unsigned char) (0x69); /* VHF I */
}
else if (frequency<=228000)
{
Tuner->WrBuffer[3] = (unsigned char) (0x6A); /* VHF III */
}
else if (frequency <=620000)
{
Tuner->WrBuffer[3] = (unsigned char) (0x6C); /* UHF */
}
else
{
Tuner->WrBuffer[3] = (unsigned char) (0xAC); /* UHF */
}
if(channel_size == 7)
{
Tuner->WrBuffer[3] &= 0xF7;
}
Tuner->WrSubBuffer[3] = Tuner->WrSubBuffer[3];
}
break;
#endif
#ifdef STTUNER_DRV_TER_TUN_ENG47402G1
case STTUNER_TUNER_ENG47402G1:
chargepump = 0x88;
Tuner->WrBuffer[2] = (unsigned char) chargepump;
loc_CB=0x0;
if (frequency <= 230000)
{
loc_CB = 0x62;
}
else if (frequency <= 518000)
{
loc_CB = 0x64;
}
else if (frequency <= 758000)
{
loc_CB = 0xA4;
}
else
{
loc_CB = 0xE4;
}
Tuner->WrBuffer[3] = (unsigned char) loc_CB;
Tuner->WrSubBuffer[2]= (unsigned char) 0xFA;
Tuner->WrSubBuffer[3]= (unsigned char) 0x6C;
break;
#endif
/*************************NEW TUNER**********************************************************/
#ifdef STTUNER_DRV_TER_TUN_ED5058
case STTUNER_TUNER_ED5058:
/*if (frequency <= 239900) chargepump=(unsigned char)0x32;
else if (frequency <= 309900) chargepump=(unsigned char)0x52;
else if (frequency <= 379900) chargepump=(unsigned char)0x72;
else if (frequency <= 429900) chargepump=(unsigned char)0x92;*/
/***************** UHF BAND ***********************************/
if (frequency <= 577900) chargepump=(unsigned char)0x94;
else if (frequency <= 649900) chargepump=(unsigned char)0xB4;
else if (frequency <= 745900) chargepump=(unsigned char)0xD4;
else chargepump=(unsigned char)0xF4;
Tuner->WrBuffer[3] = (unsigned char) chargepump;
channel_size=Tuner->ChannelBW;
#ifdef HOST_PC
UsrRdInt("CHANNEL_WIDTH",&channel_size);
#endif
if (channel_size==7) Tuner->WrBuffer[3]= ( (Tuner->WrBuffer[3]) | (0x10));
/* Tuner->WrSubBuffer[3]=Tuner->WrBuffer[3];*/
/* Tuner->WrBuffer[4] = (unsigned char) Tuner->Address; */
Tuner->WrBuffer[2]= 0xCA; /* Configuration en mode normal et avec freq step de 166,67 khz*/
/* The auxilary byte replaces bandswitch byte */
Atc=1;
#ifdef HOST_PC
UsrRdInt("Atc",&Atc);
#endif
Tuner->WrBuffer[4] = (unsigned char) (0x80 | (Atc<<3));
break;
#endif
/******************************************************************************************/
/*************MIVAR********************************************/
#ifdef STTUNER_DRV_TER_TUN_MIVAR
case STTUNER_TUNER_MIVAR:
/*#ifdef HOST_PC
UsrRdInt("Atc",&Atc);
#else
Atc=1;
#endif*/
Atc=1;
frequency+=Tuner->IF;
if (frequency <= 136000) chargepump=(unsigned char)0x41;
else if (frequency <= 160000) chargepump=(unsigned char)0x61;
else if (frequency <= 164000) chargepump=(unsigned char)0x81;
else if (frequency <= 176000) chargepump=(unsigned char)0xA1;
else if (frequency <= 185000) chargepump=(unsigned char)0xC1;/*spec modified*/
else if (frequency <= 196000) chargepump=(unsigned char)0x42;/*spec modified*/
else if (frequency <= 284000) chargepump=(unsigned char)0x42;
else if (frequency <= 324000) chargepump=(unsigned char)0x62;
else if (frequency <= 364000) chargepump=(unsigned char)0x82;
else if (frequency <= 408000) chargepump=(unsigned char)0xA2;
else if (frequency <= 444000) chargepump=(unsigned char)0xC2;
else if (frequency <= 484000) chargepump=(unsigned char)0xA2;/* Should be 0xA2 */
else if (frequency <= 500000) chargepump=(unsigned char)0x44;
else if (frequency <= 524000) chargepump=(unsigned char)0x64;
else if (frequency <= 560000) chargepump=(unsigned char)0x84;
else if (frequency <= 712000) chargepump=(unsigned char)0xA4;
else if (frequency <= 868000) chargepump=(unsigned char)0xC4;
/* else if (frequency <= 878000) chargepump=(unsigned char)0xE4;*/ /*should be 0xE4 */
else if (frequency <= 904000) chargepump=(unsigned char)0xA4;/*should be 0xE4 */
else chargepump=(unsigned char)0xC4;
Tuner->WrSubBuffer[3] = (unsigned char) chargepump;
/*
chargepump=(chargepump&(0x3F));
chargepump|=(2<<5);
*/
Tuner->WrBuffer[3] = (unsigned char) chargepump;
Tuner->WrBuffer[2] = (unsigned char) 0x8B;
Tuner->WrSubBuffer[2] = (unsigned char) 0x83;
chargepump=(unsigned char)0xC8;
switch(Tuner->StepSize)
{
case 50000:
chargepump=(chargepump|0x3);
break;
case 166667:
chargepump=chargepump|(2);
break;
case 62500:
chargepump=chargepump;
break;
case 125000:
chargepump=chargepump|(0x4);
break;
case 142860:
chargepump=chargepump|(0x1);/* RSA RSB */
break;
}
Tuner->WrBuffer[4] = (unsigned char)(chargepump);
Tuner->WrSubBuffer[4] = (unsigned char)(chargepump ); /* UHF */
frequency-=Tuner->IF;
break;
#endif
/**************TDED4**************************/
#ifdef STTUNER_DRV_TER_TUN_TDED4
case STTUNER_TUNER_TDED4:
channel_size=Tuner->ChannelBW;
#ifdef HOST_PC
UsrRdInt("CHANNEL_WIDTH",&channel_size);
#endif
if (frequency <= 230000) chargepump=(unsigned char)0x02;
else if (frequency <= 824000) chargepump=(unsigned char)0x08;
else chargepump=(unsigned char)0x88;
/* if (channel_size==8) (chargepump=chargepump|4); */
Tuner->WrBuffer[3] = chargepump;
break;
#endif
/************DTT7102*********************/
#ifdef STTUNER_DRV_TER_TUN_DTT7102
case STTUNER_TUNER_DTT7102:
if (frequency <= 230000) chargepump=(unsigned char)0xB4;/* modifs of the spec */
else if (frequency <= 699000) chargepump=(unsigned char)0xBC;
else if (frequency <= 799000) chargepump=(unsigned char)0xF4;
else if (frequency <= 860000) chargepump=(unsigned char)0xFC;
else chargepump=(unsigned char)0xFC;
switch(Tuner->StepSize)
{
case 50000:
chargepump=(chargepump&0xC9);
break;
case 31250:
chargepump=(chargepump&0xC9);
chargepump=chargepump|((0x1)<<1);
break;
case 166667:
chargepump=(chargepump&0xF9);
chargepump=chargepump|(2<<1);
break;
case 62500:
chargepump=(chargepump&0xF9);
chargepump=chargepump|(3<<1);
break;
case 125000:
chargepump=(chargepump&0xC9);
chargepump=chargepump|(0x3<<4);
break;
case 142860:
chargepump=(chargepump&0xC9);
chargepump=chargepump|(0x3<<4);
chargepump=chargepump|(0x1<<1);/* RSA RSB */
break;
}
Tuner->WrBuffer[2] = (unsigned char) chargepump;
channel_size=Tuner->ChannelBW;
#ifdef HOST_PC
UsrRdInt("CHANNEL_WIDTH",&channel_size);
#endif
if (frequency<=68000) Tuner->WrBuffer[3] = (unsigned char) 0x01; /* VHF I */
else if (frequency<=228000) Tuner->WrBuffer[3] = (unsigned char) 0x02; /* VHF III */
else Tuner->WrBuffer[3] = (unsigned char) 0x08; /* UHF */
if (channel_size==7) Tuner->WrBuffer[3]= ( (Tuner->WrBuffer[3]) | (0x10));
/* Tuner->WrBuffer[4] = (unsigned char) Tuner->Address; */
Tuner->WrSubBuffer[2]= ((chargepump & 0xC7)|(3<<3));
Atc=1;
#ifdef HOST_PC
UsrRdInt("Atc",&Atc);
#endif
Tuner->WrSubBuffer[3] = (unsigned char) (0x20 | (Atc<<7));
break;
#endif
/***************TECC2849PG******************************/
#ifdef STTUNER_DRV_TER_TUN_TECC2849PG
case STTUNER_TUNER_TECC2849PG:
if (frequency <= 150000) chargepump=(unsigned char)0xB0;/* modifs of the spec */
else if (frequency <= 174000) chargepump=(unsigned char)0xB8;
else if (frequency <= 400000) chargepump=(unsigned char)0xB0;
else if (frequency <= 466000) chargepump=(unsigned char)0xB8;
else if (frequency <= 730000) chargepump=(unsigned char)0xB8;
else if (frequency <= 860000) chargepump=(unsigned char)0xF4;
else chargepump=(unsigned char)0xB8;
switch(Tuner->StepSize)
{
case 166667:
chargepump=chargepump|(2<<1);
break;
case 50000:
case 31250:
case 62500:
chargepump=chargepump|(3<<1);
break;
case 125000:
chargepump=chargepump|(0x0<<1);
break;
case 142860:
chargepump=chargepump|(0x1<<1);/* RSA RSB */
break;
}
/*UsrRdInt("Atc",&Atc);*/
Atc=1;
chargepump=chargepump|(Atc);/* RSA RSB */
Tuner->WrBuffer[2] = (unsigned char) chargepump;
channel_size=Tuner->ChannelBW;
#ifdef HOST_PC
UsrRdInt("CHANNEL_WIDTH",&channel_size);
#endif
if (frequency<=174000) Tuner->WrBuffer[3] = (unsigned char) 0x01; /* VHF LOW */
else if (frequency<474000) Tuner->WrBuffer[3] = (unsigned char) 0x02; /* VHF HIGH */
else Tuner->WrBuffer[3] = (unsigned char) 0x08; /* UHF */
#ifdef HOST_PC
UsrRdInt("Atc",&Atc);
#endif
break;
#endif
#ifdef STTUNER_DRV_TER_TUN_TDCC2345
case STTUNER_TUNER_TDCC2345:
if(frequency <= 150000) chargepump=(unsigned char)0xB8;/* modifs of the spec */
else if (frequency <= 174000) chargepump=(unsigned char)0xF0;
else if (frequency <= 374000) chargepump=(unsigned char)0xB8;
else if (frequency <= 454000) chargepump=(unsigned char)0xF0;
else if (frequency <= 470000) chargepump=(unsigned char)0xF8;
else if (frequency <= 542000) chargepump=(unsigned char)0xB8;
else if (frequency <= 830000) chargepump=(unsigned char)0xF0;
else if (frequency <= 860000) chargepump=(unsigned char)0xF8;
else chargepump=(unsigned char)0xB8;
switch(Tuner->StepSize)
{
case 166667:
chargepump=chargepump|(2<<1);
break;
case 50000:
case 31250:
case 62500:
chargepump=chargepump|(3<<1);
break;
case 125000:
chargepump=chargepump|(0xC<<1);
break;
case 142860:
chargepump=chargepump|(0xD<<1);/* RSA RSB */
break;
}
/*UsrRdInt("Atc",&Atc); */
Atc=1;
chargepump=chargepump|(Atc); /* RSA RSB */
Tuner->WrBuffer[2] = (unsigned char) chargepump;
channel_size=Tuner->ChannelBW;
#ifdef HOST_PC
UsrRdInt("CHANNEL_WIDTH",&channel_size);
#endif
if (frequency<=174000) Tuner->WrBuffer[3] = (unsigned char) 0x01; /* VHF LOW */
else if (frequency<474000) Tuner->WrBuffer[3] = (unsigned char) 0x02; /* VHF HIGH */
else Tuner->WrBuffer[3] = (unsigned char) 0x08; /* UHF */
#ifdef HOST_PC
UsrRdInt("Atc",&Atc);
#endif
break;
#endif
#endif
default:
break;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -