From d30499f19b4f30e7d8f85464af4d889ed241aef4 Mon Sep 17 00:00:00 2001 From: Michael Date: Thu, 14 Sep 2023 11:33:03 +0200 Subject: [PATCH] feat: Add SF to mute audio amplifier on supported radios (#3753) * SF Audio amplifier mute port to 2.10 * added missing definition STR_SF_DISABLE_AUDIO_AMP * exclude radios not able to switch audio amp off * radio/src/storage/yaml/yaml_datastructs_128x64.cpp needs to distinguish between radios with or without switchable audio amps. Expample Zorro vs X9lites * updated companion and radio language PL * - added Companion and radio language SE - removed type unfinished for translated languages * added radio and companion language JP * - reverted change to 128x64 yaml_datastructs.h - moved exclusion of SF DISABLE_AUDIO_AMP based on hw capabilities to UI level * confused FUNC_ with FUNCTION_ * confused FUNCTION_* with FUNC_* --- companion/src/firmwares/customfunctiondata.cpp | 8 ++++++-- companion/src/firmwares/customfunctiondata.h | 1 + .../src/firmwares/edgetx/yaml_customfunctiondata.cpp | 1 + companion/src/translations/companion_cs.ts | 5 +++++ companion/src/translations/companion_da.ts | 5 +++++ companion/src/translations/companion_de.ts | 5 +++++ companion/src/translations/companion_en.ts | 5 +++++ companion/src/translations/companion_es.ts | 5 +++++ companion/src/translations/companion_fi.ts | 5 +++++ companion/src/translations/companion_fr.ts | 5 +++++ companion/src/translations/companion_he.ts | 5 +++++ companion/src/translations/companion_it.ts | 5 +++++ companion/src/translations/companion_ja.ts | 5 +++++ companion/src/translations/companion_nl.ts | 5 +++++ companion/src/translations/companion_pl.ts | 5 +++++ companion/src/translations/companion_pt.ts | 5 +++++ companion/src/translations/companion_ru.ts | 5 +++++ companion/src/translations/companion_sv.ts | 5 +++++ companion/src/translations/companion_zh_CN.ts | 5 +++++ companion/src/translations/companion_zh_TW.ts | 5 +++++ radio/src/dataconstants.h | 1 + radio/src/functions.cpp | 9 +++++++++ radio/src/gui/gui_common.cpp | 6 +++++- radio/src/opentx.h | 3 +++ radio/src/storage/yaml/yaml_datastructs_128x64.cpp | 1 + radio/src/storage/yaml/yaml_datastructs_nv14.cpp | 1 + radio/src/storage/yaml/yaml_datastructs_tpro.cpp | 1 + radio/src/storage/yaml/yaml_datastructs_x10.cpp | 1 + radio/src/storage/yaml/yaml_datastructs_x12s.cpp | 1 + radio/src/storage/yaml/yaml_datastructs_x9d.cpp | 1 + radio/src/storage/yaml/yaml_datastructs_x9e.cpp | 1 + radio/src/storage/yaml/yaml_datastructs_x9lite.cpp | 1 + radio/src/storage/yaml/yaml_datastructs_xlites.cpp | 1 + radio/src/targets/common/arm/stm32/audio_dac_driver.cpp | 5 +++++ radio/src/targets/nv14/audio_spi_driver.cpp | 5 +++++ radio/src/translations.cpp | 1 + radio/src/translations.h | 1 + radio/src/translations/cn.h | 1 + radio/src/translations/cz.h | 1 + radio/src/translations/da.h | 1 + radio/src/translations/de.h | 1 + radio/src/translations/en.h | 1 + radio/src/translations/es.h | 1 + radio/src/translations/fi.h | 1 + radio/src/translations/fr.h | 1 + radio/src/translations/he.h | 1 + radio/src/translations/it.h | 1 + radio/src/translations/jp.h | 1 + radio/src/translations/nl.h | 1 + radio/src/translations/pl.h | 1 + radio/src/translations/pt.h | 1 + radio/src/translations/se.h | 1 + radio/src/translations/tw.h | 1 + 53 files changed, 148 insertions(+), 3 deletions(-) diff --git a/companion/src/firmwares/customfunctiondata.cpp b/companion/src/firmwares/customfunctiondata.cpp index a8be07096..5ce47efc2 100644 --- a/companion/src/firmwares/customfunctiondata.cpp +++ b/companion/src/firmwares/customfunctiondata.cpp @@ -125,6 +125,8 @@ QString CustomFunctionData::funcToString(const AssignFunc func, const ModelData return tr("Disable Touch"); else if (func == FuncSetScreen) return tr("Set Main Screen"); + else if (func == FuncDisableAudioAmp) + return tr("Audio Amp Off"); else { return QString(CPN_STR_UNKNOWN_ITEM); } @@ -257,7 +259,8 @@ bool CustomFunctionData::isFuncAvailable(const int index, const ModelData * mode ((index >= FuncRangeCheckInternalModule && index <= FuncBindExternalModule) && !fw->getCapability(DangerousFunctions)) || ((index >= FuncAdjustGV1 && index <= FuncAdjustGVLast) && !fw->getCapability(Gvars)) || ((index == FuncDisableTouch) && !IS_HORUS_OR_TARANIS(fw->getBoard())) || - ((index == FuncSetScreen && !Boards::getCapability(fw->getBoard(), Board::HasColorLcd))) + ((index == FuncSetScreen && !Boards::getCapability(fw->getBoard(), Board::HasColorLcd)) || + ((index == FuncDisableAudioAmp && !Boards::getCapability(fw->getBoard(), Board::HasAudioMuteGPIO)))) ); return !ret; } @@ -471,7 +474,8 @@ bool CustomFunctionData::isParamAvailable() const FuncBindInternalModule, FuncBindExternalModule, FuncRacingMode, - FuncDisableTouch + FuncDisableTouch, + FuncDisableAudioAmp }; return funcList.contains(func) ? false : true; diff --git a/companion/src/firmwares/customfunctiondata.h b/companion/src/firmwares/customfunctiondata.h index 08c6500bc..e4582203c 100644 --- a/companion/src/firmwares/customfunctiondata.h +++ b/companion/src/firmwares/customfunctiondata.h @@ -72,6 +72,7 @@ enum AssignFunc { FuncRacingMode, FuncDisableTouch, FuncSetScreen, + FuncDisableAudioAmp, FuncCount, FuncReserve = -1 }; diff --git a/companion/src/firmwares/edgetx/yaml_customfunctiondata.cpp b/companion/src/firmwares/edgetx/yaml_customfunctiondata.cpp index a3227a696..296401c62 100644 --- a/companion/src/firmwares/edgetx/yaml_customfunctiondata.cpp +++ b/companion/src/firmwares/edgetx/yaml_customfunctiondata.cpp @@ -67,6 +67,7 @@ static const YamlLookupTable customFnLut = { { FuncRacingMode, "RACING_MODE" }, { FuncDisableTouch, "DISABLE_TOUCH" }, { FuncSetScreen, "SET_SCREEN"}, + { FuncDisableAudioAmp, "DISABLE_AUDIO_AMP" }, }; static const YamlLookupTable trainerLut = { diff --git a/companion/src/translations/companion_cs.ts b/companion/src/translations/companion_cs.ts index 98ef6a8b1..54d2c86ad 100644 --- a/companion/src/translations/companion_cs.ts +++ b/companion/src/translations/companion_cs.ts @@ -2059,6 +2059,11 @@ Do you want to import settings from a file? Set Main Screen + + + Audio Amp Off + Vypnutí zesilovače zvuku + Played once, not during startup diff --git a/companion/src/translations/companion_da.ts b/companion/src/translations/companion_da.ts index 9d357050d..074f6ae3c 100644 --- a/companion/src/translations/companion_da.ts +++ b/companion/src/translations/companion_da.ts @@ -2359,6 +2359,11 @@ Vil du indlæse indstillinger fra en fil? Set Main Screen Indstil hoved billede + + + Audio Amp Off + Sluk audio amplifier + Value diff --git a/companion/src/translations/companion_de.ts b/companion/src/translations/companion_de.ts index 40dd05e00..cedcce638 100644 --- a/companion/src/translations/companion_de.ts +++ b/companion/src/translations/companion_de.ts @@ -2064,6 +2064,11 @@ Do you want to import settings from a file? Set Main Screen + + + Audio Amp Off + Audio Amp AUS + Played once, not during startup diff --git a/companion/src/translations/companion_en.ts b/companion/src/translations/companion_en.ts index 97923578e..1979b5d2c 100644 --- a/companion/src/translations/companion_en.ts +++ b/companion/src/translations/companion_en.ts @@ -2037,6 +2037,11 @@ Do you want to import settings from a file? Set Main Screen + + + Audio Amp Off + + Played once, not during startup diff --git a/companion/src/translations/companion_es.ts b/companion/src/translations/companion_es.ts index a7282c79e..c0bb84297 100644 --- a/companion/src/translations/companion_es.ts +++ b/companion/src/translations/companion_es.ts @@ -2064,6 +2064,11 @@ Do you want to import settings from a file? Set Main Screen + + + Audio Amp Off + + Played once, not during startup diff --git a/companion/src/translations/companion_fi.ts b/companion/src/translations/companion_fi.ts index a7e9edf25..df67de652 100644 --- a/companion/src/translations/companion_fi.ts +++ b/companion/src/translations/companion_fi.ts @@ -2060,6 +2060,11 @@ Do you want to import settings from a file? Set Main Screen + + + Audio Amp Off + + Played once, not during startup diff --git a/companion/src/translations/companion_fr.ts b/companion/src/translations/companion_fr.ts index 8c8b7bf01..89388e233 100644 --- a/companion/src/translations/companion_fr.ts +++ b/companion/src/translations/companion_fr.ts @@ -2079,6 +2079,11 @@ Voulez-vous importer les paramètres depuis un fichier? Set Main Screen + + + Audio Amp Off + Désact. Ampli Audio + !1x diff --git a/companion/src/translations/companion_he.ts b/companion/src/translations/companion_he.ts index 75e1f3346..976bcb973 100644 --- a/companion/src/translations/companion_he.ts +++ b/companion/src/translations/companion_he.ts @@ -2107,6 +2107,11 @@ Do you want to import settings from a file? Set Main Screen + + + Audio Amp Off + + s diff --git a/companion/src/translations/companion_it.ts b/companion/src/translations/companion_it.ts index a86a155bd..abb2d520e 100644 --- a/companion/src/translations/companion_it.ts +++ b/companion/src/translations/companion_it.ts @@ -2057,6 +2057,11 @@ Do you want to import settings from a file? Set Main Screen + + + Audio Amp Off + Amplificatore audio off + Played once, not during startup diff --git a/companion/src/translations/companion_ja.ts b/companion/src/translations/companion_ja.ts index 6f128f2bd..8072e380b 100644 --- a/companion/src/translations/companion_ja.ts +++ b/companion/src/translations/companion_ja.ts @@ -2051,6 +2051,11 @@ Do you want to import settings from a file? Set Main Screen + + + Audio Amp Off + オーディオアンプ OFF + !1x diff --git a/companion/src/translations/companion_nl.ts b/companion/src/translations/companion_nl.ts index 43bcc05e7..3c8dc0502 100644 --- a/companion/src/translations/companion_nl.ts +++ b/companion/src/translations/companion_nl.ts @@ -2107,6 +2107,11 @@ Do you want to import settings from a file? Set Main Screen + + + Audio Amp Off + + s diff --git a/companion/src/translations/companion_pl.ts b/companion/src/translations/companion_pl.ts index f0f2b9583..401520487 100644 --- a/companion/src/translations/companion_pl.ts +++ b/companion/src/translations/companion_pl.ts @@ -2041,6 +2041,11 @@ Do you want to import settings from a file? Set Main Screen + + + Audio Amp Off + Wycisz wzmacniacz audio + Played once, not during startup diff --git a/companion/src/translations/companion_pt.ts b/companion/src/translations/companion_pt.ts index a32619941..44b202233 100644 --- a/companion/src/translations/companion_pt.ts +++ b/companion/src/translations/companion_pt.ts @@ -2107,6 +2107,11 @@ Do you want to import settings from a file? Set Main Screen + + + Audio Amp Off + + s diff --git a/companion/src/translations/companion_ru.ts b/companion/src/translations/companion_ru.ts index f1fdae507..0e772f353 100644 --- a/companion/src/translations/companion_ru.ts +++ b/companion/src/translations/companion_ru.ts @@ -2060,6 +2060,11 @@ Do you want to import settings from a file? Set Main Screen + + + Audio Amp Off + + Played once, not during startup diff --git a/companion/src/translations/companion_sv.ts b/companion/src/translations/companion_sv.ts index 8e8c9a620..44a750dd5 100644 --- a/companion/src/translations/companion_sv.ts +++ b/companion/src/translations/companion_sv.ts @@ -2359,6 +2359,11 @@ Vill du hämta inställningarna från en fil? Set Main Screen Ställ in huvudskärm + + + Audio Amp Off + Audioförstärkare av + Value diff --git a/companion/src/translations/companion_zh_CN.ts b/companion/src/translations/companion_zh_CN.ts index f7ca8e5fa..64762408a 100644 --- a/companion/src/translations/companion_zh_CN.ts +++ b/companion/src/translations/companion_zh_CN.ts @@ -2065,6 +2065,11 @@ Do you want to import settings from a file? Disable Touch + + + Audio Amp Off + 关闭音频功放 + Set Main Screen diff --git a/companion/src/translations/companion_zh_TW.ts b/companion/src/translations/companion_zh_TW.ts index e03316b5f..c8f002168 100644 --- a/companion/src/translations/companion_zh_TW.ts +++ b/companion/src/translations/companion_zh_TW.ts @@ -2070,6 +2070,11 @@ Do you want to import settings from a file? Set Main Screen + + + Audio Amp Off + 關閉音頻功放 + Played once, not during startup diff --git a/radio/src/dataconstants.h b/radio/src/dataconstants.h index 9dadcc0f6..03ece1655 100644 --- a/radio/src/dataconstants.h +++ b/radio/src/dataconstants.h @@ -597,6 +597,7 @@ enum Functions { FUNC_DISABLE_TOUCH, FUNC_SET_SCREEN, #endif + FUNC_DISABLE_AUDIO_AMP, #if defined(DEBUG) FUNC_TEST, // should remain the last before MAX as not added in Companion #endif diff --git a/radio/src/functions.cpp b/radio/src/functions.cpp index 0a1a93225..191ad4582 100644 --- a/radio/src/functions.cpp +++ b/radio/src/functions.cpp @@ -425,6 +425,11 @@ void evalFunctions(const CustomFunctionData * functions, CustomFunctionsContext newActiveFunctions |= (1u << FUNCTION_DISABLE_TOUCH); break; #endif +#if defined(AUDIO_MUTE_GPIO) + case FUNC_DISABLE_AUDIO_AMP: + newActiveFunctions |= (1u << FUNCTION_DISABLE_AUDIO_AMP); + break; +#endif #if defined(COLORLCD) case FUNC_SET_SCREEN: if (isRepeatDelayElapsed(functions, functionsContext, i)) { @@ -533,6 +538,10 @@ const char* funcGetLabel(uint8_t func) case FUNC_SET_SCREEN: return STR_SF_SET_SCREEN; #endif +#if defined(AUDIO_MUTE_GPIO) + case FUNC_DISABLE_AUDIO_AMP: + return STR_SF_DISABLE_AUDIO_AMP; +#endif #if defined(DEBUG) case FUNC_TEST: return STR_SF_TEST; diff --git a/radio/src/gui/gui_common.cpp b/radio/src/gui/gui_common.cpp index da43dc173..8bd79b0ee 100644 --- a/radio/src/gui/gui_common.cpp +++ b/radio/src/gui/gui_common.cpp @@ -594,7 +594,11 @@ bool isAssignableFunctionAvailable(int function, CustomFunctionData * functions) case FUNC_PLAY_SCRIPT: return false; #endif - + case FUNC_DISABLE_AUDIO_AMP: +#if defined(AUDIO_MUTE_GPIO) + return true; +#endif + return false; default: return true; } diff --git a/radio/src/opentx.h b/radio/src/opentx.h index 24590a748..e5e51eb65 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -665,6 +665,9 @@ enum FunctionsActive { #if defined(HARDWARE_TOUCH) FUNCTION_DISABLE_TOUCH, #endif +#if defined(AUDIO_MUTE_GPIO) + FUNCTION_DISABLE_AUDIO_AMP +#endif }; #define VARIO_FREQUENCY_ZERO 700/*Hz*/ diff --git a/radio/src/storage/yaml/yaml_datastructs_128x64.cpp b/radio/src/storage/yaml/yaml_datastructs_128x64.cpp index 788689002..48660a06e 100644 --- a/radio/src/storage/yaml/yaml_datastructs_128x64.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_128x64.cpp @@ -82,6 +82,7 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_BACKLIGHT, "BACKLIGHT" }, { FUNC_SCREENSHOT, "SCREENSHOT" }, { FUNC_RACING_MODE, "RACING_MODE" }, + { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { 0, NULL } }; const struct YamlIdStr enum_TimerModes[] = { diff --git a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp index 7ea0b13d6..623476a51 100644 --- a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp @@ -84,6 +84,7 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_RACING_MODE, "RACING_MODE" }, { FUNC_DISABLE_TOUCH, "DISABLE_TOUCH" }, { FUNC_SET_SCREEN, "SET_SCREEN" }, + { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { 0, NULL } }; const struct YamlIdStr enum_ZoneOptionValueEnum[] = { diff --git a/radio/src/storage/yaml/yaml_datastructs_tpro.cpp b/radio/src/storage/yaml/yaml_datastructs_tpro.cpp index aa71fec52..1bbd825dc 100644 --- a/radio/src/storage/yaml/yaml_datastructs_tpro.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_tpro.cpp @@ -82,6 +82,7 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_BACKLIGHT, "BACKLIGHT" }, { FUNC_SCREENSHOT, "SCREENSHOT" }, { FUNC_RACING_MODE, "RACING_MODE" }, + { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { 0, NULL } }; const struct YamlIdStr enum_TimerModes[] = { diff --git a/radio/src/storage/yaml/yaml_datastructs_x10.cpp b/radio/src/storage/yaml/yaml_datastructs_x10.cpp index 488babb58..35c2de0c4 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x10.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x10.cpp @@ -82,6 +82,7 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_BACKLIGHT, "BACKLIGHT" }, { FUNC_SCREENSHOT, "SCREENSHOT" }, { FUNC_RACING_MODE, "RACING_MODE" }, + { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_DISABLE_TOUCH, "DISABLE_TOUCH" }, { FUNC_SET_SCREEN, "SET_SCREEN" }, { 0, NULL } diff --git a/radio/src/storage/yaml/yaml_datastructs_x12s.cpp b/radio/src/storage/yaml/yaml_datastructs_x12s.cpp index 488babb58..35c2de0c4 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x12s.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x12s.cpp @@ -82,6 +82,7 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_BACKLIGHT, "BACKLIGHT" }, { FUNC_SCREENSHOT, "SCREENSHOT" }, { FUNC_RACING_MODE, "RACING_MODE" }, + { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { FUNC_DISABLE_TOUCH, "DISABLE_TOUCH" }, { FUNC_SET_SCREEN, "SET_SCREEN" }, { 0, NULL } diff --git a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp index 23d550fae..a7538158f 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp @@ -82,6 +82,7 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_BACKLIGHT, "BACKLIGHT" }, { FUNC_SCREENSHOT, "SCREENSHOT" }, { FUNC_RACING_MODE, "RACING_MODE" }, + { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { 0, NULL } }; const struct YamlIdStr enum_TimerModes[] = { diff --git a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp index aaf7829a1..1ec97e579 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp @@ -82,6 +82,7 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_BACKLIGHT, "BACKLIGHT" }, { FUNC_SCREENSHOT, "SCREENSHOT" }, { FUNC_RACING_MODE, "RACING_MODE" }, + { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { 0, NULL } }; const struct YamlIdStr enum_TimerModes[] = { diff --git a/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp b/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp index 40dc7073a..b251c8042 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp @@ -82,6 +82,7 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_BACKLIGHT, "BACKLIGHT" }, { FUNC_SCREENSHOT, "SCREENSHOT" }, { FUNC_RACING_MODE, "RACING_MODE" }, + { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { 0, NULL } }; const struct YamlIdStr enum_TimerModes[] = { diff --git a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp index e83c8f101..feda9fec8 100644 --- a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp @@ -82,6 +82,7 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_BACKLIGHT, "BACKLIGHT" }, { FUNC_SCREENSHOT, "SCREENSHOT" }, { FUNC_RACING_MODE, "RACING_MODE" }, + { FUNC_DISABLE_AUDIO_AMP, "DISABLE_AUDIO_AMP" }, { 0, NULL } }; const struct YamlIdStr enum_TimerModes[] = { diff --git a/radio/src/targets/common/arm/stm32/audio_dac_driver.cpp b/radio/src/targets/common/arm/stm32/audio_dac_driver.cpp index 9d5f07748..bf484f23a 100644 --- a/radio/src/targets/common/arm/stm32/audio_dac_driver.cpp +++ b/radio/src/targets/common/arm/stm32/audio_dac_driver.cpp @@ -139,6 +139,11 @@ void audioMute() void audioUnmute() { +if(isFunctionActive(FUNCTION_DISABLE_AUDIO_AMP)) { + setMutePin(true); + return; +} + #if defined(AUDIO_UNMUTE_DELAY) // if muted if (getMutePin()) { diff --git a/radio/src/targets/nv14/audio_spi_driver.cpp b/radio/src/targets/nv14/audio_spi_driver.cpp index 965544946..20265d389 100644 --- a/radio/src/targets/nv14/audio_spi_driver.cpp +++ b/radio/src/targets/nv14/audio_spi_driver.cpp @@ -403,6 +403,11 @@ void audioMute() void audioUnmute() { +if(isFunctionActive(FUNCTION_DISABLE_AUDIO_AMP)) { + setMutePin(true); + return; +} + #if defined(AUDIO_UNMUTE_DELAY) // if muted if (getMutePin()) { diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index cbebc2aab..06b469e66 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -173,6 +173,7 @@ const char STR_SF_BACKLIGHT[] = TR_SF_BACKLIGHT; const char STR_SF_BG_MUSIC[] = TR_SF_BG_MUSIC; const char STR_SF_BG_MUSIC_PAUSE[] = TR_SF_BG_MUSIC_PAUSE; const char STR_SF_DISABLE_TOUCH[] = TR_SF_DISABLE_TOUCH; +const char STR_SF_DISABLE_AUDIO_AMP[] = TR_SF_DISABLE_AUDIO_AMP; const char STR_SF_FAILSAFE[] = TR_SF_FAILSAFE; const char STR_SF_HAPTIC[] = TR_SF_HAPTIC; const char STR_SF_INST_TRIM[] = TR_SF_INST_TRIM; diff --git a/radio/src/translations.h b/radio/src/translations.h index 9b3477680..98770941e 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -294,6 +294,7 @@ extern const char STR_SF_BACKLIGHT[]; extern const char STR_SF_BG_MUSIC[]; extern const char STR_SF_BG_MUSIC_PAUSE[]; extern const char STR_SF_DISABLE_TOUCH[]; +extern const char STR_SF_DISABLE_AUDIO_AMP[]; extern const char STR_SF_FAILSAFE[]; extern const char STR_SF_HAPTIC[]; extern const char STR_SF_INST_TRIM[]; diff --git a/radio/src/translations/cn.h b/radio/src/translations/cn.h index 6a568344a..1e3b45965 100644 --- a/radio/src/translations/cn.h +++ b/radio/src/translations/cn.h @@ -108,6 +108,7 @@ #define TR_SF_SCREENSHOT "截屏" #define TR_SF_RACING_MODE "竞速模式" #define TR_SF_DISABLE_TOUCH "禁用触摸" +#define TR_SF_DISABLE_AUDIO_AMP "关闭音频功放" #define TR_SF_SET_SCREEN "选择主屏" #define TR_SF_RESERVE "[保留]" diff --git a/radio/src/translations/cz.h b/radio/src/translations/cz.h index 77dc4dc6f..be8dd26e9 100644 --- a/radio/src/translations/cz.h +++ b/radio/src/translations/cz.h @@ -122,6 +122,7 @@ #define TR_SF_SCREENSHOT "Snímek LCD" #define TR_SF_RACING_MODE "Závodní režim" #define TR_SF_DISABLE_TOUCH "Deaktivace dotyku" +#define TR_SF_DISABLE_AUDIO_AMP "Vypnutí zesilovače zvuku" #define TR_SF_SET_SCREEN "Vybrat hlavní obrazovku" #define TR_FSW_RESET_TELEM TR("Telm","Telemetrie") diff --git a/radio/src/translations/da.h b/radio/src/translations/da.h index 0c23636d2..cf03d8abe 100644 --- a/radio/src/translations/da.h +++ b/radio/src/translations/da.h @@ -120,6 +120,7 @@ #define TR_SF_SCREENSHOT "Skærm klip" #define TR_SF_RACING_MODE "Ræs tilstand" #define TR_SF_DISABLE_TOUCH "Ikke berøringsaktiv" +#define TR_SF_DISABLE_AUDIO_AMP TR("Sluk audio amp", "Sluk audio amplifier") #define TR_SF_SET_SCREEN "Vælg hoved skærm" #define TR_SF_RESERVE "[reserve]" diff --git a/radio/src/translations/de.h b/radio/src/translations/de.h index 378e1b7a0..9a1036b36 100644 --- a/radio/src/translations/de.h +++ b/radio/src/translations/de.h @@ -117,6 +117,7 @@ #define TR_SF_SCREENSHOT "Screenshot" #define TR_SF_RACING_MODE "RacingMode" #define TR_SF_DISABLE_TOUCH "Kein Touch" +#define TR_SF_DISABLE_AUDIO_AMP "Audio Amp AUS" #define TR_SF_SET_SCREEN "Set Main Screen" #define TR_FSW_RESET_TELEM TR("Telm","Telemetrie") diff --git a/radio/src/translations/en.h b/radio/src/translations/en.h index 80e6c1de3..54802bedc 100644 --- a/radio/src/translations/en.h +++ b/radio/src/translations/en.h @@ -118,6 +118,7 @@ #define TR_SF_SCREENSHOT "Screenshot" #define TR_SF_RACING_MODE "RacingMode" #define TR_SF_DISABLE_TOUCH "No Touch" +#define TR_SF_DISABLE_AUDIO_AMP "Audio Amp Off" #define TR_SF_SET_SCREEN "Set Main Screen" #define TR_SF_RESERVE "[reserve]" diff --git a/radio/src/translations/es.h b/radio/src/translations/es.h index 876b77a3d..378806603 100644 --- a/radio/src/translations/es.h +++ b/radio/src/translations/es.h @@ -115,6 +115,7 @@ #define TR_SF_SCREENSHOT "Captura" #define TR_SF_RACING_MODE "RacingMode" #define TR_SF_DISABLE_TOUCH "No Touch" +#define TR_SF_DISABLE_AUDIO_AMP "Audio Amp Off" #define TR_SF_SET_SCREEN "Set Main Screen" #define TR_FSW_RESET_TELEM TR("Telm", "Telemetría") diff --git a/radio/src/translations/fi.h b/radio/src/translations/fi.h index c9437d125..cdc8b4e6f 100644 --- a/radio/src/translations/fi.h +++ b/radio/src/translations/fi.h @@ -120,6 +120,7 @@ #define TR_SF_SCREENSHOT "Screenshot" #define TR_SF_RACING_MODE "RacingMode" #define TR_SF_DISABLE_TOUCH "No Touch" +#define TR_SF_DISABLE_AUDIO_AMP "Audio Amp Off" #define TR_SF_SET_SCREEN "Set Main Screen" #define TR_FSW_RESET_TELEM TR("Telm","Telemetry") diff --git a/radio/src/translations/fr.h b/radio/src/translations/fr.h index 38c1c0bfc..dca3dc2c4 100644 --- a/radio/src/translations/fr.h +++ b/radio/src/translations/fr.h @@ -119,6 +119,7 @@ #define TR_SF_SCREENSHOT "Photo Écran" #define TR_SF_RACING_MODE "Racing Mode" #define TR_SF_DISABLE_TOUCH "Non Tactile" +#define TR_SF_DISABLE_AUDIO_AMP "Désact. Ampli Audio" #define TR_SF_SET_SCREEN "Définir Écran Princ." #define TR_FSW_RESET_TELEM TR("Télem.", "Télémétrie") diff --git a/radio/src/translations/he.h b/radio/src/translations/he.h index 736f9ed29..aede57bc1 100644 --- a/radio/src/translations/he.h +++ b/radio/src/translations/he.h @@ -171,6 +171,7 @@ #define TR_SF_SCREENSHOT "צילום מסך" #define TR_SF_RACING_MODE "מצב תחרות" #define TR_SF_DISABLE_TOUCH "ללא מסך מגע" +#define TR_SF_DISABLE_AUDIO_AMP "Audio Amp Off" #define TR_SF_SET_SCREEN "הגדרת מסך ראשי" #define TR_SF_RESERVE "[reserve]" diff --git a/radio/src/translations/it.h b/radio/src/translations/it.h index 5eca927a5..f92955bf4 100644 --- a/radio/src/translations/it.h +++ b/radio/src/translations/it.h @@ -118,6 +118,7 @@ #define TR_SF_SCREENSHOT "Screenshot" #define TR_SF_RACING_MODE "Modo Racing" #define TR_SF_DISABLE_TOUCH "No Touch" +#define TR_SF_DISABLE_AUDIO_AMP "Audio Amp Off" #define TR_SF_SET_SCREEN "Setta Schermo Princ." #define TR_FSW_RESET_TELEM TR("Telm", "Telemetria") diff --git a/radio/src/translations/jp.h b/radio/src/translations/jp.h index f0aaed491..bd29d4396 100644 --- a/radio/src/translations/jp.h +++ b/radio/src/translations/jp.h @@ -113,6 +113,7 @@ #define TR_SF_SCREENSHOT "画面キャプチャ" #define TR_SF_RACING_MODE "レースモード" #define TR_SF_DISABLE_TOUCH "非タッチ" +#define TR_SF_DISABLE_AUDIO_AMP "オーディオアンプ OFF" #define TR_SF_SET_SCREEN "メインスクリーン設定" #define TR_SF_RESERVE "[予備]" diff --git a/radio/src/translations/nl.h b/radio/src/translations/nl.h index d6404e5c6..08befd3ca 100644 --- a/radio/src/translations/nl.h +++ b/radio/src/translations/nl.h @@ -115,6 +115,7 @@ #define TR_SF_SCREENSHOT "Schermafdr" #define TR_SF_RACING_MODE "RacingMode" #define TR_SF_DISABLE_TOUCH "No Touch" +#define TR_SF_DISABLE_AUDIO_AMP "Audio Amp Off" #define TR_SF_SET_SCREEN "Set Main Screen" #define TR_SF_RESERVE "[reserve]" diff --git a/radio/src/translations/pl.h b/radio/src/translations/pl.h index 776d9d201..35ad2c8a9 100644 --- a/radio/src/translations/pl.h +++ b/radio/src/translations/pl.h @@ -114,6 +114,7 @@ #define TR_SF_SCREENSHOT "Zrzut Ekra" #define TR_SF_RACING_MODE "RacingMode" #define TR_SF_DISABLE_TOUCH "No Touch" +#define TR_SF_DISABLE_AUDIO_AMP TR("Wycisz wzm.", "Wycisz wzmacniacz audio") #define TR_SF_SET_SCREEN "Set Main Screen" #define TR_FSW_RESET_TELEM TR("Telm", "Telemetra") diff --git a/radio/src/translations/pt.h b/radio/src/translations/pt.h index 19b4d0b51..0dc13fc23 100644 --- a/radio/src/translations/pt.h +++ b/radio/src/translations/pt.h @@ -121,6 +121,7 @@ #define TR_SF_SCREENSHOT "Capt. Tela" #define TR_SF_RACING_MODE "ModCorrida" #define TR_SF_DISABLE_TOUCH "No Touch" +#define TR_SF_DISABLE_AUDIO_AMP "Audio Amp Off" #define TR_SF_SET_SCREEN "Def Tela Princ" #define TR_SF_RESERVE "[reserve]" diff --git a/radio/src/translations/se.h b/radio/src/translations/se.h index 2822c9e61..dc49b9abc 100644 --- a/radio/src/translations/se.h +++ b/radio/src/translations/se.h @@ -124,6 +124,7 @@ #define TR_SF_SCREENSHOT "Skärmbild" #define TR_SF_RACING_MODE "Tävlingsläge" #define TR_SF_DISABLE_TOUCH "Ej pekskärm" +#define TR_SF_DISABLE_AUDIO_AMP TR("Audioförst. av","Audioförstärkare av") #define TR_SF_SET_SCREEN "Sätt huvudskärm" #define TR_SF_RESERVE "[reserv]" diff --git a/radio/src/translations/tw.h b/radio/src/translations/tw.h index d7a63dde2..36122897e 100644 --- a/radio/src/translations/tw.h +++ b/radio/src/translations/tw.h @@ -114,6 +114,7 @@ #define TR_SF_SCREENSHOT "截屏" #define TR_SF_RACING_MODE "競速模式" #define TR_SF_DISABLE_TOUCH "禁用觸摸" +#define TR_SF_DISABLE_AUDIO_AMP "關閉音頻功放" #define TR_SF_SET_SCREEN "選擇主屏" #define TR_FSW_RESET_TELEM "回傳參數"