//Fir.c  FIR filter. Include coefficient file with length N

#include "bs2700.cof"		   //coefficient file BS @ 2700Hz
int yn = 0;				   //initialize filter's output
short dly[N];                    //delay samples

interrupt void c_int11()	   //ISR
{
	short i;
   
   	dly[0] = input_sample();   //new input @ beginning of buffer
    	yn = 0;                    //initialize filter's output
	for (i = 0; i< N; i++)
	   yn += (h[i] * dly[i]);  //y(n) += h(i)* x(n-i)
	for (i = N-1; i > 0; i--)  //starting @ end of buffer
   	   dly[i] = dly[i-1];      //update delays with data move

   	output_sample(yn >> 15);   //scale output filter
   	return;
}

void main()
   {
  	comm_intr();               //init DSK, codec, McBSP
  	while(1);                  //infinite loop
   }