From 7d2d7cac08d169dcddb99ef65a58c87200b88d03 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Fri, 24 Jan 2014 00:19:17 +0100 Subject: [PATCH] Hardware tab with first item for #588 --- radio/src/gui/menu_general.cpp | 32 +++++++++++++++++++++++++++++--- radio/src/translations.cpp | 4 ++++ radio/src/translations.h | 7 +++++++ radio/src/translations/en.h | 4 ++++ 4 files changed, 44 insertions(+), 3 deletions(-) diff --git a/radio/src/gui/menu_general.cpp b/radio/src/gui/menu_general.cpp index e1b799e0b..ba165de4c 100644 --- a/radio/src/gui/menu_general.cpp +++ b/radio/src/gui/menu_general.cpp @@ -75,7 +75,7 @@ enum EnumTabDiag { e_Vers, e_Keys, e_Ana, - IF_PCBSKY9X(e_Hardware) + IF_CPUARM(e_Hardware) e_Calib }; @@ -95,7 +95,7 @@ const MenuFuncP_PROGMEM menuTabDiag[] PROGMEM = { menuGeneralVersion, menuGeneralDiagKeys, menuGeneralDiagAna, - IF_PCBSKY9X(menuGeneralHardware) + IF_CPUARM(menuGeneralHardware) menuGeneralCalib }; @@ -1166,7 +1166,33 @@ void menuGeneralDiagAna(uint8_t event) #endif } -#if defined(PCBSKY9X) +#if defined(PCBTARANIS) +enum menuGeneralHwItems { + ITEM_SETUP_HW_UART3_MODE, + ITEM_SETUP_HW_MAX +}; + +#define HW_SETTINGS_COLUMN 15*FW + +void menuGeneralHardware(uint8_t event) +{ + MENU(STR_HARDWARE, menuTabDiag, e_Hardware, ITEM_SETUP_HW_MAX+1, {0}); + + uint8_t sub = m_posVert - 1; + + for (uint8_t i=0; i0) ? BLINK|INVERS : INVERS) : 0); + switch(i) { + case ITEM_SETUP_HW_UART3_MODE: + g_eeGeneral.hw_uartMode = selectMenuItem(HW_SETTINGS_COLUMN, y, STR_UART3MODE, STR_UART3MODES, g_eeGeneral.hw_uartMode, 0, 2, attr, event); + break; + } + } + +} + +#elif defined(PCBSKY9X) enum menuGeneralHwItems { ITEM_SETUP_HW_OPTREX_DISPLAY, ITEM_SETUP_HW_STICKS_GAINS_LABELS, diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 079f76e79..842ec8090 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -55,6 +55,9 @@ const pm_char STR_OPEN9X[] PROGMEM = #endif ISTR(TRNMODE) ISTR(TRNCHN) +#if defined(PCBTARANIS) + ISTR(UART3MODES) +#endif ISTR(VTRIMINC) ISTR(RETA123) ISTR(VPROTOS) @@ -491,6 +494,7 @@ const pm_char STR_VIEW_TEXT[] PROGMEM = "View text"; const pm_char STR_SCALE[] PROGMEM = "Scale"; const pm_char STR_VIEW_CHANNELS[] PROGMEM = "View Channels"; const pm_char STR_VIEW_NOTES[] PROGMEM = "View Notes"; + const pm_char STR_UART3MODE[] PROGMEM = TR_UART3MODE; #endif #if MENUS_LOCK == 1 diff --git a/radio/src/translations.h b/radio/src/translations.h index 5a68e0e9e..d83e3c753 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -99,7 +99,12 @@ extern const pm_char STR_OPEN9X[]; #define OFS_TRNMODE (OFS_VBEEPMODE + sizeof(TR_VBEEPMODE)) #endif #define OFS_TRNCHN (OFS_TRNMODE + sizeof(TR_TRNMODE)) +#if defined(PCBTARANIS) +#define OFS_UART3MODES (OFS_TRNCHN + sizeof(TR_TRNCHN)) +#define OFS_VTRIMINC (OFS_UART3MODES + sizeof(TR_UART3MODES)) +#else #define OFS_VTRIMINC (OFS_TRNCHN + sizeof(TR_TRNCHN)) +#endif #define OFS_RETA123 (OFS_VTRIMINC + sizeof(TR_VTRIMINC)) #define OFS_VPROTOS (OFS_RETA123 + sizeof(TR_RETA123)) #define OFS_POSNEG (OFS_VPROTOS + sizeof(TR_VPROTOS)) @@ -190,6 +195,7 @@ extern const pm_char STR_OPEN9X[]; #define STR_VBEEPMODE (STR_OPEN9X + OFS_VBEEPMODE) #define STR_TRNMODE (STR_OPEN9X + OFS_TRNMODE) #define STR_TRNCHN (STR_OPEN9X + OFS_TRNCHN) +#define STR_UART3MODES (STR_OPEN9X + OFS_UART3MODES) #define STR_VTRIMINC (STR_OPEN9X + OFS_VTRIMINC) #define STR_RETA123 (STR_OPEN9X + OFS_RETA123) #define STR_VPROTOS (STR_OPEN9X + OFS_VPROTOS) @@ -675,6 +681,7 @@ extern const pm_char STR_VIEW_TEXT[]; extern const pm_char STR_SCALE[]; extern const pm_char STR_VIEW_CHANNELS[]; extern const pm_char STR_VIEW_NOTES[]; + extern const pm_char STR_UART3MODE[]; #endif #if MENUS_LOCK == 1 diff --git a/radio/src/translations/en.h b/radio/src/translations/en.h index 3357095e9..33eb7b97f 100644 --- a/radio/src/translations/en.h +++ b/radio/src/translations/en.h @@ -68,6 +68,9 @@ #define LEN_TRNCHN "\003" #define TR_TRNCHN "CH1CH2CH3CH4" +#define LEN_UART3MODES "\017" +#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" + #define LEN_DATETIME "\005" #define TR_DATETIME "DATE:""TIME:" @@ -674,6 +677,7 @@ #define TR_CRITICALALARM INDENT "Critical Alarm" #define TR_PERSISTENT_MAH INDENT "Store mAh" #define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") +#define TR_UART3MODE "Serial port" #if defined(MAVLINK) #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"