From 5a855df928ef99653179d0fc651001cb955dd97f Mon Sep 17 00:00:00 2001 From: 3djc Date: Wed, 3 Apr 2019 11:52:05 +0200 Subject: [PATCH] Gyro setup UI --- radio/src/gui/128x64/radio_setup.cpp | 34 ++++++++++++++++++++++++++++ radio/src/opentx.h | 6 +++++ 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 +++ 15 files changed, 79 insertions(+) diff --git a/radio/src/gui/128x64/radio_setup.cpp b/radio/src/gui/128x64/radio_setup.cpp index 2334fd44e..fdc8457b5 100644 --- a/radio/src/gui/128x64/radio_setup.cpp +++ b/radio/src/gui/128x64/radio_setup.cpp @@ -70,6 +70,9 @@ enum MenuRadioSetupItems { CASE_HAPTIC(ITEM_SETUP_HAPTIC_MODE) CASE_HAPTIC(ITEM_SETUP_HAPTIC_LENGTH) CASE_HAPTIC(ITEM_SETUP_HAPTIC_STRENGTH) + CASE_GYRO(ITEM_SETUP_GYRO_LABEL) + CASE_GYRO(ITEM_SETUP_GYRO_MAX) + CASE_GYRO(ITEM_SETUP_GYRO_OFFSET) ITEM_SETUP_CONTRAST, ITEM_SETUP_ALARMS_LABEL, ITEM_SETUP_BATTERY_WARNING, @@ -149,6 +152,9 @@ void menuRadioSetup(event_t event) CASE_HAPTIC(0) CASE_HAPTIC(0) CASE_HAPTIC(0) + CASE_GYRO(LABEL(GYRO)) + CASE_GYRO(0) + CASE_GYRO(0) 0, LABEL(ALARMS), 0, CASE_CAPACITY(0) CASE_PCBSKY9X(0) 0, 0, 0, 0, IF_ROTARY_ENCODERS(0) @@ -370,7 +376,35 @@ void menuRadioSetup(event_t event) SLIDER_5POS(y, g_eeGeneral.hapticStrength, STR_HAPTICSTRENGTH, event, attr); break; #endif +#if defined(GYRO) + case ITEM_SETUP_GYRO_LABEL: + lcdDrawTextAlignedLeft(y, STR_GYRO_LABEL); + break; + case ITEM_SETUP_GYRO_MAX: + lcdDrawTextAlignedLeft(y, STR_GYRO_MAX); + lcdDrawNumber(RADIO_SETUP_2ND_COLUMN, y, 30 + g_eeGeneral.gyroMax, attr|LEFT); + lcdDrawChar(lcdLastRightPos, y, '@', attr); + if (attr) { + CHECK_INCDEC_GENVAR(event, g_eeGeneral.gyroMax, -20, 60); + lcdDrawText(LCD_W-4*FW, y, "("); + lcdDrawNumber(lcdLastRightPos, y, max(abs(gyro.outputs[0]), abs(gyro.outputs[1])) * 180 / 1024); + lcdDrawText(lcdLastRightPos, y, ")"); + } + break; + + case ITEM_SETUP_GYRO_OFFSET: + lcdDrawTextAlignedLeft(y, STR_GYRO_OFFSET); + lcdDrawNumber(RADIO_SETUP_2ND_COLUMN, y, g_eeGeneral.gyroOffset, attr|LEFT); + lcdDrawChar(lcdLastRightPos, y, '@', attr); + if (attr) { + CHECK_INCDEC_GENVAR(event, g_eeGeneral.gyroOffset, 10, 90); + lcdDrawText(LCD_W-4*FW, y, "("); + lcdDrawNumber(lcdLastRightPos, y, gyro.outputs[0] * 180 / 1024); + lcdDrawText(lcdLastRightPos, y, ")"); + } + break; +#endif case ITEM_SETUP_CONTRAST: lcdDrawTextAlignedLeft(y, STR_CONTRAST); lcdDrawNumber(RADIO_SETUP_2ND_COLUMN, y, g_eeGeneral.contrast, attr|LEFT); diff --git a/radio/src/opentx.h b/radio/src/opentx.h index 53164a62d..05067974a 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -57,6 +57,12 @@ #define CASE_VARIO(x) #endif +#if defined(GYRO) +#define CASE_GYRO(x) x, +#else +#define CASE_GYRO(x) +#endif + #if defined(LUA) #define CASE_LUA(x) x, #else diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 7dc5add48..632ffa429 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -208,6 +208,9 @@ const char STR_SPKRPITCH[] = TR_SPKRPITCH; #if defined(HAPTIC) const char STR_HAPTIC_LABEL[] = TR_HAPTIC_LABEL; const char STR_HAPTICSTRENGTH[] = TR_HAPTICSTRENGTH; +const char STR_GYRO_LABEL[] = TR_GYRO_LABEL; +const char STR_GYRO_OFFSET[] = TR_GYRO_OFFSET; +const char STR_GYRO_MAX[] = TR_GYRO_MAX; #endif const char STR_CONTRAST[] = TR_CONTRAST; const char STR_ALARMS_LABEL[] = TR_ALARMS_LABEL; diff --git a/radio/src/translations.h b/radio/src/translations.h index e214f5300..d532f9002 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -426,6 +426,9 @@ extern const char STR_BEEP_LENGTH[]; extern const char STR_SPKRPITCH[]; extern const char STR_HAPTIC_LABEL[]; extern const char STR_HAPTICSTRENGTH[]; +extern const char STR_GYRO_LABEL[]; +extern const char STR_GYRO_OFFSET[]; +extern const char STR_GYRO_MAX[]; extern const char STR_CONTRAST[]; extern const char STR_ALARMS_LABEL[]; extern const char STR_BATTERY_RANGE[]; diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 793b5f7c4..0e83b4d6f 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -631,6 +631,9 @@ #define TR_SPKRPITCH INDENT"Tón" #define TR_HAPTIC_LABEL "Vibrace" #define TR_HAPTICSTRENGTH INDENT"Síla" +#define TR_GYRO_LABEL "Gyro" +#define TR_GYRO_OFFSET INDENT "Offset" +#define TR_GYRO_MAX INDENT "Max" #define TR_CONTRAST "Kontrast LCD" #define TR_ALARMS_LABEL "Alarmy" #define TR_BATTERY_RANGE TR("Ukazatel bat.", "Ukazatel baterie") diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 2a28e97be..49ce746be 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -636,6 +636,9 @@ #define TR_SPKRPITCH INDENT "Beep-Freq. +/-" #define TR_HAPTIC_LABEL "Haptik" #define TR_HAPTICSTRENGTH INDENT "Stärke" +#define TR_GYRO_LABEL "Gyro" +#define TR_GYRO_OFFSET INDENT "Offset" +#define TR_GYRO_MAX INDENT "Max" #define TR_CONTRAST "LCD-Kontrast" #define TR_ALARMS_LABEL "Alarme" #define TR_BATTERY_RANGE TR("Akku Bereich", "Akku Spgannungsbereich") // Symbol Akku Ladezustand diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 6bd15fd75..ec998bfba 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -642,6 +642,9 @@ #define TR_SPKRPITCH INDENT "Beep pitch" #define TR_HAPTIC_LABEL "Haptic" #define TR_HAPTICSTRENGTH INDENT "Strength" +#define TR_GYRO_LABEL "Gyro" +#define TR_GYRO_OFFSET INDENT "Offset" +#define TR_GYRO_MAX INDENT "Max" #define TR_CONTRAST "Contrast" #define TR_ALARMS_LABEL "Alarms" #define TR_BATTERY_RANGE TR("Battery range", "Battery meter range") diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 83b11916b..fa4038ae4 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -639,6 +639,9 @@ #define TR_SPKRPITCH INDENT"Tono" #define TR_HAPTIC_LABEL "Tactil" #define TR_HAPTICSTRENGTH INDENT"Intensidad" +#define TR_GYRO_LABEL "Gyro" +#define TR_GYRO_OFFSET INDENT "Offset" +#define TR_GYRO_MAX INDENT "Max" #define TR_CONTRAST "Contraste" #define TR_ALARMS_LABEL "Alarmas" #define TR_BATTERY_RANGE TR("Rango bateria","Rango medidor Bater") diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index a9d13b516..8e133631c 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -631,6 +631,9 @@ #define TR_SPKRPITCH INDENT"Pitch" #define TR_HAPTIC_LABEL "Haptic" #define TR_HAPTICSTRENGTH INDENT"Strength" +#define TR_GYRO_LABEL "Gyro" +#define TR_GYRO_OFFSET INDENT "Offset" +#define TR_GYRO_MAX INDENT "Max" #define TR_CONTRAST "Contrast" #define TR_ALARMS_LABEL "Alarms" #define TR_BATTERY_RANGE TR("Battery range","Battery meter range") diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 2d59a3a06..e0a4bde7e 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -648,6 +648,9 @@ #define TR_SPKRPITCH INDENT "Tonalité" #define TR_HAPTIC_LABEL "Vibreur" #define TR_HAPTICSTRENGTH INDENT "Force" +#define TR_GYRO_LABEL "Gyro" +#define TR_GYRO_OFFSET INDENT "Offset" +#define TR_GYRO_MAX INDENT "Max" #define TR_CONTRAST "Contraste" #define TR_ALARMS_LABEL "Alarmes" #define TR_BATTERY_RANGE "Plage batterie" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 6841afcfd..9cb528aa4 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -637,6 +637,9 @@ #define TR_SPKRPITCH INDENT"Tono" #define TR_HAPTIC_LABEL "Vibraz" #define TR_HAPTICSTRENGTH INDENT"Forza" +#define TR_GYRO_LABEL "Gyro" +#define TR_GYRO_OFFSET INDENT "Offset" +#define TR_GYRO_MAX INDENT "Max" #define TR_CONTRAST "Contrasto" #define TR_ALARMS_LABEL "Allarmi" #define TR_BATTERY_RANGE TR("Interv. Batt", "Intervallo batteria") diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index f969b0926..fb597a5bd 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -632,6 +632,9 @@ #define TR_SPKRPITCH INDENT "Piep-Freq. +/-" #define TR_HAPTIC_LABEL "Haptic" #define TR_HAPTICSTRENGTH INDENT "Sterkte" +#define TR_GYRO_LABEL "Gyro" +#define TR_GYRO_OFFSET INDENT "Offset" +#define TR_GYRO_MAX INDENT "Max" #define TR_CONTRAST "LCD-Kontrast" #define TR_ALARMS_LABEL "Alarm" #define TR_BATTERY_RANGE TR("Accu Bereik", "Accu Spngs-Bereik") // Symbol Akku Ladezustand diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 71e977973..d79beb35e 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -638,6 +638,9 @@ #define TR_SPKRPITCH INDENT"Dźwięk" #define TR_HAPTIC_LABEL "Wibracja" #define TR_HAPTICSTRENGTH INDENT"Siła" +#define TR_GYRO_LABEL "Gyro" +#define TR_GYRO_OFFSET INDENT "Offset" +#define TR_GYRO_MAX INDENT "Max" #define TR_CONTRAST "Kontrast" #define TR_ALARMS_LABEL "Alarmy" #define TR_BATTERY_RANGE TR("PokażPasBat.", "Pokaż pasek bateri") diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 0f74ff604..c37244fac 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -638,6 +638,9 @@ #define TR_SPKRPITCH INDENT"Pitch" #define TR_HAPTIC_LABEL "Vibrar" #define TR_HAPTICSTRENGTH INDENT"Forca" +#define TR_GYRO_LABEL "Gyro" +#define TR_GYRO_OFFSET INDENT "Offset" +#define TR_GYRO_MAX INDENT "Max" #define TR_CONTRAST "Contraste" #define TR_ALARMS_LABEL "Alarmes" #define TR_BATTERY_RANGE "Battery Range" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 39d9b1e0a..4c0660944 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -650,6 +650,9 @@ #define TR_SPKRPITCH INDENT "Pip-ton" #define TR_HAPTIC_LABEL "Vibrator" #define TR_HAPTICSTRENGTH INDENT"Styrka" +#define TR_GYRO_LABEL "Gyro" +#define TR_GYRO_OFFSET INDENT "Offset" +#define TR_GYRO_MAX INDENT "Max" #define TR_CONTRAST "Kontrast" #define TR_ALARMS_LABEL "Alarm" #define TR_BATTERY_RANGE "Batteri-MinMax"