From c90eb296cbb33bc6f9124a4f876ffdea2fe7c7fe Mon Sep 17 00:00:00 2001 From: Alexander Entinger Date: Thu, 13 Jan 2022 10:19:48 +0100 Subject: [PATCH 1/3] Allow a more direct access to the joystick/button API than via getKey. --- src/Braccio++.cpp | 12 ++++++------ src/Braccio++.h | 7 +++++++ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/Braccio++.cpp b/src/Braccio++.cpp index c88d920..450c8d2 100644 --- a/src/Braccio++.cpp +++ b/src/Braccio++.cpp @@ -272,22 +272,22 @@ void BraccioClass::motors_connected_thread() { } int BraccioClass::getKey() { - if (digitalRead(BTN_LEFT) == LOW) { + if (isJoystickPressed_LEFT()) { return 1; } - if (digitalRead(BTN_RIGHT) == LOW) { + if (isJoystickPressed_RIGHT()) { return 2; } - if (digitalRead(BTN_SEL) == LOW) { + if (isJoystickPressed_SELECT()) { return 3; } - if (digitalRead(BTN_UP) == LOW) { + if (isJoystickPressed_UP()) { return 4; } - if (digitalRead(BTN_DOWN) == LOW) { + if (isJoystickPressed_DOWN()) { return 5; } - if (digitalRead(BTN_ENTER) == LOW) { + if (isButtonPressed_ENTER()) { return 6; } return 0; diff --git a/src/Braccio++.h b/src/Braccio++.h index 2cc01a8..8496201 100644 --- a/src/Braccio++.h +++ b/src/Braccio++.h @@ -146,6 +146,13 @@ class BraccioClass int getKey(); void connectJoystickTo(lv_obj_t* obj); + inline bool isJoystickPressed_LEFT() { return (digitalRead(BTN_LEFT) == LOW); } + inline bool isJoystickPressed_RIGHT() { return (digitalRead(BTN_RIGHT) == LOW); } + inline bool isJoystickPressed_SELECT() { return (digitalRead(BTN_SEL) == LOW); } + inline bool isJoystickPressed_UP() { return (digitalRead(BTN_UP) == LOW); } + inline bool isJoystickPressed_DOWN() { return (digitalRead(BTN_DOWN) == LOW); } + inline bool isButtonPressed_ENTER() { return (digitalRead(BTN_ENTER) == LOW); } + TFT_eSPI gfx = TFT_eSPI(); bool ping_allowed = true; From a021242379c463ebf87d49e17f340cf673d3d22a Mon Sep 17 00:00:00 2001 From: Alexander Entinger Date: Thu, 13 Jan 2022 10:26:26 +0100 Subject: [PATCH 2/3] Simplify 'Check_Inputs' using the new joystick API. --- examples/Tools/Check_Inputs/Check_Inputs.ino | 27 +++++--------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/examples/Tools/Check_Inputs/Check_Inputs.ino b/examples/Tools/Check_Inputs/Check_Inputs.ino index 27b42d8..9d2020f 100644 --- a/examples/Tools/Check_Inputs/Check_Inputs.ino +++ b/examples/Tools/Check_Inputs/Check_Inputs.ino @@ -6,24 +6,6 @@ #include -String toMessage(int const input) -{ - static String const message[] = - { "", - "LEFT (Joystick)", - "RIGHT (Joystick)", - "SELECT (Joystick)", - "UP (Joystick)", - "DOWN (Joystick)", - "ENTER (Button)" - }; - - if (input < 7) - return message[input]; - else - return String("Error, invalid input value"); -} - void setup() { Serial.begin(115200); @@ -35,8 +17,11 @@ void setup() void loop() { - String const message = toMessage(Braccio.getKey()); - if(message != "") - Serial.println(message); + if(Braccio.isJoystickPressed_LEFT()) Serial.println("LEFT (Joystick)"); + if(Braccio.isJoystickPressed_RIGHT()) Serial.println("RIGHT (Joystick)"); + if(Braccio.isJoystickPressed_SELECT())Serial.println("SELECT (Joystick)"); + if(Braccio.isJoystickPressed_UP()) Serial.println("UP (Joystick)"); + if(Braccio.isJoystickPressed_DOWN()) Serial.println("DOWN (Joystick)"); + if(Braccio.isButtonPressed_ENTER()) Serial.println("ENTER (Button)"); delay(100); } From e1acc82ed0cb3ce4835cbc863eaa67e2e07dfab1 Mon Sep 17 00:00:00 2001 From: Alexander Entinger Date: Thu, 13 Jan 2022 10:28:52 +0100 Subject: [PATCH 3/3] Rename Check_Inputs to Test_Inputs to be consistent with other sketches stored within the Tools subfolder. --- .../Check_Inputs.ino => Test_Inputs/Test_Inputs.ino} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename examples/Tools/{Check_Inputs/Check_Inputs.ino => Test_Inputs/Test_Inputs.ino} (100%) diff --git a/examples/Tools/Check_Inputs/Check_Inputs.ino b/examples/Tools/Test_Inputs/Test_Inputs.ino similarity index 100% rename from examples/Tools/Check_Inputs/Check_Inputs.ino rename to examples/Tools/Test_Inputs/Test_Inputs.ino