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); }
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; }