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

XScuTimer_Config *tmr_config;
XScuTimer tmr;

void tmr_init(){
	tmr_config = XScuTimer_LookupConfig(XPAR_PS7_SCUTIMER_0_DEVICE_ID);
	s32 status = XScuTimer_CfgInitialize(&tmr, tmr_config, XPAR_PS7_SCUTIMER_0_BASEADDR);

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

	status = XScuTimer_SelfTest(&tmr);

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


}

int main()
{

	u32 tmrCount = 333333333*5;
    init_platform();
    tmr_init();

    XScuTimer_Stop(&tmr);
    XScuTimer_DisableAutoReload(&tmr); ///working in NORMAL Mode
    XScuTimer_LoadTimer(&tmr, tmrCount);
    XScuTimer_Start(&tmr);

    while(!XScuTimer_IsExpired(&tmr));

    xil_printf("TMR EXPIRED : Delay of 5 Sec achieved\n");


    cleanup_platform();
    return 0;
}