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