#include <stdio.h>
#include "platform.h"
#include "xil_printf.h"
#include "xtmrctr.h"
#include "xparameters.h"

XTmrCtr tmr;

void tmr_init(){
	int status =  XTmrCtr_Initialize(&tmr,XPAR_AXI_TIMER_0_DEVICE_ID );

	if(status == XST_SUCCESS)
		xil_printf("TMR INIT SUCCESSUFUL\n");
	else
		xil_printf("TMR INIT FAILED\n");

	status = XTmrCtr_SelfTest(&tmr, 0);

	if(status == XST_SUCCESS)
		xil_printf("TMR SELFTEST SUCCESSUFUL\n");
	else
		xil_printf("TMR SELFTEST FAILED\n");

}


int main()
{
	u32 count = 100000000*5;

    init_platform();
    tmr_init();

    XTmrCtr_Stop(&tmr, 0);
    XTmrCtr_SetResetValue(&tmr, 0, count);

    XTmrCtr_Reset(&tmr, 0);

    u32 option = XTmrCtr_GetOptions(&tmr, 0);
    XTmrCtr_SetOptions(&tmr, 0, option | XTC_DOWN_COUNT_OPTION );

       	XTmrCtr_Start(&tmr, 0);
    	while(!XTmrCtr_IsExpired(&tmr, 0));
    	
    	xil_printf("Delay of 5 Sec achieved\n");


    cleanup_platform();
    return 0;
}