void Extended_PCM2WAY_Stop(uint32 type)
{        
	// Sal_PCMEx_Config_t cfg_t;
	// cfg_t.idle = false;//initialized

	
	ASSERT(type == pcmEx.app_type);  // start and stop should using same type


   /* the begining of configure the SAL */ 
	ASSERT(SAL_PcmEx_CheckStateUL(SAL_PCMEX_TYPE_PNW, SAL_PCMEX_OFF) || SAL_PcmEx_CheckStateUL(SAL_PCMEX_TYPE_PNW, SAL_PCMEX_RDY));
	ASSERT(SAL_PcmEx_CheckStateDL(SAL_PCMEX_TYPE_PNW, SAL_PCMEX_OFF) || SAL_PcmEx_CheckStateDL(SAL_PCMEX_TYPE_PNW, SAL_PCMEX_RDY));
               
   SAL_PcmEx_SetStateUL(SAL_PCMEX_TYPE_PNW, SAL_PCMEX_OFF);
   SAL_PcmEx_SetStateDL(SAL_PCMEX_TYPE_PNW, SAL_PCMEX_OFF);

   // cfg_t.swi = SAL_PCMEX_SWITCH_OFF;
   // cfg_t.type = SAL_PCMEX_TYPE_PNW;
   AM_PCM_EX_Off(type, (uint32)(&pcmEx));
   /* the end of configure the SAL */    
   
   L1Audio_UnhookHisrHandler(DP_D2C_PCM_EX_DL); 
   L1Audio_UnhookHisrHandler(DP_D2C_PCM_EX_UL); 
   L1Audio_ClearFlag( pcmEx.aud_id );
   L1Audio_FreeAudioID( pcmEx.aud_id );   
   pcmEx.pnw_dl_hdlr = pcmEx.pnw_ul_hdlr = NULL;
   pcmEx.state = 0;        
   pcmEx.bandInfo = PCMNWAY_BAND_INFO_UNSET;
   pcmEx.app_type = P2W_APP_TYPE_UNDEFINE;
   pcmEx.am_type  = AM_PCMEX_TYPE_UNDEF;   
   
   PCM2Way_SetFormat(P2W_FORMAT_NORMAL);
}
Exemple #2
0
void PCM4WAY_Stop(uint32 type)
{
   ASSERT(DP_PCM_EX_CTRL == 0x102);   
   DP_PCM_EX_CTRL = 0;         
   AM_PCM_EX_Off(type);
   L1Audio_UnhookHisrHandler(DP_D2C_PCM_EX); 
   pcmEx.hdlr = NULL;
   pcmEx.state = 0;       
}
void PcmEx_Stop(void)
{
	
	ASSERT( PNW_STATE_RUN == pcmEx.state); 

	if(true == pcmEx.isEnhOn) {
		SetSpeechEnhancement(false);
	}

   /* the begining of configure the SAL */ 
	ASSERT(SAL_PcmEx_CheckStateUL(SAL_PCMEX_TYPE_PNW, SAL_PCMEX_OFF) || SAL_PcmEx_CheckStateUL(SAL_PCMEX_TYPE_PNW, SAL_PCMEX_RDY));
	ASSERT(SAL_PcmEx_CheckStateDL(SAL_PCMEX_TYPE_PNW, SAL_PCMEX_OFF) || SAL_PcmEx_CheckStateDL(SAL_PCMEX_TYPE_PNW, SAL_PCMEX_RDY));
               
   SAL_PcmEx_SetStateUL(SAL_PCMEX_TYPE_PNW, SAL_PCMEX_OFF);
   SAL_PcmEx_SetStateDL(SAL_PCMEX_TYPE_PNW, SAL_PCMEX_OFF);

   AM_PCM_EX_Off(pcmEx.am_type, (uint32)(&pcmEx));
   
   L1Audio_UnhookHisrHandler(DP_D2C_PCM_EX_DL); 
   L1Audio_UnhookHisrHandler(DP_D2C_PCM_EX_UL); 
	
   L1Audio_ClearFlag( pcmEx.aud_id );
   L1Audio_FreeAudioID( pcmEx.aud_id );   

	// set to default. 
   pcmEx.pnw_dl_hdlr = pcmEx.pnw_ul_hdlr = NULL;
	pcmEx.cfgUL1 = 0;
	pcmEx.cfgUL2 = 0;
	pcmEx.cfgUL3 = 0;
	pcmEx.cfgUL4 = 0;
	pcmEx.cfgDL = 0;

	// pcmEx.dspPcmExMicLen = 0; 
	// pcmEx.dspPcmExSpkLen = 0;

   pcmEx.bandInfo = PCMEX_BAND_UNSET;	
   pcmEx.am_type  = AM_PCMEX_TYPE_UNDEF;   
				
   pcmEx.state = PNW_STATE_IDLE;        
   
   
}
void DACA_Stop(DACA_APP_TYPE app_type)
{
	// Sal_PCMEx_Config_t cfg_t;

	// cfg_t.idle = false;//initialized

   ASSERT((dacaEx.app_type == app_type) && (dacaEx.state == DACA_STATE));   
  
    /* the begining of configure the SAL */  
   if(dacaEx.app_type & DACA_USE_UL){//either ready or off
   	ASSERT(SAL_PcmEx_CheckStateUL(SAL_PCMEX_TYPE_DACA, SAL_PCMEX_RDY));
   }else{
   	ASSERT(SAL_PcmEx_CheckStateUL(SAL_PCMEX_TYPE_DACA, SAL_PCMEX_OFF));
   }
   
   if(dacaEx.app_type & DACA_USE_DL){//either ready or off
		ASSERT(SAL_PcmEx_CheckStateDL(SAL_PCMEX_TYPE_DACA, SAL_PCMEX_RDY));
   }else{
		ASSERT(SAL_PcmEx_CheckStateDL(SAL_PCMEX_TYPE_DACA, SAL_PCMEX_OFF));
   }

	SAL_PcmEx_SetStateUL(SAL_PCMEX_TYPE_DACA, SAL_PCMEX_OFF);
	SAL_PcmEx_SetStateDL(SAL_PCMEX_TYPE_DACA, SAL_PCMEX_OFF);
	  
   // cfg_t.swi = SAL_PCMEX_SWITCH_OFF;
   // cfg_t.type = SAL_PCMEX_TYPE_DACA;
   AM_PCM_EX_Off(dacaEx.am_type, &dacaEx);    
    /* the end of configure the SAL */  
    
   L1Audio_UnhookHisrHandler(DP_D2C_DACA_REQ_DL); 
   L1Audio_UnhookHisrHandler(DP_D2C_DACA_REQ_UL); 

   L1Audio_ClearFlag( dacaEx.aud_daca_id );
   L1Audio_FreeAudioID( dacaEx.aud_daca_id );
   
   dacaEx.daca_dl_hdlr   = dacaEx.daca_ul_hdlr = NULL;
   dacaEx.state          = 0; 
   dacaEx.app_type       = DACA_APP_TYPE_UNDEFINE; 
   dacaEx.am_type        = 0xFFFF;      
}