/* This is to test working of the GUI Generated Code for FFT Accelerator N=256 Points */

#include<def21479.h>
#include<Cdef21479.h>
#include<signal.h>
#include<math.h>

extern void Init_FFT();

void FFT_DMA_ISR();

#define N 2048

#define V 32
#define H 64


	float FFT_IP_buff[2*N]={
		
							#include "fft_input.dat"
	};
	
	float FFT_OP_buff[2*N];
	
	float FFT_OP1_buff[N/2];
	
	
	float FFT_VCF_buff[128]={
							#include "twiddle_32.dat"
	};
	
	float FFT_HCF_buff[128]={
							#include "twiddle_64.dat"
	};
	
							
	float FFT_SP_CF_buff[4*N]=
						{
							
							#include "pw_twiddle_2048.dat"
						};
						
	float  FFT_IM_OP_buff[2*N];
	
	int fft_done=0;

int main()
{
	int i;
	
	interrupt(SIG_P0,FFT_DMA_ISR);
		
	Init_FFT();	
	
	while(fft_done!=1);
		
	for(i=0;i<N/2;i++)
	{
	
		FFT_OP1_buff[i]=sqrt(FFT_OP_buff[2*i]*FFT_OP_buff[2*i]+FFT_OP_buff[2*i+1]*FFT_OP_buff[2*i+1]);
	}
	
	
	return 0;	
	
}


void FFT_DMA_ISR()
{

		
	if((*pFFTDMASTAT&ODMACHIRPT)!=0)
		fft_done=1;
		
		
	
}
