From f81010a24ae23d6f50a1cb6c88ff6a155d5d3f52 Mon Sep 17 00:00:00 2001 From: JbLb Date: Tue, 28 Jan 2020 00:05:45 +0100 Subject: [PATCH 1/4] add stm32-F411 environement --- platformio.ini | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/platformio.ini b/platformio.ini index a88fc5f..7438255 100644 --- a/platformio.ini +++ b/platformio.ini @@ -9,7 +9,8 @@ ; https://docs.platformio.org/page/projectconf.html [platformio] -default_envs = leonardo +; default_envs = leonardo +default_envs = stm32-411 [common_env_data] @@ -21,14 +22,7 @@ lib_deps = Nintendo Extension Ctrl upload_port = /dev/ttyACM* monitor_port = /dev/ttyACM* - - -; [env:pro_micro] -; board = sparkfun_promicro16 -; framework = arduino -; platform = atmelavr -; upload_port = /dev/ttyACM* -; monitor_port = /dev/ttyACM* +monitor_speed = 115200 [env:usbasp] platform = atmelavr @@ -41,12 +35,26 @@ upload_protocol = usbasp upload_flags = -Pusb +[env:stm32-411] +platform = ststm32 +framework = arduino +board = nucleo_f411re +build_flags = + -Wno-deprecated +lib_deps = + Nintendo Extension Ctrl + +debug_tool = stlink + +monitor_port = /dev/ttyACM* +monitor_speed = 115200 + [env:stm32] platform = ststm32 framework = arduino board = nucleo_l031k6 build_flags = - -Wno-deprecated + -Wno-deprecated lib_deps = Nintendo Extension Ctrl From 7b18af904a7c1a165d2831cc5af6f2f3be21f4bb Mon Sep 17 00:00:00 2001 From: JbLb Date: Tue, 28 Jan 2020 00:08:34 +0100 Subject: [PATCH 2/4] add delay beetwen reading nunchuck --- src/hoverserial.ino | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/hoverserial.ino b/src/hoverserial.ino index e6a69d0..9302541 100644 --- a/src/hoverserial.ino +++ b/src/hoverserial.ino @@ -34,7 +34,7 @@ #define HOVER_SERIAL_BAUD 38400 // [-] Baud rate for HoverSerial (used to communicate with the hoverboard) #define SERIAL_BAUD 115200 // [-] Baud rate for built-in Serial (used for the Serial Monitor) #define START_FRAME 0xAAAA // [-] Start frme definition for reliable serial communication -#define TIME_SEND 100 // [ms] Sending time interval +#define TIME_SEND 25 // [ms] Sending time interval #define SPEED_MAX_TEST 300 // [-] Maximum speed for testing //#define DEBUG_RX // [-] Debug received data. Prints all bytes to serial (comment-out to disable) @@ -224,9 +224,15 @@ int old_cursorX, old_cursorY; nchuk.reconnect(); } else { - cmd1 = map(nchuk.joyX(),0,256,-300,300); // x - axis. Nunchuck joystick readings range 30 - 230 - cmd2 = map(nchuk.joyY(),0,256, 300, -300); // y - axis + + Serial.print("X : "); Serial.println(nchuk.joyX()); + Serial.print("Y : "); Serial.println(nchuk.joyY()); + + + cmd1 = map(nchuk.joyX(),0,256,300,-300); // x - axis. Nunchuck joystick readings range 300 - -300 + cmd2 = map(nchuk.joyY(),0,256,-300, 300); // y - axis } + /* display.setCursor(0, 40); display.setTextSize(1); // Draw 1X-scale text display.setTextColor(SSD1306_WHITE); @@ -336,13 +342,14 @@ void loop(void) { unsigned long timeNow = millis(); - // Check for new received data - Receive(); -// Nunchuk_display(); -// show_dot(); -// display.display(); +// Check for new received data +// Receive(); -Nunchuk_control(); + if (iTimeSend > timeNow) + return; + iTimeSend = timeNow + TIME_SEND; + // Nunchuk_display(); + Nunchuk_control(); /* // Send commands if (iTimeSend > timeNow) From 5ddc65d9fb132bbad52c8ecb6f2dd480729b59e8 Mon Sep 17 00:00:00 2001 From: JbLb Date: Tue, 28 Jan 2020 00:09:25 +0100 Subject: [PATCH 3/4] second serial & clean up --- src/build_opt.h | 5 ++--- src/hoverserial.ino | 22 +++++++--------------- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/src/build_opt.h b/src/build_opt.h index 78f8159..c60b7a1 100644 --- a/src/build_opt.h +++ b/src/build_opt.h @@ -1,3 +1,2 @@ --DENABLE_HWSERIAL2 --DPIN_SERIAL3_RX=PA10 --DPIN_SERIAL3_TX=PA9 \ No newline at end of file +-DENABLE_HWSERIAL1 +-DPIN_SERIAL1_RX=PA_10 -DPIN_SERIAL1_TX=PA_9 diff --git a/src/hoverserial.ino b/src/hoverserial.ino index 9302541..d9adc18 100644 --- a/src/hoverserial.ino +++ b/src/hoverserial.ino @@ -92,6 +92,7 @@ int motor_test_direction = 1; Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire); // Connect to a Nunchuk Nunchuk nchuk; +HardwareSerial Serial1(PA_10, PA_9); // ########################## SETUP ########################## void setup() @@ -103,14 +104,16 @@ void setup() // Clear the buffer display.clearDisplay(); display.display(); + display.setTextSize(1); // Draw 1X-scale text display.setTextColor(SSD1306_WHITE); display.setCursor(int ((display.width() - (strlen("Hoverboard Serial") * 6)) / 2), 0); display.println("Hoverboard Serial"); - display.setCursor(52, 8); - display.println("v0.2"); + display.setCursor(int + ((display.width() -(strlen("v STM32 0.1") *6))/2), 8); + display.println("v STM32 0.1"); /* display.print("Nunchuk "); nchuk.connect()? display.print("") : display.print("not "); @@ -125,7 +128,7 @@ void setup() Serial.begin(SERIAL_BAUD); if (Serial) { - Serial.println("Hoverboard Serial v1.0"); + Serial.println("Hoverboard Serial v STM32 0.1"); } } @@ -253,6 +256,7 @@ int old_cursorX, old_cursorY; display.print(cmd2); display.display(); +*/ Send(cmd1, cmd2); } @@ -357,18 +361,6 @@ void loop(void) iTimeSend = timeNow + TIME_SEND; Send(0, cmd2); - - display.setCursor(0, 30); - display.setTextSize(1); // Draw 1X-scale text - display.setTextColor(SSD1306_WHITE); - display.print("Speed : "); - old_cursorX = display.getCursorX(); - old_cursorY = display.getCursorY(); - display.fillRect(old_cursorX, old_cursorY, (6 * 5), 8, SSD1306_BLACK); // erase previous display - display.setCursor(old_cursorX, old_cursorY); - display.print(cmd2); - display.display(); - // Calculate test command signal if (motor_test_direction == 1) cmd2 += 1; From 37708e688cd3163739d074a8df4e9b7d0d19b883 Mon Sep 17 00:00:00 2001 From: JbLb Date: Fri, 31 Jan 2020 16:41:16 +0100 Subject: [PATCH 4/4] ajust gitignore --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index 9e57fc8..471169c 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,7 @@ .vscode/ hoverserial.code-workspace .piolibdeps/ +hoverserial.ino +build_opt.h +.gcc-flags.json +.clang_complete