From 3ee435dc3c021899caa9375de30698468c99bbf2 Mon Sep 17 00:00:00 2001 From: 3djc Date: Fri, 3 Apr 2020 16:06:17 +0200 Subject: [PATCH] Basic touch test screen holders --- radio/src/gui/480x272/menus.h | 1 + radio/src/gui/480x272/radio_diagtouch.cpp | 36 +++++++++++++++++++++++ radio/src/gui/480x272/radio_hardware.cpp | 17 +++++++---- radio/src/targets/horus/CMakeLists.txt | 1 + radio/src/targets/horus/ft5x06.cpp | 7 ++++- radio/src/targets/horus/ft5x06.h | 2 ++ radio/src/translations.cpp | 3 ++ radio/src/translations.h | 3 ++ radio/src/translations/cz.h.txt | 3 ++ radio/src/translations/de.h.txt | 3 ++ radio/src/translations/en.h.txt | 3 ++ radio/src/translations/es.h.txt | 3 ++ radio/src/translations/fi.h.txt | 3 ++ radio/src/translations/fr.h.txt | 3 ++ radio/src/translations/it.h.txt | 3 ++ radio/src/translations/nl.h.txt | 3 ++ radio/src/translations/pl.h.txt | 3 ++ radio/src/translations/pt.h.txt | 3 ++ radio/src/translations/se.h.txt | 3 ++ 19 files changed, 97 insertions(+), 6 deletions(-) create mode 100644 radio/src/gui/480x272/radio_diagtouch.cpp diff --git a/radio/src/gui/480x272/menus.h b/radio/src/gui/480x272/menus.h index 83c667f19..e74d2fa9c 100644 --- a/radio/src/gui/480x272/menus.h +++ b/radio/src/gui/480x272/menus.h @@ -185,6 +185,7 @@ bool menuModelModuleOptions(event_t event); bool menuModelReceiverOptions(event_t event); bool menuRadioDiagKeys(event_t event); bool menuRadioDiagAnalogs(event_t event); +bool menuRadioDiagTouch(event_t event); extern const MenuHandlerFunc menuTabModel[MENU_MODEL_PAGES_COUNT]; diff --git a/radio/src/gui/480x272/radio_diagtouch.cpp b/radio/src/gui/480x272/radio_diagtouch.cpp new file mode 100644 index 000000000..4db15b4a9 --- /dev/null +++ b/radio/src/gui/480x272/radio_diagtouch.cpp @@ -0,0 +1,36 @@ +/* + * Copyright (C) OpenTX + * + * Based on code named + * th9x - http://code.google.com/p/th9x + * er9x - http://code.google.com/p/er9x + * gruvin9x - http://code.google.com/p/gruvin9x + * + * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include "opentx.h" +#include "ft5x06.h" + +bool menuRadioDiagTouch(event_t event) +{ + SIMPLE_SUBMENU(STR_MENU_RADIO_TOUCH, ICON_MODEL_SETUP, 1); + + if (touchInit()) { + lcdDrawText(LCD_W / 2, LCD_H / 2, STR_TOUCH_EXIT, CENTERED); + } + else { + lcdDrawText(LCD_W / 2, LCD_H / 2, STR_TOUCH_NOTFOUND, CENTERED); + } + + return true; +} diff --git a/radio/src/gui/480x272/radio_hardware.cpp b/radio/src/gui/480x272/radio_hardware.cpp index 896b5e9fb..109a65459 100644 --- a/radio/src/gui/480x272/radio_hardware.cpp +++ b/radio/src/gui/480x272/radio_hardware.cpp @@ -418,13 +418,20 @@ bool menuRadioHardware(event_t event) lcdDrawText(HW_SETTINGS_COLUMN2, y, STR_ANALOGS_BTN, menuHorizontalPosition == 0 ? attr : 0); lcdDrawText(lcdNextPos + 10, y, STR_KEYS_BTN, menuHorizontalPosition == 1 ? attr : 0); #if defined(HARDWARE_TOUCH) - lcdDrawText(lcdNextPos + 10, y, STR_KEYS_BTN, menuHorizontalPosition == 2 ? attr : 0); + lcdDrawText(lcdNextPos + 10, y, STR_TOUCH_BTN, menuHorizontalPosition == 2 ? attr : 0); #endif if (attr && event == EVT_KEY_BREAK(KEY_ENTER)) { - if (menuHorizontalPosition == 0) - pushMenu(menuRadioDiagAnalogs); - else - pushMenu(menuRadioDiagKeys); + switch (menuHorizontalPosition) { + case 0: + pushMenu(menuRadioDiagAnalogs); + break; + case 1: + pushMenu(menuRadioDiagKeys); + break; + case 2: + pushMenu(menuRadioDiagTouch); + break; + } } break; } diff --git a/radio/src/targets/horus/CMakeLists.txt b/radio/src/targets/horus/CMakeLists.txt index 95f6e8c61..92dded852 100644 --- a/radio/src/targets/horus/CMakeLists.txt +++ b/radio/src/targets/horus/CMakeLists.txt @@ -210,6 +210,7 @@ set(TARGET_SRC if(HARDWARE_TOUCH) set(TARGET_SRC ${TARGET_SRC} ft5x06.cpp) + set(GUI_SRC ${GUI_SRC} radio_diagtouch.cpp) add_definitions(-DHARDWARE_TOUCH) endif() diff --git a/radio/src/targets/horus/ft5x06.cpp b/radio/src/targets/horus/ft5x06.cpp index 47765bbc7..29e752908 100644 --- a/radio/src/targets/horus/ft5x06.cpp +++ b/radio/src/targets/horus/ft5x06.cpp @@ -18,4 +18,9 @@ * GNU General Public License for more details. */ -#include "ft5x06.h" \ No newline at end of file +#include "ft5x06.h" + +bool touchInit(void) +{ + return true; +} \ No newline at end of file diff --git a/radio/src/targets/horus/ft5x06.h b/radio/src/targets/horus/ft5x06.h index a4d6b1f54..aeb63174f 100644 --- a/radio/src/targets/horus/ft5x06.h +++ b/radio/src/targets/horus/ft5x06.h @@ -21,4 +21,6 @@ #ifndef _FT5X06_H_ #define _FT5X06_H_ +bool touchInit(void); + #endif // _FT5X06_H_ diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 2c0a44632..61fcf7063 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -211,6 +211,7 @@ const char STR_MENUSPECIALFUNCS[] = TR_MENUSPECIALFUNCS; const char STR_MENUVERSION[] = TR_MENUVERSION; const char STR_MENU_RADIO_SWITCHES[] = TR_MENU_RADIO_SWITCHES; const char STR_MENU_RADIO_ANALOGS[] = TR_MENU_RADIO_ANALOGS; +const char STR_MENU_RADIO_TOUCH[] = TR_MENU_RADIO_TOUCH; const char STR_MENUCALIBRATION[] = TR_MENUCALIBRATION; const char STR_MENUMODELSEL[] = TR_MENUMODELSEL; const char STR_MENUSETUP[] = TR_MENUSETUP; @@ -317,6 +318,8 @@ const char STR_DEBUG[] = TR_DEBUG; const char STR_KEYS_BTN[] = TR_KEYS_BTN; const char STR_TOUCH_BTN[] = TR_TOUCH_BTN; const char STR_ANALOGS_BTN[] = TR_ANALOGS_BTN; +const char STR_TOUCH_NOTFOUND[] = TR_TOUCH_NOTFOUND; +const char STR_TOUCH_EXIT[] = TR_TOUCH_EXIT; const char STR_CALIBRATION[] = TR_CALIBRATION; const char STR_NO_TOOLS[] = TR_NO_TOOLS; const char STR_NORMAL[] = TR_NORMAL; diff --git a/radio/src/translations.h b/radio/src/translations.h index 9af85a277..56f7b21ff 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -355,6 +355,7 @@ extern const char STR_MENUSPECIALFUNCS[]; extern const char STR_MENUVERSION[]; extern const char STR_MENU_RADIO_SWITCHES[]; extern const char STR_MENU_RADIO_ANALOGS[]; +extern const char STR_MENU_RADIO_TOUCH[]; extern const char STR_MENUCALIBRATION[]; extern const char STR_MENUMODELSEL[]; extern const char STR_MENUSETUP[]; @@ -495,6 +496,8 @@ extern const char STR_DEBUG[]; extern const char STR_KEYS_BTN[]; extern const char STR_TOUCH_BTN[]; extern const char STR_ANALOGS_BTN[]; +extern const char STR_TOUCH_NOTFOUND[]; +extern const char STR_TOUCH_EXIT[]; extern const char STR_CALIBRATION[]; extern const char STR_NO_TOOLS[]; extern const char STR_NORMAL[]; diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index cfe72860d..d26ee6345 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -587,6 +587,7 @@ #define TR_MENUVERSION "VERZE" #define TR_MENU_RADIO_SWITCHES "DIAG" #define TR_MENU_RADIO_ANALOGS "ANALOGY" +#define TR_MENU_RADIO_TOUCH "TOUCHSCREEN TEST" #define TR_MENUCALIBRATION "KALIBRACE" #if defined(COLORLCD) #define TR_TRIMS2OFFSETS "Trimy => Subtrimy" @@ -914,6 +915,8 @@ #define TR_KEYS_BTN BUTTON(TR("SW","Přepínače")) #define TR_TOUCH_BTN BUTTON("Touch") #define TR_ANALOGS_BTN BUTTON(TR("Analog","Analogy")) +#define TR_TOUCH_NOTFOUND "Touch hardware not found" +#define TR_TOUCH_EXIT "Touch screen to exit" #define TR_CALIBRATION "Kalibrace" #define TR_SET BUTTON("Nast") #define TR_TRAINER "Trenér" diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 1153b404e..883188a28 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -591,6 +591,7 @@ #define TR_MENUVERSION "VERSION" #define TR_MENU_RADIO_SWITCHES TR("Schalter-Test", "Schalter-Test") #define TR_MENU_RADIO_ANALOGS "Geber-Test" +#define TR_MENU_RADIO_TOUCH "TOUCHSCREEN TEST" #define TR_MENUCALIBRATION TR("KALIB. ANALOG", "KALIBRIERUNG-Analog") #if defined(COLORLCD) #define TR_TRIMS2OFFSETS "Trims => Subtrims" @@ -916,6 +917,8 @@ #define TR_KEYS_BTN BUTTON(TR("SW","Switches")) #define TR_TOUCH_BTN BUTTON("Touch") #define TR_ANALOGS_BTN BUTTON(TR("Analog","Analogs")) +#define TR_TOUCH_NOTFOUND "Touch hardware not found" +#define TR_TOUCH_EXIT "Touch screen to exit" #define TR_CALIBRATION "Kalibrieren" #define TR_SET BUTTON("Set") #define TR_TRAINER "DSC Buchse PPM In/Out" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 297df750e..ab9b0d1dc 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -590,6 +590,7 @@ #define TR_MENUVERSION "VERSION" #define TR_MENU_RADIO_SWITCHES TR("SWITCHES", "SWITCHES TEST") #define TR_MENU_RADIO_ANALOGS TR("ANALOGS", "ANALOGS TEST") +#define TR_MENU_RADIO_TOUCH "TOUCHSCREEN TEST" #define TR_MENUCALIBRATION "CALIBRATION" #if defined(COLORLCD) #define TR_TRIMS2OFFSETS "Trims => Subtrims" @@ -915,6 +916,8 @@ #define TR_KEYS_BTN BUTTON(TR("Keys", "Switches")) #define TR_TOUCH_BTN BUTTON("Touch") #define TR_ANALOGS_BTN BUTTON(TR("Anas", "Analogs")) +#define TR_TOUCH_NOTFOUND "Touch hardware not found" +#define TR_TOUCH_EXIT "Touch screen to exit" #define TR_CALIBRATION "Calibration" #define TR_SET BUTTON("Set") #define TR_TRAINER "Trainer" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 9a101d5ba..bd9a48697 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -601,6 +601,7 @@ #define TR_MENUVERSION "VERSION" #define TR_MENU_RADIO_SWITCHES TR("INTERUPTS", "TEST INTERUP.") #define TR_MENU_RADIO_ANALOGS TR("ANAS", "ENTRADAS ANALOG") +#define TR_MENU_RADIO_TOUCH "TOUCHSCREEN TEST" #define TR_MENUCALIBRATION "CALIBRACION" #if defined(COLORLCD) #define TR_TRIMS2OFFSETS "Trims => Offsets" @@ -935,6 +936,8 @@ #define TR_KEYS_BTN BUTTON(TR("SW","Switches")) #define TR_TOUCH_BTN BUTTON("Touch") #define TR_ANALOGS_BTN BUTTON(TR("Analog","Analogs")) +#define TR_TOUCH_NOTFOUND "Touch hardware not found" +#define TR_TOUCH_EXIT "Touch screen to exit" #define TR_CALIBRATION "Calibracion" #define TR_SET "[Ajuste]" #define TR_TRAINER "Entrena." diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index c171fa406..257124ef3 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -599,6 +599,7 @@ #define TR_MENUVERSION "VERSION" #define TR_MENU_RADIO_SWITCHES TR("SWITCHES","SWITCH TEST") #define TR_MENU_RADIO_ANALOGS TR("ANAS","ANALOG INPUTS") +#define TR_MENU_RADIO_TOUCH "TOUCHSCREEN TEST" #define TR_MENUCALIBRATION "CALIBRATION" #if defined(COLORLCD) #define TR_TRIMS2OFFSETS "Trims => Subtrims" @@ -933,6 +934,8 @@ #define TR_KEYS_BTN BUTTON(TR("SW","Switches")) #define TR_TOUCH_BTN BUTTON("Touch") #define TR_ANALOGS_BTN BUTTON(TR("Analog","Analogs")) +#define TR_TOUCH_NOTFOUND "Touch hardware not found" +#define TR_TOUCH_EXIT "Touch screen to exit" #define TR_CALIBRATION "Calibration" #define TR_SET "[Set]" #define TR_TRAINER "Trainer" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 64e949b2b..0c94196b6 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -610,6 +610,7 @@ #define TR_MENUVERSION "VERSION" #define TR_MENU_RADIO_SWITCHES TR("INTERS", "TEST INTERRUPTEURS") #define TR_MENU_RADIO_ANALOGS TR("ANAS", "ENTREES ANALOGIQUES") +#define TR_MENU_RADIO_TOUCH "TOUCHSCREEN TEST" #define TR_MENUCALIBRATION "CALIBRATION" #if defined(COLORLCD) #define TR_TRIMS2OFFSETS "Trims => Subtrims" @@ -935,6 +936,8 @@ #define TR_KEYS_BTN BUTTON(TR("Btns","Inters")) #define TR_TOUCH_BTN BUTTON("Touch") #define TR_ANALOGS_BTN BUTTON(TR("Anas", "Analogs")) +#define TR_TOUCH_NOTFOUND "Touch hardware not found" +#define TR_TOUCH_EXIT "Touch screen to exit" #define TR_CALIBRATION "Calibration" #define TR_SET BUTTON("Déf") #define TR_TRAINER "Ecolage" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index eaecfd349..c176e5f7e 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -609,6 +609,7 @@ #define TR_MENUVERSION "VERSIONE" #define TR_MENU_RADIO_SWITCHES "DIAG" #define TR_MENU_RADIO_ANALOGS "ANAS" +#define TR_MENU_RADIO_TOUCH "TOUCHSCREEN TEST" #define TR_MENUCALIBRATION "CALIBRAZIONE" #if defined(COLORLCD) #define TR_TRIMS2OFFSETS "Trims => Subtrims" @@ -935,6 +936,8 @@ #define TR_KEYS_BTN BUTTON(TR("SW","Interruttori")) #define TR_TOUCH_BTN BUTTON("Touch") #define TR_ANALOGS_BTN BUTTON(TR("Analogico","Analogici")) +#define TR_TOUCH_NOTFOUND "Touch hardware not found" +#define TR_TOUCH_EXIT "Touch screen to exit" #define TR_CALIBRATION TR("Calibraz.", "Calibrazione") #define TR_SET "[Set]" #define TR_TRAINER TR("Trainer", "Maestro/Allievo") diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index 913bdf60d..33ac4e07e 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -594,6 +594,7 @@ #define TR_MENUVERSION "VERSIE" #define TR_MENU_RADIO_SWITCHES TR("Schak.", "Schakelaar-Test") #define TR_MENU_RADIO_ANALOGS "Analoog-Test" +#define TR_MENU_RADIO_TOUCH "TOUCHSCREEN TEST" #define TR_MENUCALIBRATION TR("CALIB. ANALOOG", "CALIBRERING Sticks+Pots") #if defined(COLORLCD) @@ -921,6 +922,8 @@ #define TR_KEYS_BTN BUTTON(TR("SW","Switches")) #define TR_TOUCH_BTN BUTTON("Touch") #define TR_ANALOGS_BTN BUTTON(TR("Analog","Analogs")) +#define TR_TOUCH_NOTFOUND "Touch hardware not found" +#define TR_TOUCH_EXIT "Touch screen to exit" #define TR_CALIBRATION "Calibration" #define TR_SET "[Set]" #define TR_TRAINER "Trainer Poort" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 6cd0d603f..1b55ccef2 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -608,6 +608,7 @@ #define TR_MENUVERSION "WERSJA" #define TR_MENU_RADIO_SWITCHES TR("PRZEŁ","TEST PRZEŁ") #define TR_MENU_RADIO_ANALOGS TR("WE-ANA","WEJŚCIA ANALOG.") +#define TR_MENU_RADIO_TOUCH "TOUCHSCREEN TEST" #define TR_MENUCALIBRATION "KALIBRACJA" #if defined(COLORLCD) #define TR_TRIMS2OFFSETS "Trymery => Subtrimy" @@ -934,6 +935,8 @@ #define TR_KEYS_BTN BUTTON(TR("SW","Switches")) #define TR_TOUCH_BTN BUTTON("Touch") #define TR_ANALOGS_BTN BUTTON(TR("Analog","Analogs")) +#define TR_TOUCH_NOTFOUND "Touch hardware not found" +#define TR_TOUCH_EXIT "Touch screen to exit" #define TR_CALIBRATION "Calibration" #define TR_SET "[Set]" #define TR_TRAINER "Port Trenera" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index cf32b3158..74d70ef2d 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -590,6 +590,7 @@ #define TR_MENUVERSION "VERSAO" #define TR_MENU_RADIO_SWITCHES "DIAGNOST" #define TR_MENU_RADIO_ANALOGS "ANALOGICOS" +#define TR_MENU_RADIO_TOUCH "TOUCHSCREEN TEST" #define TR_MENUCALIBRATION "CALIBRAGEM" #if defined(COLORLCD) #define TR_TRIMS2OFFSETS "Trims => Subtrims" @@ -924,6 +925,8 @@ #define TR_KEYS_BTN BUTTON(TR("SW","Switches")) #define TR_TOUCH_BTN BUTTON("Touch") #define TR_ANALOGS_BTN BUTTON(TR("Analog","Analogs")) +#define TR_TOUCH_NOTFOUND "Touch hardware not found" +#define TR_TOUCH_EXIT "Touch screen to exit" #define TR_CALIBRATION "Calibration" #define TR_SET "[Set]" #define TR_TRAINER "Trainer" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 504546777..0854167d2 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -607,6 +607,7 @@ #define TR_MENUVERSION "VERSION" #define TR_MENU_RADIO_SWITCHES TR("BRYTARE","TEST AV BRYTARE") #define TR_MENU_RADIO_ANALOGS "ANALOGA VÄRDEN" +#define TR_MENU_RADIO_TOUCH "TOUCHSCREEN TEST" #define TR_MENUCALIBRATION "KALIBRERING" #if defined(COLORLCD) #define TR_TRIMS2OFFSETS "[Spara Trimvärden]" @@ -934,6 +935,8 @@ #define TR_KEYS_BTN BUTTON(TR("SW","Switches")) #define TR_TOUCH_BTN BUTTON("Touch") #define TR_ANALOGS_BTN BUTTON(TR("Analog","Analogs")) +#define TR_TOUCH_NOTFOUND "Touch hardware not found" +#define TR_TOUCH_EXIT "Touch screen to exit" #define TR_CALIBRATION "Calibration" #define TR_SET "[Spara]" #define TR_TRAINER "Trainer"