//sine8_buf Sine generation. Output buffer plotted within CCS
//Comm routines and support files included in C6xdskinit.c

short loop = 0;
short sine_table[8] = {0,707,1000,707,0,-707,-1000,-707}; //sine values
short out_buffer[256];              //output buffer
const short BUFFERLENGTH = 256;     //size of output buffer
short i = 0;                  	    //for buffer count

interrupt void c_int11()            //interrupt service routine
{ 
  output_sample(sine_table[loop]);  //output each sine value
  out_buffer[i] = sine_table[loop]; //output to buffer
  i++;				    //increment buffer count
  if (i == BUFFERLENGTH) i = 0;	//if bottom reinit buffer count
  if (loop < 7) ++loop;             //increment index loop
  else loop = 0;                    //if end of buffer,reinit index
  return;
}

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