I have code where I can run a fir filter in the background and it works, but when placed inside an interrupt service routine it does not work. The interrupt is set up with a call to "interrupt":
The filter code is:
#define TAPS 16
#define NUM_SAMPLES 32
float pm coeffs01[TAPS];
fir(GPBlock0, GPBlock1, coeffs01, state01, NUM_SAMPLES, TAPS);
The arrays are correctly sized and the state array is initialized to all 0. If the fir() is inside main(), it works, but inside Audio_ISR() it does not and the output data is all 0. All other tasks inside Audio_ISR() are working correctly and there is plenty of time to execute the small fir.