From fc7ab6b1f83c25993b1f6672312a99d0046eee57 Mon Sep 17 00:00:00 2001 From: RicardoEA <ricardo.ercoli@fing.edu.uy> Date: Tue, 24 Jan 2023 22:50:17 -0300 Subject: [PATCH] Send and receive one float via UART --- Robotito/include/control.h | 1 + Robotito/src/control/control.c | 13 ++++++------- Robotito/src/main.c | 3 +-- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Robotito/include/control.h b/Robotito/include/control.h index 1168f0c..29116c8 100644 --- a/Robotito/include/control.h +++ b/Robotito/include/control.h @@ -87,6 +87,7 @@ typedef struct { static servo_t motors[NMOTORS]; static odom_t odometry; +static float float_buffer[6]; esp_err_t omni_init(); diff --git a/Robotito/src/control/control.c b/Robotito/src/control/control.c index 4247566..e615f99 100644 --- a/Robotito/src/control/control.c +++ b/Robotito/src/control/control.c @@ -121,20 +121,19 @@ static void callback_odometry(){ //char* Txdata = (char*) malloc(100); //sprintf (Txdata, "Hello world index \r\n"); //uart_write_bytes(UART_NUM_2, Txdata, strlen(Txdata)); - float float_buffer[6]; //float_buffer = o; - float_buffer[0] = o->x; + float_buffer[0] = PI; float_buffer[1] = o->x_dot; float_buffer[2] = o->y; float_buffer[3] = o->y_dot; float_buffer[4] = o->phi; float_buffer[5] = o->phi_dot; uart_write_bytes(UART_NUM_2, &float_buffer[0], sizeof(float)); - uart_write_bytes(UART_NUM_2, &float_buffer[1], sizeof(float)); - uart_write_bytes(UART_NUM_2, &float_buffer[2], sizeof(float)); - uart_write_bytes(UART_NUM_2, &float_buffer[3], sizeof(float)); - uart_write_bytes(UART_NUM_2, &float_buffer[4], sizeof(float)); - uart_write_bytes(UART_NUM_2, &float_buffer[5], sizeof(float)); + // uart_write_bytes(UART_NUM_2, &float_buffer[1], sizeof(float)); + // uart_write_bytes(UART_NUM_2, &float_buffer[2], sizeof(float)); + // uart_write_bytes(UART_NUM_2, &float_buffer[3], sizeof(float)); + // uart_write_bytes(UART_NUM_2, &float_buffer[4], sizeof(float)); + // uart_write_bytes(UART_NUM_2, &float_buffer[5], sizeof(float)); free(v); } diff --git a/Robotito/src/main.c b/Robotito/src/main.c index 1eda5df..37eb3b8 100644 --- a/Robotito/src/main.c +++ b/Robotito/src/main.c @@ -50,7 +50,6 @@ static void uart_task(void *pvParameters) len = uart_read_bytes(UART_NUM, data, BUF_SIZE, portMAX_DELAY); if (len == BUF_SIZE){ memcpy(&fdata, data , sizeof(fdata)); - printf("%s \n",data); for (int i = 0; i < FLOAT_BUF_SIZE; i++) { printf("El dato %d en float es: %f \n",i, fdata[i]); @@ -83,7 +82,7 @@ static void init_uart(void) uart_set_pin(UART_NUM, 5, 4, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE); - uart_driver_install(UART_NUM, BUF_SIZE*2, BUF_SIZE*2, 5, &uart_queue, 0); + uart_driver_install(UART_NUM, 1024, 1024, 5, &uart_queue, 0); xTaskCreate(uart_task, "uart_task", TASK_MEMORY, NULL, 5, NULL); } -- GitLab