📄 ll_tun0360.c
字号:
break;
#endif
#ifdef STTUNER_DRV_TER_TUN_ED5058
case STTUNER_TUNER_ED5058:
#ifdef HOST_PC
strcpy((char*)Tuner->DeviceName,(char*)"SHARP ED5058");
#endif
Tuner->PLLType = TUNER_PLL_ED5058;
Tuner->SubAddress=0xC2; /* Avoir anvec davidee*/
/* Tuner->WrSubSize=4; */
Tuner->I_Q = 1;
Tuner->FreqFactor = 1;
Tuner->StepSize = (int)166667L;
Tuner->IF = (int)36000L;
Tuner->BandWidth[0] = (int)8000L;/* BS5 in CD2 is set to 1 */
/* NEXT I WILL GIVE THE CHOICE TO SWITCH BETWEEN 7Mhz AND 8Mhz */
Tuner->BandWidth[1] = (int)0L;
/*dcdc Tuner->Repeator = 0;*/
/******************NE CHANGE RIEN***************/
Tuner->WrSize = 5;
Tuner->WrBuffer[0] = 0xB;
Tuner->WrBuffer[1] = 0xF4;
Tuner->WrBuffer[2] = 0xCA;
Tuner->WrBuffer[3] = 0x94;
Tuner->WrBuffer[4] = 0x80;
/* Tuner->WrSubBuffer[0] = 0x2;
Tuner->WrSubBuffer[1] = 0x34;
Tuner->WrSubBuffer[2] = 0x93;
Tuner->WrSubBuffer[3] = 0x05;*/
/**********************************************/
Tuner->RdSize = 1;
Tuner->RdBuffer[0] = 0x00;
break;
#endif
/***********************************************************************************************/
/******************MIVAR***************************************/
#ifdef STTUNER_DRV_TER_TUN_MIVAR
case STTUNER_TUNER_MIVAR:
#ifdef HOST_PC
strcpy((char*)Tuner->DeviceName,(char*)"MIVAR");
#endif
Tuner->PLLType = TUNER_PLL_MIVAR;
Tuner->SubAddress=0xC0;
Tuner->WrSubSize=5;
Tuner->I_Q = 1;
Tuner->FreqFactor = 1;
Tuner->StepSize = (int)125000L;
Tuner->IF = (int)36125L;
Tuner->BandWidth[0] = (int)7600L;
Tuner->BandWidth[1] = (int)0L;
/* Tuner->Repeator = 0;*/
Tuner->WrSize = 5;
Tuner->WrBuffer[0] = 0x19;
Tuner->WrBuffer[1] = 0xF1;
Tuner->WrBuffer[2] = 0xCC;
Tuner->WrBuffer[3] = 0xC4;
Tuner->WrBuffer[4] = 0x8B;
Tuner->WrSubBuffer[0] = 0x19;
Tuner->WrSubBuffer[1] = 0xF1;
Tuner->WrSubBuffer[2] = 0xCC;
Tuner->WrSubBuffer[3] = 0xC4;
Tuner->WrSubBuffer[4] = 0x83;
Tuner->RdSize = 1;
Tuner->RdBuffer[0] = 0x00;
#ifdef HOST_PC
/*UsrWrInt("Step",Tuner->StepSize);
UsrWrDouble("If",(double)(Tuner->IF/1000.0));*/
#endif
break;
#endif
/******************Tuner TDED4*******************/
#ifdef STTUNER_DRV_TER_TUN_TDED4
case STTUNER_TUNER_TDED4:
#ifdef HOST_PC
strcpy((char*)Tuner->DeviceName,(char*)"ALPS TDED4");
#endif
Tuner->PLLType = TUNER_PLL_TDED4;
Tuner->I_Q = 1;
Tuner->FreqFactor = 1;
Tuner->StepSize = (int) 166667L;
Tuner->IF = (int) 36167L;
Tuner->BandWidth[0] = (int) 7600L;
Tuner->BandWidth[1] = (int) 0L;
/* dcdc Tuner->Repeator = 0; */
Tuner->WrSize = 4;
Tuner->WrBuffer[0] = 0x0B;
Tuner->WrBuffer[1] = 0xF5;
Tuner->WrBuffer[2] = 0x85;
Tuner->WrBuffer[3] = 0x8;
Tuner->RdSize = 1;
Tuner->RdBuffer[0] = 0x00;
break;
#endif
/**************Tuner DTT7102*******************/
#ifdef STTUNER_DRV_TER_TUN_DTT7102
case STTUNER_TUNER_DTT7102:
#ifdef HOST_PC
strcpy((char*)Tuner->DeviceName,(char*)"TMM DTT7102");
#endif
Tuner->PLLType = TUNER_PLL_DTT7102;
Tuner->SubAddress=0xC0;
Tuner->WrSubSize=4;
Tuner->I_Q = 1;
Tuner->FreqFactor = 1;
Tuner->StepSize = (int)166667L;
Tuner->IF = (int)36000L;
Tuner->BandWidth[0] = (int)7600L;
Tuner->BandWidth[1] = (int)0L;
/* Tuner->Repeator = 0; */
Tuner->WrSize = 4;
Tuner->WrBuffer[0] = 0x2;
Tuner->WrBuffer[1] = 0x34;
Tuner->WrBuffer[2] = 0x93;
Tuner->WrBuffer[3] = 0x05;
Tuner->WrSubBuffer[0] = 0x2;
Tuner->WrSubBuffer[1] = 0x34;
Tuner->WrSubBuffer[2] = 0x93;
Tuner->WrSubBuffer[3] = 0x05;
Tuner->RdSize = 1;
Tuner->RdBuffer[0] = 0x00;
break;
#endif
/***************TECC2849PG***********************/
#ifdef STTUNER_DRV_TER_TUN_TECC2849PG
case STTUNER_TUNER_TECC2849PG:
#ifdef HOST_PC
strcpy((char*)Tuner->DeviceName,(char*)"SEM TECC2849PG ");
#endif
Tuner->PLLType = TUNER_PLL_TECC2849PG;
Tuner->SubAddress=0xC0;
Tuner->WrSubSize=0;
Tuner->I_Q = 1;
Tuner->FreqFactor = 1;
Tuner->StepSize = (int)166667L;
Tuner->IF = (int)36125L;
Tuner->BandWidth[0] = (int)7600L;
Tuner->BandWidth[1] = (int)0L;
/* Tuner->Repeator = 0;*/
Tuner->WrSize = 4;
Tuner->WrBuffer[0] = 0x2;
Tuner->WrBuffer[1] = 0x34;
Tuner->WrBuffer[2] = 0x93;
Tuner->WrBuffer[3] = 0x05;
Tuner->WrSubBuffer[0] = 0x2;
Tuner->WrSubBuffer[1] = 0x34;
Tuner->WrSubBuffer[2] = 0x93;
Tuner->WrSubBuffer[3] = 0x05;
Tuner->RdSize = 1;
Tuner->RdBuffer[0] = 0x00;
break;
#endif
/************TDCC2345*****************/
#ifdef STTUNER_DRV_TER_TUN_TDCC2345
case STTUNER_TUNER_TDCC2345:
#ifdef HOST_PC
strcpy((char*)Tuner->DeviceName,(char*)"SEM TDCC2345 ");
#endif
Tuner->PLLType = TUNER_PLL_TDCC2345;
Tuner->SubAddress=0xC0;
Tuner->WrSubSize=0;
Tuner->I_Q = 1;
Tuner->FreqFactor = 1;
Tuner->StepSize = (int)166667L;
Tuner->IF = (int)36125L;
Tuner->BandWidth[0] = (int)7600L;
Tuner->BandWidth[1] = (int)0L;
/* Tuner->Repeator = 0;*/
Tuner->WrSize = 4;
Tuner->WrBuffer[0] = 0x2;
Tuner->WrBuffer[1] = 0x34;
Tuner->WrBuffer[2] = 0x93;
Tuner->WrBuffer[3] = 0x05;
Tuner->WrSubBuffer[0] = 0x2;
Tuner->WrSubBuffer[1] = 0x34;
Tuner->WrSubBuffer[2] = 0x93;
Tuner->WrSubBuffer[3] = 0x05;
Tuner->RdSize = 1;
Tuner->RdBuffer[0] = 0x00;
break;
#endif
#endif
default:
Tuner->Error = TNR_TYPE_ERR;
break;
}
#ifdef HOST_PC
UsrRdInt("Step",&step);
Tuner->StepSize = (int)step;
UsrRdDouble("If",&If);
Tuner->IF=(int)(1000*If);
#endif
/*dcdc TunerReadWrite(WRITE);*/
/*dcdc TunerReadWrite(READ);*/
}
}
/*****************************************************
**FUNCTION :: LL_tuner_tuntdrv_Select
**ACTION :: Select the type of tuner used
**PARAMS IN :: type ==> type of the tuner
** address ==> I2C address of the tuner
**PARAMS OUT:: NONE
**RETURN :: NONE
*****************************************************/
void LL_TunerSelect(TUNTDRV_InstanceData_t* Tuner,STTUNER_TunerType_t type,unsigned char address)
{
Tuner->Error=TNR_NO_ERR;
Tuner->TunerType = type;
Tuner->Address = address;
LL_TunerInit(Tuner);
}
/*****************************************************
**FUNCTION :: LL_TunerSetRepeator
**ACTION :: Select the type of tuner used
**PARAMS IN :: type ==> type of the tuner
** address ==> I2C address of the tuner
**PARAMS OUT:: NONE
**RETURN :: NONE
*****************************************************/
void LL_TunerSetRepeator(TUNTDRV_InstanceData_t* Tuner, unsigned short int repeator)
{
Tuner->Repeator = repeator;
}
/*****************************************************
**FUNCTION :: LL_TunerGetError
**ACTION :: return the error state of the tuner
**PARAMS IN :: NONE
**PARAMS OUT:: NONE
**RETURN :: error
*****************************************************/
int LL_TunerGetRepeator(TUNTDRV_InstanceData_t* Tuner)
{
return Tuner->Repeator;
}
/*****************************************************
**FUNCTION :: LL_TunerSelectBandwidth
**ACTION :: Select the bandwidth of the tuner (if this one not exist,
** closest value bigger than bandwidth will be selected)
**PARAMS IN :: bandwidth ==> bandwidth of the tuner
**PARAMS OUT:: NONE
**RETURN :: Selected bandwidth, 0 if error
*****************************************************/
int LL_TunerSelectBandwidth(TUNTDRV_InstanceData_t* Tuner, int bandwidth)
{
Tuner->SelectBW = 0;
if(!Tuner->Error)
{
while( (Tuner->BandWidth[Tuner->SelectBW + 1] != 0) &&
(bandwidth > Tuner->BandWidth[Tuner->SelectBW]))
{
Tuner->SelectBW++;
}
return Tuner->BandWidth[Tuner->SelectBW];
}
else return 0;
}
/*****************************************************
**FUNCTION :: LL_TunerSetNbSteps
**ACTION :: Set the number of steps of the tuner
**PARAMS IN :: nbsteps ==> number of steps of the tuner
**PARAMS OUT:: NONE
**RETURN :: NONE
*****************************************************/
void LL_TunerSetNbSteps(TUNTDRV_InstanceData_t* Tuner,int nbsteps)
{
if(!Tuner->Error)
{
switch(Tuner->PLLType)
{
#ifdef STTUNER_BASIC
#ifdef STTUNER_DRV_TER_TUN_TDLB7
case TUNER_PLL_TDLB7:
Tuner->WrBuffer[0] = (unsigned char) ( (nbsteps >> 8) & 0x7f );
Tuner->WrBuffer[1] = (unsigned char) ( (nbsteps >> 0) & 0xff );
Tuner->WrBuffer[2] = (unsigned char) ( 0x85 | ((nbsteps >> 16) & 0x60) ); /* PE=0,R=0xc */
break ;
#endif
#ifdef STTUNER_DRV_TER_TUN_TDEB2
case TUNER_PLL_TDEB2:/* new ALPS */
Tuner->WrBuffer[0] = (unsigned char) ( (nbsteps >> 8) & 0x7f );
Tuner->WrBuffer[1] = (unsigned char) ( (nbsteps >> 0) & 0xff );
Tuner->WrBuffer[2] = (unsigned char) ( 0x85 );
break ;
#endif
#ifdef STTUNER_DRV_TER_TUN_DTT7572
case TUNER_PLL_DTT7572:
Tuner->WrBuffer[0] = (unsigned char) ( (nbsteps >> 8) & 0x7f );
Tuner->WrBuffer[1] = (unsigned char) ( (nbsteps >> 0) & 0xff );
Tuner->WrBuffer[2] = (unsigned char) ( 0x93);
break;
#endif
#ifdef STTUNER_DRV_TER_TUN_EAL2780
case TUNER_PLL_EAL2780:
Tuner->WrBuffer[0] = (unsigned char) ( (nbsteps >> 8) & 0x7f );
Tuner->WrBuffer[1] = (unsigned char) ( (nbsteps >> 0) & 0xff );
break;
#endif
#ifdef STTUNER_DRV_TER_TUN_TDA6650
case TUNER_PLL_TDA6650:
Tuner->WrBuffer[0] = (unsigned char) ( (nbsteps >> 8) & 0x7f );
Tuner->WrBuffer[1] = (unsigned char) ( (nbsteps >> 0) & 0xff );
Tuner->WrSubBuffer[0] = (unsigned char) ( (nbsteps >> 8) & 0x7f );
Tuner->WrSubBuffer[1] = (unsigned char) ( (nbsteps >> 0) & 0xff );
break;
#endif
#ifdef STTUNER_DRV_TER_TUN_TDM1316
case TUNER_PLL_TDM1316:
Tuner->WrBuffer[0] = (unsigned char) ( (nbsteps >> 8) & 0x7f );
Tuner->WrBuffer[1] = (unsigned char) ( (nbsteps >> 0) & 0xff );
Tuner->WrSubBuffer[0] = (unsigned char) ( (nbsteps >> 8) & 0x7f );
Tuner->WrSubBuffer[1] = (unsigned char) ( (nbsteps >> 0) & 0xff );
break;
#endif
#if defined( STTUNER_DRV_TER_TUN_DTT7578)|| defined( STTUNER_DRV_TER_TUN_DTT7592)
case TUNER_PLL_DTT7578:
case TUNER_PLL_DTT7592:
Tuner->WrBuffer[0] = (unsigned char) ( (nbsteps >> 8) & 0x7f );
Tuner->WrBuffer[1] = (unsigned char) ( (nbsteps >> 0) & 0xff );
Tuner->WrSubBuffer[0] = (unsigned char) ( (nbsteps >> 8) & 0x7f );
Tuner->WrSubBuffer[1] = (unsigned char) ( (nbsteps >> 0) & 0xff );
break;
#endif
#ifdef STTUNER_DRV_TER_TUN_ENG47402G1
case TUNER_PLL_ENG47402G1:
Tuner->WrBuffer[0] = (unsigned char) ( (nbsteps >> 8) & 0x7f );
Tuner->WrBuffer[1] = (unsigned char) ( (nbsteps >> 0) & 0xff );
nbsteps = ((nbsteps * Tuner->StepSize + 500000)/1000000);
Tuner->WrSubBuffer[0] = (unsigned char) ( (nbsteps >> 4) & 0xff );
Tuner->WrSubBuffer[1] = (unsigned char) ( ((nbsteps <<4) & 0xF0)|0x4) ;
break;
#endif
#ifdef STTUNER_DRV_TER_TUN_ED5058
case TUNER_PLL_ED5058:
/**************** A RAJOUTER**************************************/
Tuner->WrBuffer[0] = (unsigned char) ( (nbsteps >> 8) & 0x7f );
Tuner->WrBuffer[1] = (unsigned char) ( (nbsteps >> 0) & 0xff );
/* Tuner->WrSubBuffer[0] = (unsigned char) ( (nbsteps >> 8) & 0x7f );*/
/* Tuner->WrSubBuffer[1] = (unsigned char) ( (nbsteps >> 0) & 0xff );*/
/******************************************************************/
#endif
/************MIVAR*******************************/
#ifdef STTUNER_DRV_TER_TUN_MIVAR
case TUNER_PLL_MIVAR:
Tuner->WrBuffer[0] = (unsigned char) ( (nbsteps >> 8) & 0x7f );
Tuner->WrBuffer[1] = (unsigned char) ( (nbsteps >> 0) & 0xff );
Tuner->WrSubBuffer[0] = (unsigned char) ( (nbsteps >> 8) & 0x7f );
Tuner->WrSubBuffer[1] = (unsigned char) ( (nbsteps >> 0) & 0xff );
break;
#endif
#ifdef STTUNER_DRV_TER_TUN_TDED4
/************Tuner TDED4**************************/
case TUNER_PLL_TDED4:/* new ALPS */
Tuner->WrBuffer[0] = (unsigned char) ( (nbsteps >> 8) & 0x7f );
Tuner->WrBuffer[1] = (unsigned char) ( (nbsteps >> 0) & 0xff );
Tuner->WrBuffer[2] = (unsigned char) ( 0x85 );
break ;
#endif
/*********Tuner DTT7102*************************/
#ifdef STTUNER_DRV_TER_TUN_DTT7102
case TUNER_PLL_DTT7102:
Tuner->WrBuffer[0] = (unsigned char) ( (nbsteps >> 8) & 0x7f );
Tuner->WrBuffer[1] = (unsigned char) ( (nbsteps >> 0) & 0xff );
Tuner->WrSubBuffer[0] = (unsigned char) ( (nbsteps >> 8) & 0x7f );
Tuner->WrSubBuffer[1] = (unsigned char) ( (nbsteps >> 0) & 0xff );
break;
#endif
/*********Tuner TECC2849PG************************/
#ifdef STTUNER_DRV_TER_TUN_TECC2849PG
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -