fix for ADC analog

the "wait until I2S buffer fills" trick does not work for ADC sources, as the I2S sampling does not run in background for ADC.
This commit is contained in:
Frank 2022-10-04 16:00:36 +02:00
parent 7d5ce994ab
commit 1ae0dd574d

View File

@ -411,8 +411,11 @@ void FFTcode(void * parameter)
// run peak detection
autoResetPeak();
detectSamplePeak();
vTaskDelayUntil( &xLastWakeTime, xFrequency); // release CPU, and let I2S fill its buffers
#if !defined(I2S_GRAB_ADC1_COMPLETELY)
if ((audioSource == nullptr) || (audioSource->getType() != AudioSource::Type_I2SAdc)) // the "delay trick" does not help for analog ADC
#endif
vTaskDelayUntil( &xLastWakeTime, xFrequency); // release CPU, and let I2S fill its buffers
} // for(;;)ever
} // FFTcode() task end