#include "system.h"

// ***** macro definition *****

// Driver instance
XGpioPs gpio;
XScuGic gic;
XAxiDma dma;
XUartPs uart;

u8 uartRecvBuf[70];

int main(void)
{
    int32_t status;
    // Init system
    status = InitSystem();
    CHECK_STATUS(status, ERROR_MSG("system init fail"));

    uint8_t *dataBuffer = malloc(sizeof(uint8_t) * 1024);
    for (int i = 0; i < 1024; i++)
    {
        dataBuffer[i] = i;
    }
    uint16_t port = lwip_htons(8090);
    *(uint16_t*)dataBuffer = port;
    *(uint16_t*)(dataBuffer+2)= port;
    RawInit();


    while (1)
    {
    	usleep(500000);
        // push stack !!! this can't be delete, and must be in the while loop
        xemacif_input(netif);
        RawUdpSend(dataBuffer, 1024);
    }

    return 0;
}
