
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_system.h"
#include "rom/ets_sys.h"
#include "nvs_flash.h"
#include "driver/gpio.h"
#include "sdkconfig.h"
#include <stdio.h>
#include "esp_types.h"
#include "freertos/queue.h"
#include "driver/uart.h"
#include "esp_wifi.h"
#include "esp_event_loop.h"


extern void initialise_wifi();


char U1_RCVE[2048];
 int len_data;



void app_main()
{
	uart_set_pin(UART_NUM_2, GPIO_NUM_17, GPIO_NUM_16, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE);
	uart_set_pin(UART_NUM_1, GPIO_NUM_10, GPIO_NUM_9, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE);

	uart_config_t uart_config = {
	.baud_rate = 9600,                                 //baudrate
	.data_bits = UART_DATA_8_BITS,                       //data bit mode
	.parity = UART_PARITY_DISABLE,                       //parity mode
	.stop_bits = UART_STOP_BITS_1,                       //stop bit mode
	.flow_ctrl = UART_HW_FLOWCTRL_DISABLE,               //hardware flow control(cts/rts)
	.rx_flow_ctrl_thresh = 120,                          //flow control threshold
	};



	uart_param_config(UART_NUM_0, &uart_config);
	uart_param_config(UART_NUM_1, &uart_config);
	uart_param_config(UART_NUM_2, &uart_config);
	uart_driver_install(UART_NUM_0, 1024 * 2, 0, 9, NULL, 0);
	uart_driver_install(UART_NUM_1, 1024 * 2, 0, 10, NULL, 0);
	uart_driver_install(UART_NUM_2, 1024 * 2, 0, 10, NULL, 0);



    initialise_wifi();


    while(1)
    {

    	len_data = uart_read_bytes(UART_NUM_1, &U1_RCVE, 2048, portTICK_RATE_MS);

    	if(len_data>0)
        	{
    	    uart_write_bytes(UART_NUM_0,  U1_RCVE, len_data);
    	    printf("\n");
        	}


        vTaskDelay(1000 / portTICK_RATE_MS);






    }

}
