⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drv_dsp_error.c

📁 ROHM 公司BU9432:application:应用范围
💻 C
📖 第 1 页 / 共 2 页
字号:
			break;
		case 2:
			DrvDSP_RecoverError2(  );	//SCC9.2憡摉
			break;
//		case 3:
//			DrvDSP_RecoverError3(  );	//SCC9.3憡摉
//			break;
		default:
			;
	}
}

/*----------------------------------------------------------------------------*/
/*	[NAME]     :DrvDSP_RecoverError0										  */
/*	[FUNCTION] :															  */
/*	[RETURN]   :void  														  */
/*	[PARAMETER]:void														  */
/*	[HISTORY]  :															  */
/*	[NOTE]     :															  */
/*----------------------------------------------------------------------------*/
void DrvDSP_RecoverError0( void )
{
//ERROR暅婣張棟擖傝岥丅

	gu08_req_Jump = 0x00;		//俰倀俵俹張棟拞抐
	gu08_sts_Jump = 0;			//
//	gu08_GotoMsfSC=0;			//???峫偊傛偆

	if( gu08_num_RecoverRetry == 4 )
	{	//儕僩儔僀係夞栚丅暅媽晄擻偲偡傞丅
		DrvDSP_BIOS_Focus_Off();
//		DrvDSP_BIOS_MMute2_Off();
		DrvDSP_BIOS_Laser_Off();
		DrvDSP_BIOS_Tracking_Off();
//B0003		DrvDSP_BIOS_MMute2_On();		// YTC005 20050104	//??晄擻偱偲傔傞偺偩偐傜Drive傪MUTE偡傞
		DrvDSP_BIOS_Clv_Off();

		gu08_scc_ServoError=0;			//暅媽張棟廔椆丅
		gu08_sccs_RecoverError = 0;		//暅媽張棟廔椆丅
		gu08_sts_Error=0xff;			//儅僕僢僋僫儞僶乕丅暅婣晄擻傪帵偡丅
	}
	else
	{	//
		switch ( gu08_sts_Error )
		{
			case ERROR_FOK:
				DrvDSP_RecoverError_FOK(  );
				break;
			case ERROR_SUBQ:
				DrvDSP_RecoverError_SUBQ(  );
				break;
//			case ERROR_RF:						
//				DrvDSP_RecoverError_RF(  );		
//				break;							
		}
		gu08_sccs_RecoverError = 1;
	}
	return;
}

/*----------------------------------------------------------------------------*/
/*	[NAME]     :DrvDSP_RecoverError_FOK										  */
/*	[FUNCTION] :															  */
/*	[RETURN]   :void  														  */
/*	[PARAMETER]:void														  */
/*	[HISTORY]  :															  */
/*	[NOTE]     :															  */
/*----------------------------------------------------------------------------*/
void DrvDSP_RecoverError_FOK( void )
{
	if( gu08_num_RecoverRetry == 0 )
	{	//堦夞栚丅JOGGABLE懳墳崅懍儕僇僶儕乕
		gu08_scc_FocusSearch = 100;		/*  FocusSearch(崅懍)梫媮 */
	}
	else
	{	//擇夞栚埲崀丅僗儗僢僪傪嵟撪廃偵堷偒崬傓丅
#if	!ERR_KICK_ON	// SDC 20041224
		DrvDSP_BIOS_WriteReg( 0x88, 0x0F );	//備傞偔惓曽岦偵僉僢僋偟偮偮丄
		DrvDSP_BIOS_Clv_Kick(  );			//
#endif
		gu08_sts_MovePickupIn = 1;	/*  Pickup撪廃堏摦梫媮  */
		gu08_scc_FocusSearch = 1;	/*  FocusSearch梫媮 */
	}

	return;
}

/*----------------------------------------------------------------------------*/
/*	[NAME]     :DrvDSP_RecoverError_SUBQ									  */
/*	[FUNCTION] :															  */
/*	[RETURN]   :void  														  */
/*	[PARAMETER]:void														  */
/*	[HISTORY]  :															  */
/*	[NOTE]     :															  */
/*----------------------------------------------------------------------------*/
void DrvDSP_RecoverError_SUBQ( void )
{
	DrvDSP_BIOS_Tracking_Off(  );		// YTC008 20050108 僄儔乕偵擖偭偨傜丄僩儔僢僉儞僌愗傞丅堦夞栚偱傕丄俀夞栚埲崀偱傕丅

	if( gu08_num_RecoverRetry == 0 )
	{	//堦夞栚
//YTC008 DrvDSP_BIOS_Tracking_Off(  );		// YTC001 20041224 僄儔乕偵擖偭偨傜丄僩儔僢僉儞僌愗傞丅

//		DrvDSP_BIOS_WriteReg( 0x88, 0x7F );
		DrvDSP_BIOS_WriteReg( 0x88, Tbl_SP_HIGHT_HIGH[gu08_Mech] );	// SP High Kick
		DrvDSP_BIOS_Clv_Kick(  );
		Common_Wait_ms( 150 );				// 100->150		SDC 20041227
		DrvDSP_BIOS_Clv_On(  );				// 

//YTC008 No.346 帪娫挿偡偓丠
//		DrvDSP_CheckError_SetTimerSUBQ_Start();				// SDC 20041227
		gu16_timer_CheckError_SUBQ = (500/10);				// YTC008 test侾

		DrvDSP_BIOS_Tracking_On(  );		// YTC001 20041224
//		DrvDSP_BIOS_Clv_On(  );				// YTC008 忕挿
	}
	else
	{	//擇夞栚埲崀
//      if(antshock_f == 0)
//		{ //WIDEMODEoff
#if	CDx1	// SDC 20041218
#if	ERR_DETECT	// SDC 20041218
	  if( stInfoArea.PlayType == TYPE_CD )
	  {
#endif
		DrvDSP_BIOS_StartTraining(  );
//		DrvDSP_BIOS_WriteReg( 0x88, 0x7F );/*  CLV Kick Hight  */
		DrvDSP_BIOS_WriteReg( 0x88, Tbl_SP_HIGHT_HIGH[gu08_Mech] );	// SP High Kick
		DrvDSP_BIOS_Clv_Kick(  );
		Common_Wait_ms( 100 );
		DrvDSP_BIOS_EndTraining(  );
#if	ERR_DETECT	// SDC 20041218
	  }
#endif
#endif

//		DrvDSP_BIOS_WriteReg( 0x88, 0x0F );	//備傞偄僉僢僋偱丄	0x88偼僉僢僋崅偝偺愝掕偩偗丅

		DrvDSP_BIOS_Clv_Off();			//YTC008 俋俫憡摉偵偡傞堊丄CLVo=Vc偵

		gu08_sts_MovePickupIn = 0x01;		/*  Pickup撪廃堏摦梫媮  */
//      }
//		else
//		{	//WIDEMODEon	
		/*  CLV Kick Hight  */
//		DrvDSP_BIOS_WriteReg( 0x88, 0x7F );
//		DrvDSP_BIOS_Clv_Kick(  );
//		Common_Wait_ms( 100 );
//		DrvDSP_BIOS_WriteReg( 0x88, 0x0F );
//		gu08_sts_MovePickupIn = 0x01;	/*  Pickup撪廃堏摦梫媮  */
//		}

	}
	return;
}


/*----------------------------------------------------------------------------*/
/*	[NAME]     :DrvDSP_RecoverError1										  */
/*	[FUNCTION] :															  */
/*	[RETURN]   :void  														  */
/*	[PARAMETER]:void														  */
/*	[HISTORY]  :															  */
/*	[NOTE]     :															  */
/*----------------------------------------------------------------------------*/
void DrvDSP_RecoverError1( void )
{
	if( ( gu08_scc_FocusSearch == 0 ) && ( gu08_sts_MovePickupIn == 0 ) )
	{	//僼僅乕僇僗僒乕僠丄僗儗僢僪堷偒崬傒廔椆
		if(( gu08_servo_status & B00000001 ) == 00)
		{	//僼僅乕僇僗崌徟偣偢丅
			gu08_sccs_RecoverError = 0;		//LOOP
#if	ERR_DETECT	// SDC 20041218
			RecoverRetryInc();
#else
			gu08_num_RecoverRetry++;		//
#endif
		}
		else
		{	//僼僅乕僇僗崌徟偟偨丂傑偨偼丄俽倀俛俻僄儔乕偱僼僅乕僇僗棊偪偰偄側偄丅
			DrvDSP_BIOS_MMute1_Off(  );					//ALL SERVO ON 
//YTC008	DrvDSP_CheckError_SetTimerSUBQ_Start(  );	
			DrvDSP_BIOS_Clv_On(  );
			DrvDSP_BIOS_Tracking_On(  );
			gu08_timer_WaitSUBSYQ = CONST_TIME_WAIT_SUBSYQ;	//timer =僒乕儃嵞ON乣LOCK傑偱
			gu08_sccs_RecoverError = 2;						//next Scc
		}
	}
}


//	慡僒乕儃僆儞偟偨屻偺俴俷俠俲懸偪丅
//	SUB俻偑庢傟偨傜丄僒乕儃暅妶偲偡傞丅
/*----------------------------------------------------------------------------*/
/*	[NAME]     :DrvDSP_RecoverError2										  */
/*	[FUNCTION] :															  */
/*	[RETURN]   :void  														  */
/*	[PARAMETER]:void														  */
/*	[HISTORY]  :															  */
/*	[NOTE]     :															  */
/*----------------------------------------------------------------------------*/
void DrvDSP_RecoverError2( void )
{
	if( gu08_timer_WaitSUBSYQ != 0 )
	{
		if(( DrvDSP_BIOS_GetStatus() & 0x07 ) != 0x07 )
			return;

		// 惓忢暅婣
		gu08_sccs_RecoverError = 0;	//

//YTC008 20050108 
		DrvDSP_CheckError_SetTimerSUBQ_Start();									// SDC 20041227

//	}else	RecoverRetryInc();			// 僞僀儉傾僂僩
	}
	else
	{	//// 僞僀儉傾僂僩
		DrvDSP_CheckError_SetTimerSUBQ_Start();									// SDC 20041227
		if(	gu08_num_RecoverRetry ==0)
		{
			gu16_timer_CheckError_SUBQ = (600/10);	//僄儔乕暅婣弌棃偢弶夞栚帪偺subQ僄儔乕専弌帪娫偼抁傔偵丅儈儔乕柺媡揮懳嶔
		}
		RecoverRetryInc();			// 僞僀儉傾僂僩
	}

//YTC008 20050108 
//	DrvDSP_CheckError_SetTimerSUBQ_Start();									// SDC 20041227

//YTC008 20050109
	DrvDSP_BIOS_WriteReg(0x83,0x01);	//YTC008 20050109 僄儔乕暅婣帪偼俠俴倁慡奐

	gu08_sccs_RecoverError = 			//->LOOP
	gu08_scc_ServoError =				//惂屼懁偑僐儗傪尒偰僒乕儃暅婣傪抦傞丅偱丄嵞搙専弌梫媮傪弌偡丅
	gu08_sts_Error = 0;
}


//DISC PLAY帪偺儕儈僢僩僞僀儅乕
//偙偺帪娫撪偵SUBQ偑撉傔側偗傟偽SUBQ_Error
/*----------------------------------------------------------------------------*/
/*	[NAME]     :DrvDSP_CheckError_SetTimerSUBQ								  */
/*	[FUNCTION] :															  */
/*	[RETURN]   :void  														  */
/*	[PARAMETER]:void														  */
/*	[HISTORY]  :															  */
/*	[NOTE]     :															  */
/*----------------------------------------------------------------------------*/
void DrvDSP_CheckError_SetTimerSUBQ( void )
{
	gu16_timer_CheckError_SUBQ = CONST_TIME_ERROR_SUBQ;
	return;
}


//DISC STOP->PLAY帪偺儕儈僢僩僞僀儅乕
//偙偺帪娫撪偵SUBQ偑撉傔側偗傟偽SUBQ_Error
/*----------------------------------------------------------------------------*/
/*	[NAME]     :DrvDSP_CheckError_SetTimerSUBQ_Start						  */
/*	[FUNCTION] :															  */
/*	[RETURN]   :void  														  */
/*	[PARAMETER]:void														  */
/*	[HISTORY]  :															  */
/*	[NOTE]     :															  */
/*----------------------------------------------------------------------------*/
void DrvDSP_CheckError_SetTimerSUBQ_Start( void )
{
	gu16_timer_CheckError_SUBQ = CONST_TIME_ERROR_SUBQ_START;
	return;
}


//void DrvDSP_RecoverError1_1( void ){}
//void DrvDSP_RecoverError3( void ){}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -