📄 drv_dsp_adjust.c
字号:
if( mu08_Counter != 0 ) //(--mu08_Counter !=0)
{
mu08_Counter--;
break;
}
mu08_Counter = SPEED_MOVE_LENS; //
// Update Lens Position
if( mu08_MoveLensSC & 0x0F )
{
// Up
if( mu08_LensPosition == 0x00 )
{
DrvDSP_BIOS_WriteReg( 0xC0, 0x00 );
//B0003 DrvDSP_BIOS_MMute2_On( );
DrvDSP_BIOS_WriteReg( 0xC8, Tbl_F_SEARCH[gu08_Mech] ); //
mu08_MainSC = ADJUST_END;
mu08_MoveLensSC = DONE_LENS_MOVE;
break;
}
else
{
mu08_LensPosition++;
}
}
else
{
// Down
// if( mu08_LensPosition == ( UINT08 ) LENS_DOWN_POS )
if( mu08_LensPosition == Tbl_LENS_DOWN_POS[gu08_Mech] )
{
if(gu08_TimerAdjustSub ==0)
{
mu08_MoveLensSC = DONE_LENS_MOVE;
}
break;
}
else
{
mu08_LensPosition--;
}
}
#if ROM // SDC 20050209
DrvDSP_BIOS_WriteReg( 0xC8, mu08_LensPosition );
#else
DrvDSP_BIOS_WriteLensPosition();
#endif
break;
}
}
/*------------------------------------------------------------------------------
[NAME] :ReadyOffset
[FUNCTION] :
[RETURN] :void
[PARAMETER]:void
------------------------------------------------------------------------------*/
void ReadyOffset( void )
{
#if ROM // SDC 20050209
if( gu08_sts_MovePickupIn )
{
return; // ->SLED堷崬廔傢偭偰偄側偄
}
// Check Done Lens Down
if( mu08_MoveLensSC != DONE_LENS_MOVE )
{
return; // ->LENS DOWN廔傢偭偰偄側偄
}
#else
if( !gu08_sts_MovePickupIn &&
( mu08_MoveLensSC == DONE_LENS_MOVE ))
{
#endif
// Meas. Condition
// DrvDSP_BIOS_WriteReg( 0xD2, 0x35 );
DrvDSP_BIOS_WriteReg( 0xD2, 0x25 );
DrvDSP_BIOS_WriteReg( 0xD5, 0x00 );
mu08_MainSC = ADJUST_END;
#if !ROM // SDC 20050209
}
#endif
}
/*------------------------------------------------------------------------------
[NAME] :AdjustOfsInput
[FUNCTION] :
[RETURN] :void
[PARAMETER]:void
------------------------------------------------------------------------------*/
void AdjustOfsInput( void )
{
switch ( mu08_SubSC )
{
case OFFSET_START:
// RF Gain, APC Ref. Voltage
#if ROM // SDC 20050209
DrvDSP_BIOS_WriteReg( 0x61, ( gu08_kind_Gain << 4 ) | 0x05 );
#else
DrvDSP_BIOS_WriteGain();
#endif
// SetFilter4InputOffset( );
SendMechTable( (UINT08 *)Tbl_FILTER_FO_TR, sizeof( Tbl_FILTER_FO_TR ) );
SendMechTable( (UINT08 *)Tbl_FILTER_4_OFS, sizeof( Tbl_FILTER_4_OFS ) );
#if ROM // SDC 20050209
InitOffset( );
#else
SendTable( (UINT08 *)Tbl_INIT_OFFSET, sizeof(Tbl_INIT_OFFSET) );
#endif
mu08_Counter = 8; // Wait 16msec
// Because, chnge value offsets
mu08_SubSC = OFFSET_LOOP;
mu08_Kind = OFFSET_NOP;
case OFFSET_LOOP:
switch ( mu08_Kind )
{
case OFFSET_NOP:
if( --mu08_Counter )
{
return;
}
#if ROM // SDC 20050209
mu08_Kind = OFFSET_F;
#else
mu08_Kind = OFFSET_F + 1;
case OFFSET_F:
mu08_Kind--;
#endif
mu08_Parameter = OFS_ANA_INIT_EF;
break;
#if ROM // SDC 20050209
case OFFSET_F:
mu08_Kind = OFFSET_E;
mu08_Parameter = OFS_ANA_INIT_EF;
break;
#endif
case OFFSET_E:
#if ROM // SDC 20050209
mu08_Kind = OFFSET_BD;
#else
case OFFSET_BD:
mu08_Kind--;
#endif
mu08_Parameter = OFS_ANA_INIT_ACBD;
break;
#if ROM // SDC 20050209
case OFFSET_BD:
mu08_Kind = OFFSET_AC;
mu08_Parameter = OFS_ANA_INIT_ACBD;
break;
#endif
case OFFSET_AC:
#if ROM // SDC 20050209
mu08_Kind = OFFSET_NOP;
mu08_MainSC = ADJUST_END;
#else
// SendMechTable( (UINT08 *)Tbl_FILTER_FO_TR, sizeof( Tbl_FILTER_FO_TR ) ); //#050308.i
case OFFSET_TD:
mu08_Kind--;
SendTable( (UINT08 *)Tbl_CLEAR_DSP_RAM, sizeof(Tbl_CLEAR_DSP_RAM) ); // YTC008 20050110
break;
case OFFSET_FD:
mu08_Kind = OFFSET_NOP;
mu08_MainSC = ADJUST_END;
#endif
return;
}
#if ROM // SDC 20050209
DrvDSP_BIOS_WriteReg( 0xD0, mu08_Kind << 4 );
#else
DrvDSP_BIOS_KindStart();
#endif
mu08_SubSC = OFFSET_ADJUST;
break;
case OFFSET_ADJUST:
if( DrvDSP_BIOS_ReadBusy( ) )
{
#if ROM // SDC 20050209
mu08_MeasResult = DrvDSP_BIOS_ReadReg( 0xDE );
#else
mu08_MeasResult = DrvDSP_BIOS_ReadResult();
#endif
#if ROM // SDC 20050209
if( ( mu08_Kind == OFFSET_AC ) || ( mu08_Kind == OFFSET_BD ) )
#else
if( mu08_Kind > OFFSET_TD )
{
if( mu08_Kind <= OFFSET_BD )
#endif
{
// AC, BD
if( mu08_MeasResult < OFS_ANA_JUDGE_ACBD )
{
if( mu08_Parameter != 0x00 )
{
DrvDSP_BIOS_WriteReg( 0x60 + mu08_Kind, --mu08_Parameter );
break;
}
}
}
else
{
// E, F
if( mu08_MeasResult > OFS_ANA_JUDGE_EF )
{
if( mu08_Parameter != 0x07 )
{
DrvDSP_BIOS_WriteReg( 0x60 + mu08_Kind, ++mu08_Parameter );
break;
}
}
}
#if !ROM // SDC 20050209
// Store Result Offset
stInfoArea.AdjustOffset[gu08_kind_Gain][mu08_Kind - 4] =mu08_Parameter;
}
#endif
// Stop Meas.
#if ROM // SDC 20050209
DrvDSP_BIOS_WriteReg( 0xD0, 0x00 );
#else
DrvDSP_BIOS_00End();
#endif
#if ROM // SDC 20050209
// Store Result Offset
stInfoArea.AdjustOffset[gu08_kind_Gain][mu08_Kind - 4] =mu08_Parameter;
#endif
CancelOffset( );
mu08_SubSC = OFFSET_LOOP;
}
break;
}
}
#if ROM // SDC 20050209
/*------------------------------------------------------------------------------
[NAME] :AdjustOfsTdFd
[FUNCTION] :
[RETURN] :void
[PARAMETER]:void
------------------------------------------------------------------------------*/
void AdjustOfsTdFd( void )
{
switch ( mu08_SubSC )
{
case OFFSET_START:
// SetFilter4TdFd( );
// SendMechTable( (UINT08 *)Tbl_FILTER_FO_TR, sizeof( Tbl_FILTER_FO_TR ) );
mu08_Kind = OFFSET_NOP;
case OFFSET_LOOP:
switch ( mu08_Kind )
{
case OFFSET_NOP:
mu08_Kind = OFFSET_TD;
break;
case OFFSET_TD:
mu08_Kind = OFFSET_FD;
break;
case OFFSET_FD:
mu08_Kind = OFFSET_NOP;
mu08_MainSC = ADJUST_END;
return;
}
// DrvDSP_BIOS_WriteReg( 0xEF, 0x80 );
// DrvDSP_BIOS_WriteReg( 0xEF, 0x00 );
SendTable( (UINT08 *)Tbl_CLEAR_DSP_RAM, sizeof(Tbl_CLEAR_DSP_RAM) ); // YTC008 20050110
DrvDSP_BIOS_WriteReg( 0xD0, mu08_Kind << 4 );
mu08_SubSC = OFFSET_ADJUST;
break;
case OFFSET_ADJUST:
if( DrvDSP_BIOS_ReadBusy( ) )
{
mu08_MeasResult = DrvDSP_BIOS_ReadReg( 0xDE );
// Stop Meas.
DrvDSP_BIOS_WriteReg( 0xD0, 0x00 );
CancelOffset( );
mu08_SubSC = OFFSET_LOOP;
}
break;
}
}
#endif
/*------------------------------------------------------------------------------
[NAME] :AdjustOfsSd
[FUNCTION] :
[RETURN] :void
[PARAMETER]:void
------------------------------------------------------------------------------*/
void AdjustOfsSd( void )
{
#if ROM // SDC 20050209
switch ( mu08_SubSC )
{
case OFFSET_START:
#else
if( mu08_SubSC == OFFSET_START )
{
#endif
// SetFilter4Sd( );
// SendMechTable( (UINT08 *)Tbl_FILTER_SD, sizeof( Tbl_FILTER_SD ) );
SendMechTable( (UINT08 *)Tbl_FILTER_FO_TR, sizeof( Tbl_FILTER_FO_TR ) );
// DrvDSP_BIOS_WriteReg( 0xEF, 0x80 );
// DrvDSP_BIOS_WriteReg( 0xEF, 0x00 );
SendTable( (UINT08 *)Tbl_CLEAR_DSP_RAM, sizeof(Tbl_CLEAR_DSP_RAM) ); // YTC008 20050110
#if ROM // SDC 20050209
DrvDSP_BIOS_WriteReg( 0xD0, mu08_Kind << 4 );
mu08_Kind = OFFSET_SD;
#else
mu08_Kind = OFFSET_SD; // afterBUG
DrvDSP_BIOS_KindStart();
#endif
mu08_SubSC = OFFSET_ADJUST;
#if ROM // SDC 20050209
break;
case OFFSET_ADJUST:
#else
}else
{
#endif
if( DrvDSP_BIOS_ReadBusy( ) )
{
#if ROM // SDC 20050209
mu08_MeasResult = DrvDSP_BIOS_ReadReg( 0xDE );
#else
mu08_MeasResult = DrvDSP_BIOS_ReadResult();
#endif
// Stop Meas.
#if ROM // SDC 20050209
DrvDSP_BIOS_WriteReg( 0xD0, 0x00 );
mu08_MainSC = ADJUST_END;
#else
DrvDSP_BIOS_AdjEnd();
#endif
CancelOffset( );
SendMechTable( (UINT08 *)Tbl_FILTER_SD, sizeof( Tbl_FILTER_SD ) );
mu08_Kind = OFFSET_NOP;
}
#if ROM // SDC 20050209
break;
#endif
}
}
/*------------------------------------------------------------------------------
[NAME] :CancelOffset
[FUNCTION] :
[RETURN] :void
[PARAMETER]:void
UINT08 mu08_MeasResult
------------------------------------------------------------------------------*/
void CancelOffset( void )
{
mu08_Parameter = 0x80;
if( mu08_MeasResult > 0x80 )
{
mu08_Parameter -= ( mu08_MeasResult - 0x80 );
#if ROM // SDC 20050209
DrvDSP_BIOS_WriteReg( 0x90 | mu08_Kind, mu08_Parameter );
#endif
}
#if ROM // SDC 20050209
else if( mu08_MeasResult < 0x80 )
#else
if( mu08_MeasResult < 0x80 )
#endif
{
mu08_Parameter += ( 0x80 - mu08_MeasResult );
#if ROM // SDC 20050209
DrvDSP_BIOS_WriteReg( 0x90 | mu08_Kind, mu08_Parameter );
#endif
}
#if !ROM // SDC 20050209
if( mu08_MeasResult != 0x80 )
//#if ROM // SDC 20050209
DrvDSP_BIOS_WriteReg( 0x90 | mu08_Kind, mu08_Parameter );
//#else
// DrvDSP_BIOS_WriteResult();
//#endif
#endif
// Store Result Offset
stInfoArea.AdjustOffset[gu08_kind_Gain][mu08_Kind + 3] = mu08_Parameter;
#if CHECK_OFFSET
DrvDSP_BIOS_WriteReg( 0xD0, mu08_Kind << 4 );
Common_Wait_ms( 10 );
while( TRUE )
{
if( DrvDSP_BIOS_ReadBusy( ) )
{
mu08_MeasResult = DrvDSP_BIOS_ReadReg( 0xDE );
DrvDSP_BIOS_WriteReg( 0xD0, 0x00 );
break;
}
}
mu08_ResultOffset[gu08_kind_Gain][mu08_Kind-1] =mu08_MeasResult;
#endif
}
#if !ROM // SDC 20050209
void StoreRfOffset( UINT08 u08_RfOffset )
{
DrvDSP_BIOS_WriteReg( 0x9C, u08_RfOffset );
// Store Result
gu08_9C_RfShift = u08_RfOffset;
stInfoArea.AdjustOffset[gu08_kind_Gain][11] = u08_RfOffset;
}
#endif
/*------------------------------------------------------------------------------
[NAME] :FitRfFok
[FUNCTION] :
[RETURN] :void
[PARAMETER]:void
------------------------------------------------------------------------------*/
/*void FitRfFok( void )
{
UINT08 u08_RfOffset;
u08_RfOffset = 0x0F;
while( TRUE )
{
// Set RF Offset
DrvDSP_BIOS_WriteReg( 0x9C, u08_RfOffset );
// Common_Wait_ms( 5 ); //Sxxx 20041019 偨傑偵俥俷俲棫偪偭傁側偟偵側傞 // YTC001 20041224
Common_Wait_ms( 1 ); //嵟掅20usec偺懸偪偑昁梫 // YTC001 20041224
if( DrvDSP_BIOS_GetStatus( ) & B00000010 )
{
// FOK H
break;
}
#if ROM // SDC 20050209
if( u08_RfOffset == 0x00 )
#else
if( u08_RfOffset-- == 0x00 )
#endif
{
// Store Result
#if ROM // SDC 20050209
gu08_9C_RfShift = u08_RfOffset++; // 1 step down // YTC001 20041224
DrvDSP_BIOS_WriteReg( 0x9C, u08_RfOffset ); // YTC001 20041224
stInfoArea.AdjustOffset[gu08_kind_Gain][11] = u08_RfOffset;
#else
StoreRfOffset( ++u08_RfOffset ); // 1 step down
#endif
return;
}
#if ROM // SDC 20050209
else
{
u08_RfOffset--;
}
#endif
}
if( u08_RfOffset >= 0x0D )
u08_RfOffset = 0x0F;
else
u08_RfOffset += 2; // 2 step down
#if ROM // SDC 20050209
DrvDSP_BIOS_WriteReg( 0x9C, u08_RfOffset );
// Store Result
gu08_9C_RfShift = u08_RfOffset;
stInfoArea.AdjustOffset[gu08_kind_Gain][11] = u08_RfOffset;
#else
StoreRfOffset( u08_RfOffset );
#endif
mu08_MainSC = ADJUST_END;
}
*/
#if ROM // SDC 20050209
/*------------------------------------------------------------------------------
[NAME] :InitOffset
[FUNCTION] :
[RETURN] :void
[PARAMETER]:void
------------------------------------------------------------------------------*/
void InitOffset( void )
{
SendTable( (UINT08 *)Tbl_INIT_OFFSET, sizeof(Tbl_INIT_OFFSET) );
return;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -