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

XScuTimer scutmr;
XScuTimer_Config *scutmr_config;

void tmr_init(){
	scutmr_config = XScuTimer_LookupConfig(XPAR_PS7_SCUTIMER_0_DEVICE_ID);
	int status = XScuTimer_CfgInitialize(&scutmr, scutmr_config, scutmr_config->BaseAddr);

	if(status == XST_SUCCESS)
		xil_printf("TMR Init Successful\n");
	else
		xil_printf("TMR Init Failed\n");

	status = XScuTimer_SelfTest(&scutmr);

	if(status == XST_SUCCESS)
		xil_printf("Self Test Successful\n");
	else
		xil_printf("Self Test Failed\n");


}

int main()
{   int countValue = 0;
    init_platform();
    tmr_init();
    XScuTimer_EnableAutoReload(&scutmr);
    u32 tmrCount = 333333333*5;
    XScuTimer_LoadTimer(&scutmr, tmrCount);
   // XScuTimer_DisableAutoReload(&scutmr);
    XScuTimer_Stop(&scutmr);
    XScuTimer_Start(&scutmr);

    while(1){

    while(XScuTimer_GetCounterValue(&scutmr)){
    	usleep(200000);
    	countValue = XScuTimer_GetCounterValue(&scutmr);
    	xil_printf("Count Value : %0d\n",countValue);
    }

     xil_printf("Timer Expired \n");
     usleep(200000);
    }
    cleanup_platform();
    return 0;
}