From c1dc21a3bad35461fcaa4483b496848211e40537 Mon Sep 17 00:00:00 2001 From: FReenen Date: Tue, 18 Jun 2024 18:09:33 +0200 Subject: [PATCH] add printChipInfo() --- index.html | 50 +++++++++------------------- rx_esp32/src/main.c | 8 +++++ rx_esp32/src/utils.c | 78 +++++++++++++++++++++++++++++++++++++++++--- rx_esp32/src/utils.h | 1 + 4 files changed, 98 insertions(+), 39 deletions(-) diff --git a/index.html b/index.html index 8ea5eba..382bba1 100644 --- a/index.html +++ b/index.html @@ -4,10 +4,8 @@ MBC Bootjes - -

MBC Het Groote Dok

+ +

MBC Het Groote Dok

@@ -81,9 +79,8 @@ font-size: xx-large;"> boatListEl.style.display = 'none'; } - function send(x,y,speed,angle){ - var data = clientId + ";d;" + x.toString() + "," + y.toString(); //{"x":x,"y":y,"speed":speed,"angle":angle}; - //data = JSON.stringify(data); + function send(x,y,angle){ + var data = clientId + ";d;" + x.toString() + "," + y.toString(); connection.send(data); } @@ -95,7 +92,7 @@ font-size: xx-large;"> window.addEventListener('load', () => { canvas = document.getElementById('canvas'); - ctx = canvas.getContext('2d'); + ctx = canvas.getContext('2d'); resize(); document.addEventListener('mousedown', startDrawing); @@ -116,16 +113,16 @@ font-size: xx-large;"> function resize() { width = window.innerWidth; radius = 200; - height = radius * 6.5; + height = radius * 4.5; ctx.canvas.width = width; ctx.canvas.height = height; background(); - joystick(width / 2, height / 3); + joystick(width / 2, height / 2); } function background() { x_orig = width / 2; - y_orig = height / 3; + y_orig = height / 2; ctx.beginPath(); ctx.arc(x_orig, y_orig, radius + 20, 0, Math.PI * 2, true); @@ -176,45 +173,30 @@ font-size: xx-large;"> paint = false; ctx.clearRect(0, 0, canvas.width, canvas.height); background(); - joystick(width / 2, height / 3); + joystick(width / 2, height / 2); } function Draw(event) { if (paint) { + getPosition(event); ctx.clearRect(0, 0, canvas.width, canvas.height); background(); - var angle_in_degrees,x, y, speed; + var angle_in_degrees, x, y, speed; var angle = Math.atan2((coord.y - y_orig), (coord.x - x_orig)); if (Math.sign(angle) == -1) { angle_in_degrees = Math.round(-angle * 180 / Math.PI); } else { - angle_in_degrees =Math.round( 360 - angle * 180 / Math.PI); + angle_in_degrees = Math.round(360 - angle * 180 / Math.PI); } + x = Math.max(-radius, Math.min(radius, coord.x - x_orig)); + y = Math.max(-radius, Math.min(radius, coord.y - y_orig)); + joystick(x + x_orig, y + y_orig); - if (is_it_in_the_circle()) { - joystick(coord.x, coord.y); - x = coord.x; - y = coord.y; - } - else { - x = radius * Math.cos(angle) + x_orig; - y = radius * Math.sin(angle) + y_orig; - joystick(x, y); - } - - - getPosition(event); - - var speed = Math.round(100 * Math.sqrt(Math.pow(x - x_orig, 2) + Math.pow(y - y_orig, 2)) / radius); - - var x_relative = Math.round(x - x_orig); - var y_relative = Math.round(y - y_orig); - - send( x_relative,y_relative,speed,angle_in_degrees); + send(x, y, angle_in_degrees); } } diff --git a/rx_esp32/src/main.c b/rx_esp32/src/main.c index f2b34c6..f075b79 100644 --- a/rx_esp32/src/main.c +++ b/rx_esp32/src/main.c @@ -82,6 +82,8 @@ void app_main() { ret = nvs_flash_init(); } ESP_ERROR_CHECK(ret); + + printChipInfo(); s_wifi_event_group = xEventGroupCreate(); @@ -144,6 +146,12 @@ void app_main() { ESP_LOGE(TAG, "UNEXPECTED EVENT"); } + while(true) + { + ESP_LOGI(TAG, ":3"); + + } + // running = true; // cmdList = getCMDList(); diff --git a/rx_esp32/src/utils.c b/rx_esp32/src/utils.c index fe7f37b..1fb7ae0 100644 --- a/rx_esp32/src/utils.c +++ b/rx_esp32/src/utils.c @@ -3,10 +3,15 @@ #include #include +#include "esp_system.h" +#include "esp_chip_info.h" +#include "esp_flash.h" + char* getNextArg(char* args) { uint8_t step = 0; - int end = 0; + uint8_t end = 0; + // find next argument separator while (end == 0) { if (step < 255) @@ -15,10 +20,12 @@ char* getNextArg(char* args) { case ';': end = 1; // found + break; case '\n': case '\r': case '\0': end = 2; // end of line + break; } } else @@ -28,12 +35,73 @@ char* getNextArg(char* args) step++; } - if (end != 3) - { - return args + step; + if (end == 1) + { // argument separator found + end = 0; + // find first char of argument + while (end == 0) + { + step++; + if (step < 255) + { + switch (*(args + step)) + { + case ';': + case '\n': + case '\r': + case '\0': + break; + default: + end = 1; + break; + } + } + else + { + end = 3; // line to long + } + } + + if (end == 1) + { // start of next argument found + return args + step; + } + else + { // no new argument found + return NULL; + } } else - { + { // is was the last argument (or the arguments is longer then 254 bytes) return NULL; } } + +void printChipInfo() +{ + esp_chip_info_t chip_info; + uint32_t flash_size; + esp_chip_info(&chip_info); + printf("This is %s chip with %d CPU core(s), %s%s%s%s, ", + CONFIG_IDF_TARGET, + chip_info.cores, + (chip_info.features & CHIP_FEATURE_WIFI_BGN) ? "WiFi/" : "", + (chip_info.features & CHIP_FEATURE_BT) ? "BT" : "", + (chip_info.features & CHIP_FEATURE_BLE) ? "BLE" : "", + (chip_info.features & CHIP_FEATURE_IEEE802154) ? ", 802.15.4 (Zigbee/Thread)" : "" + ); + + unsigned major_rev = chip_info.revision / 100; + unsigned minor_rev = chip_info.revision % 100; + printf("silicon revision v%d.%d, ", major_rev, minor_rev); + if(esp_flash_get_size(NULL, &flash_size) != ESP_OK) { + printf("Get flash size failed"); + return; + } + + printf("%" PRIu32 "MB %s flash\n", flash_size / (uint32_t)(1024 * 1024), + (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external" + ); + + printf("Minimum free heap size: %" PRIu32 " bytes\n", esp_get_minimum_free_heap_size()); +} diff --git a/rx_esp32/src/utils.h b/rx_esp32/src/utils.h index dfb488e..af0def1 100644 --- a/rx_esp32/src/utils.h +++ b/rx_esp32/src/utils.h @@ -2,5 +2,6 @@ #define UTILS_H char* getNextArg(char* args); +void printChipInfo(); #endif \ No newline at end of file