forked from PAWPAW-Mirror/lib_xua
Make SDM loop startup safer
This commit is contained in:
@@ -1031,7 +1031,7 @@ void XUA_Buffer_Ep(register chanend c_aud_out,
|
||||
|
||||
#if (XUA_SYNCMODE == XUA_SYNCMODE_SYNC)
|
||||
case c_audio_rate_change :> u_tmp:
|
||||
printstr("c_audio_rate_change\n");
|
||||
printstr("rc\n");
|
||||
unsigned selected_mclk_rate = u_tmp;
|
||||
c_audio_rate_change :> u_tmp; /* Sample rate is discarded as only care about mclk */
|
||||
#if (XUA_USE_SW_PLL)
|
||||
@@ -1051,7 +1051,7 @@ void XUA_Buffer_Ep(register chanend c_aud_out,
|
||||
/* This is fired when sw_pll has completed initialising a new mclk_rate */
|
||||
case inuint_byref(c_sw_pll, u_tmp):
|
||||
inct(c_sw_pll);
|
||||
printstr("SWPLL synch\n");
|
||||
printstr("sy\n");
|
||||
c_audio_rate_change <: 0; /* ACK back to audio to release */
|
||||
|
||||
break;
|
||||
|
||||
@@ -138,6 +138,7 @@ void sw_pll_task(chanend c_sw_pll){
|
||||
timer tmr;
|
||||
int32_t time_trigger;
|
||||
tmr :> time_trigger;
|
||||
time_trigger += sdm_interval; /* ensure first loop has correct delay */
|
||||
int running = 1;
|
||||
|
||||
outuint(c_sw_pll, 0); /* Signal back via clockgen to audio to start I2S */
|
||||
|
||||
Reference in New Issue
Block a user