📄 align.c
字号:
case ALIGN_MANU_HIGHCUT:
case ALIGN_MANU_FMDEMOD:
case ALIGN_MANU_IFGAIN:
case ALIGN_MANU_AMAGC:
case ALIGN_MANU_IFCOUNT:
Align.SubMode=ALIGN_MANU_STANDBY;
Align.SubStep=ALIGN_MANU_SELECT_XTAL;
break;
#endif
#if TDA7541Tuner
case TDA7541_ALIGN_MANU_STANDBY:
switch(Align.SubStep)
{
case TDA7541_ALIGN_MANU_SELECT_XTAL:
Align.SubMode=TDA7541_ALIGN_MANU_XTAL;
Align.SubStep=0;
break;
case TDA7541_ALIGN_MANU_SELECT_FMSLIDER:
Align.SubMode=TDA7541_ALIGN_MANU_FMSLIDER;
Align.SubStep=0;
break;
case TDA7541_ALIGN_MANU_SELECT_FMSTOP:
Align.SubMode=TDA7541_ALIGN_MANU_FMSTOP;
Align.SubStep=0;
break;
case TDA7541_ALIGN_MANU_SELECT_FMMUTE:
Align.SubMode=TDA7541_ALIGN_MANU_FMMUTE;
Align.SubStep=0;
break;
case TDA7541_ALIGN_MANU_SELECT_ROLLOFF:
Align.SubMode=TDA7541_ALIGN_MANU_ROLLOFF;
Align.SubStep=0;
break;
case TDA7541_ALIGN_MANU_SELECT_STBLEND:
Align.SubMode=TDA7541_ALIGN_MANU_STBLEND;
Align.SubStep=0;
break;
case TDA7541_ALIGN_MANU_SELECT_VHCL:
Align.SubMode=TDA7541_ALIGN_MANU_VHCL;
Align.SubStep=0;
break;
case TDA7541_ALIGN_MANU_SELECT_VHCH:
Align.SubMode=TDA7541_ALIGN_MANU_VHCH;
Align.SubStep=0;
break;
case TDA7541_ALIGN_MANU_SELECT_HIGHCUT:
Align.SubMode=TDA7541_ALIGN_MANU_HIGHCUT;
Align.SubStep=0;
break;
}
break;
case TDA7541_ALIGN_MANU_XTAL:
case TDA7541_ALIGN_MANU_FMSLIDER:
case TDA7541_ALIGN_MANU_FMSTOP:
case TDA7541_ALIGN_MANU_FMMUTE:
case TDA7541_ALIGN_MANU_ROLLOFF:
case TDA7541_ALIGN_MANU_STBLEND:
case TDA7541_ALIGN_MANU_VHCL:
case TDA7541_ALIGN_MANU_VHCH:
case TDA7541_ALIGN_MANU_HIGHCUT:
Align.SubMode=TDA7541_ALIGN_MANU_STANDBY;
Align.SubStep=TDA7541_ALIGN_MANU_SELECT_XTAL;
break;
#endif
}
break;
case ALIGN_EEPROM:
switch(Align.SubMode)
{
case ALIGN_EEPROM_STANDBY:
switch(Align.SubStep)
{
case ALIGN_EEPROM_SELECT_TUNER:
Align.SubMode=ALIGN_EEPROM_TUNER;
Align.SubStep=0;
Align.EditPos=1;
break;
case ALIGN_EEPROM_SELECT_BOARD:
Align.SubMode=ALIGN_EEPROM_BOARD;
Align.SubStep=0;
Align.EditPos=1;
break;
}
break;
case ALIGN_EEPROM_TUNER:
case ALIGN_EEPROM_BOARD:
Align.SubMode=ALIGN_EEPROM_STANDBY;
Align.SubStep=ALIGN_EEPROM_SELECT_TUNER;
Flash(0,0);
break;
}
break;
case ALIGN_TUNERREG:
Align.Mode=ALIGN_STANDBY;
Align.SubMode=ALIGN_SELECT_AUTO;
Align.SubStep=0;
Flash(0,0);
break;
case ALIGN_COPY:
switch(Align.SubMode)
{
#if TDA7540Tuner
case ALIGN_COPY_STANDBY:
switch(Align.SubStep)
{
case ALIGN_COPY_SELECT_TREG2TEEP:
Align.SubMode=ALIGN_COPY_TREG2TEEP;
Align.SubStep=0;
break;
case ALIGN_COPY_SELECT_TREG2BEEP:
Align.SubMode=ALIGN_COPY_TREG2BEEP;
Align.SubStep=0;
break;
case ALIGN_COPY_SELECT_TEEP2TREG:
Align.SubMode=ALIGN_COPY_TEEP2TREG;
Align.SubStep=0;
break;
case ALIGN_COPY_SELECT_TEEP2BEEP:
Align.SubMode=ALIGN_COPY_TEEP2BEEP;
Align.SubStep=0;
break;
case ALIGN_COPY_SELECT_BEEP2TREG:
Align.SubMode=ALIGN_COPY_BEEP2TREG;
Align.SubStep=0;
break;
case ALIGN_COPY_SELECT_BEEP2TEEP:
Align.SubMode=ALIGN_COPY_BEEP2TEEP;
Align.SubStep=0;
break;
}
break;
case ALIGN_COPY_TREG2TEEP:
case ALIGN_COPY_TREG2BEEP:
case ALIGN_COPY_TEEP2TREG:
case ALIGN_COPY_TEEP2BEEP:
case ALIGN_COPY_BEEP2TREG:
case ALIGN_COPY_BEEP2TEEP:
Align.SubMode=ALIGN_COPY_STANDBY;
Align.SubStep=ALIGN_COPY_SELECT_TREG2TEEP;
break;
#endif
#if TDA7541Tuner
case TDA7541_ALIGN_COPY_STANDBY:
switch(Align.SubStep)
{
case TDA7541_ALIGN_COPY_SELECT_TREG2TEEPFM:
Align.SubMode=TDA7541_ALIGN_COPY_TREG2TEEPFM;
Align.SubStep=0;
break;
case TDA7541_ALIGN_COPY_SELECT_TREG2TEEPAM:
Align.SubMode=TDA7541_ALIGN_COPY_TREG2TEEPAM;
Align.SubStep=0;
break;
case TDA7541_ALIGN_COPY_SELECT_TREG2BEEPFM:
Align.SubMode=TDA7541_ALIGN_COPY_TREG2BEEPFM;
Align.SubStep=0;
break;
case TDA7541_ALIGN_COPY_SELECT_TREG2BEEPAM:
Align.SubMode=TDA7541_ALIGN_COPY_TREG2BEEPAM;
Align.SubStep=0;
break;
case TDA7541_ALIGN_COPY_SELECT_TEEP2TREG:
Align.SubMode=TDA7541_ALIGN_COPY_TEEP2TREG;
Align.SubStep=0;
break;
case TDA7541_ALIGN_COPY_SELECT_BEEP2TREG:
Align.SubMode=TDA7541_ALIGN_COPY_BEEP2TREG;
Align.SubStep=0;
break;
case TDA7541_ALIGN_COPY_SELECT_TEEP2BEEP:
Align.SubMode=TDA7541_ALIGN_COPY_TEEP2BEEP;
Align.SubStep=0;
break;
case TDA7541_ALIGN_COPY_SELECT_BEEP2TEEP:
Align.SubMode=TDA7541_ALIGN_COPY_BEEP2TEEP;
Align.SubStep=0;
break;
}
break;
case TDA7541_ALIGN_COPY_TREG2TEEPFM:
case TDA7541_ALIGN_COPY_TREG2BEEPFM:
case TDA7541_ALIGN_COPY_TEEP2TREG:
case TDA7541_ALIGN_COPY_BEEP2TREG:
case TDA7541_ALIGN_COPY_TREG2TEEPAM:
case TDA7541_ALIGN_COPY_TREG2BEEPAM:
case TDA7541_ALIGN_COPY_TEEP2BEEP:
case TDA7541_ALIGN_COPY_BEEP2TEEP:
Align.SubMode=TDA7541_ALIGN_COPY_STANDBY;
Align.SubStep=TDA7541_ALIGN_COPY_SELECT_TREG2TEEPFM;
break;
#endif
}
break;
case ALIGN_OTHER:
switch(Align.SubStep)
{
case 2:
Align.Mode=ALIGN_STANDBY;
Align.SubMode=ALIGN_SELECT_AUTO;
break;
}
break;
}
Align.F_DispReq=1;
break;
case S_AD_EXIT:
switch(Align.Mode)
{
case ALIGN_AUTOALIGN:
Align.Mode=ALIGN_STANDBY;
Align.SubMode=ALIGN_SELECT_AUTO;
break;
case ALIGN_MANUALIGN:
switch(Align.SubMode)
{
#if TDA7540Tuner
case ALIGN_MANU_STANDBY:
Align.Mode=ALIGN_STANDBY;
Align.SubMode=ALIGN_SELECT_AUTO;
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:
case ALIGN_MANU_HIGHCUT:
case ALIGN_MANU_FMDEMOD:
case ALIGN_MANU_IFGAIN:
case ALIGN_MANU_AMAGC:
case ALIGN_MANU_IFCOUNT:
Align.SubMode=ALIGN_MANU_STANDBY;
Align.SubStep=ALIGN_MANU_SELECT_XTAL;
break;
#endif
#if TDA7541Tuner
case TDA7541_ALIGN_MANU_STANDBY:
Align.Mode=ALIGN_STANDBY;
Align.SubMode=ALIGN_SELECT_AUTO;
break;
case TDA7541_ALIGN_MANU_XTAL:
case TDA7541_ALIGN_MANU_FMSLIDER:
case TDA7541_ALIGN_MANU_FMSTOP:
case TDA7541_ALIGN_MANU_FMMUTE:
case TDA7541_ALIGN_MANU_ROLLOFF:
case TDA7541_ALIGN_MANU_STBLEND:
case TDA7541_ALIGN_MANU_VHCL:
case TDA7541_ALIGN_MANU_VHCH:
case TDA7541_ALIGN_MANU_HIGHCUT:
Align.SubMode=TDA7541_ALIGN_MANU_STANDBY;
Align.SubStep=TDA7541_ALIGN_MANU_SELECT_XTAL;
break;
#endif
}
break;
case ALIGN_EEPROM:
switch(Align.SubMode)
{
case ALIGN_EEPROM_STANDBY:
Align.Mode=ALIGN_STANDBY;
Align.SubMode=ALIGN_SELECT_AUTO;
break;
case ALIGN_EEPROM_TUNER:
case ALIGN_EEPROM_BOARD:
Align.SubMode=ALIGN_EEPROM_STANDBY;
Align.SubStep=ALIGN_EEPROM_SELECT_TUNER;
Flash(0,0);
break;
}
break;
case ALIGN_TUNERREG:
Align.Mode=ALIGN_STANDBY;
Align.SubMode=ALIGN_SELECT_AUTO;
Flash(0,0);
break;
case ALIGN_COPY:
switch(Align.SubMode)
{
#if TDA7540Tuner
case ALIGN_COPY_STANDBY:
Align.Mode=ALIGN_STANDBY;
Align.SubMode=ALIGN_SELECT_AUTO;
break;
case ALIGN_COPY_TREG2TEEP:
case ALIGN_COPY_TREG2BEEP:
case ALIGN_COPY_TEEP2TREG:
case ALIGN_COPY_TEEP2BEEP:
case ALIGN_COPY_BEEP2TREG:
case ALIGN_COPY_BEEP2TEEP:
if(Align.SubStep==2)
{
Align.SubMode=ALIGN_COPY_STANDBY;
Align.SubStep=ALIGN_COPY_SELECT_TREG2TEEP;
}
break;
#endif
#if TDA7541Tuner
case TDA7541_ALIGN_COPY_STANDBY:
Align.Mode=ALIGN_STANDBY;
Align.SubMode=ALIGN_SELECT_AUTO;
break;
case TDA7541_ALIGN_COPY_TREG2TEEPFM:
case TDA7541_ALIGN_COPY_TREG2BEEPFM:
case TDA7541_ALIGN_COPY_TEEP2TREG:
case TDA7541_ALIGN_COPY_BEEP2TREG:
case TDA7541_ALIGN_COPY_TREG2TEEPAM:
case TDA7541_ALIGN_COPY_TREG2BEEPAM:
case TDA7541_ALIGN_COPY_TEEP2BEEP:
case TDA7541_ALIGN_COPY_BEEP2TEEP:
if(Align.SubStep==2)
{
Align.SubMode=TDA7541_ALIGN_COPY_STANDBY;
Align.SubStep=TDA7541_ALIGN_COPY_SELECT_TREG2TEEPFM;
}
break;
#endif
}
break;
case ALIGN_OTHER:
switch(Align.SubStep)
{
case 2:
Align.Mode=ALIGN_STANDBY;
Align.SubMode=ALIGN_SELECT_AUTO;
break;
}
break;
}
Align.F_DispReq=1;
break;
case S_AD_AUTOALING:
Align.Mode=ALIGN_AUTOALIGN;
Align.SubMode=ALIGN_AUTO_STANDBY;
Align.SubStep=0;
Flash(0,0);
Align.F_DispReq=1;
break;
case S_AD_MANUALIGN:
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
Flash(0,0);
Align.F_DispReq=1;
break;
case S_AD_EEPROM:
Align.Mode=ALIGN_EEPROM;
Align.SubMode=ALIGN_EEPROM_STANDBY;
Align.SubStep=ALIGN_EEPROM_SELECT_TUNER;
Flash(0,0);
Align.F_DispReq=1;
break;
case S_AD_TUNERREG:
Align.Mode=ALIGN_TUNERREG;
Align.SubStep=0;
Align.EditPos=1;
Flash(0,0);
Align.F_DispReq=1;
break;
//case S_AD_NC:
// if(!O_J2)break;//yete: delete this function: This function's purpose is to align with the real atmosphere station
//Align.Mode=ALIGN_OTHER;
//Align.SubStep=0;
//Flash(0,0);
//Align.F_DispReq=1;
//break;
case L_AD_NC:
F_ShowVersion=~F_ShowVersion;
if(F_ShowVersion)
{
#if TDA7540Tuner
PrintLine2(" Version 1.5");
PrintAnimation("ST Shenzhen CRM -- This good job is done by Jane, Paul, Perry and Yete.");
Animation(ANIMATION_START, AniBuff,20);
#endif
#if TDA7541Tuner
PrintLine2("FST08 JIG Ver1.0");
PrintAnimation("ST Shenzhen CRM");
Animation(ANIMATION_START, AniBuff,20);
#endif
}
else
{
Animation(ANIMATION_STOP);
Align.F_DispReq=1;
}
break;
}
}
void AlignWork(void)
{
unsigned char i,j,temp,temp2,temp3;
unsigned int ii;
if(Align.Timer>0)return;
switch(Align.Mode)
{
case ALIGN_AUTOALIGN:
#if TDA7540Tuner
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<70;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[23] &= 0x0F;
RadioTunerSend(23,23);
Align.SubStep=1;
break;
case 1:
break;
}
break;
case ALIGN_AUTO_XTAL:
switch(Align.SubStep)
{
case 0:
for(i=0;i<32;i++)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -