📄 align.c
字号:
break;
}
break;
}
#endif
#if TDA7541Tuner
switch(Align.SubMode)
{
case ALIGN_AUTO_STANDBY:
switch(Align.SubStep)
{
case 0:
if(O_J3)
{
//for(i=0;i<72;i++)
for(i=0;i<100;i++)
TunerEepromBuff[i]=BoardEepromBuff[i];
//for(i=0;i<40;i++)
//Radio.TunerBuff[i]=TunerEepromBuff[i+10];
// EepromBuff[i]=TunerEepromBuff[i+10];//yete: fix at May-25-06
Radio.F_ForceSetBuff=1;
}
/*IFC Counter Status: ON (Reg5_D3)
IFC Frequency window: FM 6.25KHz / AM 1 kHz (Reg6_D7_5)
Fcenter : FM 10.7MHz / AM 464 kHz (Reg6_D4_0)
Tsample: FM 5.12ms / AM 32ms (Reg5_D2_0)
SSTOP: IFC Status (Reg23_D7_4)*/
AutoAlignSelector=BoardEepromBuff[8];//00-EU/USA, 01-EU/USA, OIRT, 02-EU/USA,JP, 03-EU/USA, OIRT,JP
Align.BackupFreq=Radio.Freq;
Align.BackupArea=Radio.Area;
Radio.Area=AREA_EUROPE;
Radio.F_ForceSetBuff=1;
RadioSetFreq(9410);
Radio.TunerBuff[10] &= 0x0F;
RadioTunerSend(10,10);
Align.SubStep=1;
break;
case 1:
break;
}
break;
case ALIGN_AUTO_XTAL:
switch(Align.SubStep)
{
case 0:
for(i=0;i<32;i++)
{
Radio.TunerBuff[13] &= 0xe0;
Radio.TunerBuff[13] += i;
RadioTunerSend(13,13);
Wait1ms(50);
if(CheckIFC(5, 100))
break;
}
for(j=32;j>0;j--)
{
Radio.TunerBuff[13] &= 0xe0;
Radio.TunerBuff[13] += (j-1);
RadioTunerSend(13,13);
Wait1ms(50);
if(CheckIFC(5, 100))
break;
}
temp=(i+j)/2;
Radio.TunerBuff[13] &= 0xe0;
Radio.TunerBuff[13] += temp;
RadioTunerSend(13,13);
TunerEepromBuff[23]=(TunerEepromBuff[23]&0xe0)|temp;
TunerEepromBuff[83]=(TunerEepromBuff[83]&0xe0)|temp;
RadioSetFreq(999);
Align.SubStep=1;
break;
case 1:
Align.SubMode=ALIGN_AUTO_XTAL_OK;
Align.SubStep=0;
Align.F_DispReq=1;
break;
}
break;
case ALIGN_AUTO_AMIFTANK:
switch(Align.SubStep)
{
case 0:
for(i=0,temp=0,temp2=0;i<16;i++)
{
Radio.TunerBuff[14] &= 0xF0;
Radio.TunerBuff[14] += i;
RadioTunerSend(14,14);
Wait1ms(140);
j=GetSMeter();
if(j>temp)
{
temp=j;
temp2=i;
}
}
Radio.TunerBuff[14] &= 0xF0;
Radio.TunerBuff[14] += temp2;
RadioTunerSend(14,14);
TunerEepromBuff[24]=(TunerEepromBuff[24]&0xf0)|temp2;
TunerEepromBuff[84]=(TunerEepromBuff[84]&0xf0)|temp2;
RadioSetFreq(9410);
Align.SubStep=1;
break;
case 1:
Align.SubMode=ALIGN_AUTO_AMIFTANK_OK;
Align.SubStep=0;
Align.F_DispReq=1;
break;
}
break;
case ALIGN_AUTO_IMAGE:
switch(Align.SubStep)
{
case 0:
for(i=0,temp=0xFF,temp2=0;i<16;i++)
{
Radio.TunerBuff[15] &= 0xF0;
Radio.TunerBuff[15] += i;
RadioTunerSend(15,15);
Wait1ms(4);
j=GetSMeter();
if(j<temp)
{
temp=j;
temp2=i;
}
}
Radio.TunerBuff[15] &= 0xF0;
Radio.TunerBuff[15] += temp2;
RadioTunerSend(15,15);
TunerEepromBuff[25]=(TunerEepromBuff[25]&0xf0)|temp2;
TunerEepromBuff[85]=(TunerEepromBuff[85]&0xf0)|temp2;
//RadioSetFreq(8750);
RadioSetFreq(8810);
Align.SubStep=1;
break;
case 1:
Align.SubMode=ALIGN_AUTO_IMAGE_OK;
Align.SubStep=0;
Align.F_DispReq=1;
break;
}
break;
case ALIGN_AUTO_TV2_881:
// case ALIGN_AUTO_TV2_875:
switch(Align.SubStep)
{
case 0:
for(ii=0x0000,temp=0;ii<256;ii++)
{
Radio.TunerBuff[3] = (unsigned char)(ii & 0x00FF);
RadioTunerSend(3,3);
Wait1ms(3);//Have to check the constant time!!!!!!!
j=GetSMeter();
if(j>temp)
{
temp=j;
temp2=(unsigned char)(ii & 0x00FF);
}
}
Radio.TunerBuff[3] = temp2;
RadioTunerSend(3,3);
TunerEepromBuff[50]=Radio.TunerBuff[3];
RadioSetFreq(9810);
Align.SubStep=1;
break;
case 1:
Align.SubMode=ALIGN_AUTO_TV2_881_OK;
Align.SubStep=0;
Align.F_DispReq=1;
break;
}
break;
case ALIGN_AUTO_TV2_981:
switch(Align.SubStep)
{
case 0:
for(ii=0x0000,temp=0;ii<256;ii++)
{
Radio.TunerBuff[3] = (unsigned char)(ii & 0x00FF);
RadioTunerSend(3,3);
Wait1ms(4);
j=GetSMeter();
if(j>temp)
{
temp=j;
temp2=(unsigned char)(ii & 0x00FF);
}
}
Radio.TunerBuff[3] = temp2;
RadioTunerSend(3,3);
TunerEepromBuff[51]=Radio.TunerBuff[3];
RadioSetFreq(10750);
Align.SubStep=1;
break;
case 1:
Align.SubMode=ALIGN_AUTO_TV2_981_OK;
Align.SubStep=0;
Align.F_DispReq=1;
break;
}
break;
//case ALIGN_AUTO_TV2_108:
case ALIGN_AUTO_TV2_1075:
switch(Align.SubStep)
{
case 0:
for(ii=0x0000,temp=0;ii<256;ii++)
{
Radio.TunerBuff[3] = (unsigned char)(ii & 0x00FF);
RadioTunerSend(3,3);
Wait1ms(4);
j=GetSMeter();
if(j>temp)
{
temp=j;
temp2=(unsigned char)(ii & 0x00FF);
}
}
Radio.TunerBuff[3] = temp2;
RadioTunerSend(3,3);
TunerEepromBuff[52]=Radio.TunerBuff[3];
CalculateOtherPoint(ALIGN_EU);
if(!O_J3)
{
EepromWrite(TunerEepromAddress, 23, 3, &TunerEepromBuff[23]);
Wait1ms(25);
EepromWrite(TunerEepromAddress, 83, 3, &TunerEepromBuff[83]);
Wait1ms(25);
EepromWrite(TunerEepromAddress, 50, 3, &TunerEepromBuff[50]);
Wait1ms(25);
EepromWrite(TunerEepromAddress, 56, 4, &TunerEepromBuff[56]);
}
else
{
//for(i=0;i<30;i++)
// TunerEepromBuff[i+10]=Radio.TunerBuff[i];
TunerEepromBuff[0]=0x0B;
for(i=0;i<12;i++)
{
EepromWrite(TunerEepromAddress, i*8, 8, &TunerEepromBuff[i*8]);
Wait1ms(25);
}
EepromWrite(TunerEepromAddress, 94, 4, &TunerEepromBuff[94]);
Wait1ms(25);
}
Align.SubStep=1;
break;
case 1:
if(AutoAlignSelector==ALIGN_EU_ORIT ||AutoAlignSelector==ALIGN_EU_ORIT_JP)
{
Radio.Area=AREA_OIRT;
Radio.F_ForceSetBuff=1;
RadioSetFreq(6500);
}
else if(AutoAlignSelector==ALIGN_EU_JP)
{
Radio.Area=AREA_JAPAN;
Radio.F_ForceSetBuff=1;
RadioSetFreq(7800);
}
else
{
Radio.Area=Align.BackupArea;
Radio.F_ForceSetBuff=1;
RadioSetFreq(Align.BackupFreq);
}
Align.SubMode=ALIGN_AUTO_TV2_1075_OK;
Align.SubStep=0;
Align.F_DispReq=1;
break;
}
break;
case ALIGN_AUTO_TV2_65:
switch(Align.SubStep)
{
case 0:
for(ii=0x0000,temp=0;ii<256;ii++)
{
Radio.TunerBuff[3] = (unsigned char)(ii & 0x00FF);
RadioTunerSend(3,3);
Wait1ms(4);
j=GetSMeter();
if(j>temp)
{
temp=j;
temp2=(unsigned char)(ii & 0x00FF);
}
}
Radio.TunerBuff[3] = temp2;
RadioTunerSend(3,3);
TunerEepromBuff[53]=Radio.TunerBuff[3];
RadioSetFreq(6800);
Align.SubStep=1;
break;
case 1:
Align.SubMode=ALIGN_AUTO_TV2_65_OK;
Align.SubStep=0;
Align.F_DispReq=1;
break;
}
break;
case ALIGN_AUTO_TV2_68:
switch(Align.SubStep)
{
case 0:
for(ii=0x0000,temp=0;ii<256;ii++)
{
Radio.TunerBuff[3] = (unsigned char)(ii & 0x00FF);
RadioTunerSend(3,3);
Wait1ms(4);
j=GetSMeter();
if(j>temp)
{
temp=j;
temp2=(unsigned char)(ii & 0x00FF);
}
}
Radio.TunerBuff[3] = temp2;
RadioTunerSend(3,3);
TunerEepromBuff[54]=Radio.TunerBuff[3];
RadioSetFreq(7250);
Align.SubStep=1;
break;
case 1:
Align.SubMode=ALIGN_AUTO_TV2_68_OK;
Align.SubStep=0;
Align.F_DispReq=1;
break;
}
break;
case ALIGN_AUTO_TV2_725:
switch(Align.SubStep)
{
case 0:
for(ii=0x0000,temp=0;ii<256;ii++)
{
Radio.TunerBuff[3] = (unsigned char)(ii & 0x00FF);
RadioTunerSend(3,3);
Wait1ms(4);
j=GetSMeter();
if(j>temp)
{
temp=j;
temp2=(unsigned char)(ii & 0x00FF);
}
}
Radio.TunerBuff[3] = temp2;
RadioTunerSend(3,3);
TunerEepromBuff[55]=Radio.TunerBuff[3];
EepromWrite(TunerEepromAddress, 53, 3, &TunerEepromBuff[53]);
Align.SubStep=1;
break;
case 1:
if(AutoAlignSelector==ALIGN_EU_ORIT_JP)
{
Radio.Area=AREA_JAPAN;
Radio.F_ForceSetBuff=1;
RadioSetFreq(7800);
}
else
{
Radio.Area=Align.BackupArea;
Radio.F_ForceSetBuff=1;
RadioSetFreq(Align.BackupFreq);
}
Align.SubMode=ALIGN_AUTO_TV2_725_OK;
Align.SubStep=0;
Align.F_DispReq=1;
break;
}
break;
case ALIGN_AUTO_TV2_78:
switch(Align.SubStep)
{
case 0:
for(ii=0x0000,temp=0;ii<256;ii++)
{
Radio.TunerBuff[3] = (unsigned char)(ii & 0x00FF);
RadioTunerSend(3,3);
Wait1ms(4);
j=GetSMeter();
if(j>temp)
{
temp=j;
temp2=(unsigned char)(ii & 0x00FF);
}
}
Radio.TunerBuff[3] = temp2;
RadioTunerSend(3,3);
TunerEepromBuff[60]=Radio.TunerBuff[3];
RadioSetFreq(8400);
Align.SubStep=1;
break;
case 1:
Align.SubMode=ALIGN_AUTO_TV2_78_OK;
Align.SubStep=0;
Align.F_DispReq=1;
break;
}
break;
case ALIGN_AUTO_TV2_84:
switch(Align.SubStep)
{
case 0:
for(ii=0x0000,temp=0;ii<256;ii++)
{
Radio.TunerBuff[3] = (unsigned char)(ii & 0x00FF);
RadioTunerSend(3,3);
Wait1ms(4);
j=GetSMeter();
if(j>temp)
{
temp=j;
temp2=(unsigned char)(ii & 0x00FF);
}
}
Radio.TunerBuff[3] = temp2;
RadioTunerSend(3,3);
TunerEepromBuff[61]=Radio.TunerBuff[3];
RadioSetFreq(8800);
Align.SubStep=1;
break;
case 1:
Align.SubMode=ALIGN_AUTO_TV2_84_OK;
Align.SubStep=0;
Align.F_DispReq=1;
break;
}
break;
case ALIGN_AUTO_TV2_88:
switch(Align.SubStep)
{
case 0:
for(ii=0x0000,temp=0;ii<256;ii++)
{
Radio.TunerBuff[3] = (unsigned char)(ii & 0x00FF);
Rad
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -