//RAMPTABLE.C Generates a ramp using a look-up table

#define table_size (int)0x400  //size of table=1024 
int data_table[table_size];    //data table array
int i;                           

interrupt void c_int11()	 //interrupt service routine 
{                                
 output_sample(data_table[i]); //ramp value for each Ts
 if (i < table_size-1) i++;    //if table size is reached
 else i = 0;                   //reinitialize counter
 return;				 //return from interrupt
}

main()                           
{
  for(i=0; i < table_size; i++)
   {
    data_table[i] = 0x0;       //clear each buffer location
    data_table[i] = i * 0x20;  //set to 0,32,64,96,...,32736 
   }                             
  i = 0;				 //reinit counter
  comm_intr();                 //init DSK, codec, McBSP
  while (1);                   //infinite loop
}