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

XGpio ledi, swi;
XGpio_Config *led_config, *sw_config;

void init(){
	int statusl,statuss;
	led_config = XGpio_LookupConfig(XPAR_LED_DEVICE_ID);
	statusl =  XGpio_CfgInitialize(&ledi, led_config, led_config->BaseAddress);

	sw_config = XGpio_LookupConfig(XPAR_SWITCH_DEVICE_ID);
    statuss =  XGpio_CfgInitialize(&swi, sw_config, sw_config->BaseAddress);

    if((statusl && statuss) == XST_SUCCESS)
		xil_printf("LED and SW successfully Initialize");
		else
	xil_printf("Init Failed");

}


int main()
{
	u32 swData = 0;

    init_platform();
    init();
    xil_printf("Starting Test\n\r");
    XGpio_SetDataDirection(&ledi,1,0x0);
    XGpio_SetDataDirection(&swi,1,0xf);

    while(1){
    swData = XGpio_DiscreteRead(&swi, 1);
    XGpio_DiscreteWrite(&ledi, 1, swData);
    xil_printf("Value read %0d\n",swData);
    sleep(10);
    }



    cleanup_platform();
    return 0;
}