diff --git a/radio/src/CMakeLists.txt b/radio/src/CMakeLists.txt index 9493239a8..07c5c803a 100644 --- a/radio/src/CMakeLists.txt +++ b/radio/src/CMakeLists.txt @@ -18,7 +18,6 @@ option(FAI "Competition mode (no telemetry)" OFF) option(AUTOSOURCE "Automatic source detection in menus" ON) option(AUTOSWITCH "Automatic switch detection in menus" ON) option(JITTER_MEASURE "Enable ADC jitter measurement" OFF) -option(JITTER_FILTER "Enable ADC jitter filtering" ON) option(WATCHDOG_DISABLED "Disable hardware Watchdog on Horus" OFF) # TODO remove it when it's OK option(SIMU_AUDIO "Enable simulator audio" OFF) option(SIMU_DISKIO "Enable disk IO simulation in simulator. Simulator will use FatFs module and simulated IO layer that uses \"./sdcard.image\" file as image of SD card. This file must contain whole SD card from first to last sector" OFF) @@ -867,10 +866,6 @@ if(JITTER_MEASURE) add_definitions(-DJITTER_MEASURE) endif() -if(JITTER_FILTER) - add_definitions(-DJITTER_FILTER) -endif() - if(WATCHDOG_DISABLED) add_definitions(-DWATCHDOG_DISABLED) endif() diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h index 29bb94326..419ed190e 100644 --- a/radio/src/datastructs.h +++ b/radio/src/datastructs.h @@ -892,7 +892,9 @@ PACK(struct TrainerData { NOBACKUP(uint32_t globalTimer); \ NOBACKUP(uint8_t btBaudrate); \ NOBACKUP(uint8_t countryCode); \ - NOBACKUP(uint8_t imperial); \ + NOBACKUP(uint8_t imperial:1); \ + NOBACKUP(uint8_t jitterFilter:1); /* 0 - active */\ + NOBACKUP(uint8_t spareExtra:6); \ NOBACKUP(char ttsLanguage[2]); \ NOBACKUP(int8_t beepVolume:4); \ NOBACKUP(int8_t wavVolume:4); \ diff --git a/radio/src/gui/horus/menu_general_hardware.cpp b/radio/src/gui/horus/menu_general_hardware.cpp index 95e265ea1..7cde3e1d2 100644 --- a/radio/src/gui/horus/menu_general_hardware.cpp +++ b/radio/src/gui/horus/menu_general_hardware.cpp @@ -46,6 +46,7 @@ enum menuGeneralHwItems { ITEM_SETUP_HW_SH, ITEM_SETUP_HW_BLUETOOTH, // ITEM_SETUP_HW_UART3_MODE, + ITEM_SETUP_HW_JITTER_FILTER, ITEM_SETUP_HW_BAT_CAL, ITEM_SETUP_HW_MAX }; @@ -177,6 +178,14 @@ bool menuGeneralHardware(evt_t event) break; #endif + case ITEM_SETUP_HW_JITTER_FILTER: + { + lcdDrawText(MENUS_MARGIN_LEFT, y, STR_JITTER_FILTER); + uint8_t b = 1-g_eeGeneral.jitterFilter; + g_eeGeneral.jitterFilter = 1 - editCheckBox(b, HW_SETTINGS_COLUMN, y, attr, event); + break; + } + case ITEM_SETUP_HW_BAT_CAL: lcdDrawText(MENUS_MARGIN_LEFT, y, STR_BATT_CALIB); lcdDrawNumber(HW_SETTINGS_COLUMN, y, getBatteryVoltage(), attr|LEFT|PREC2, 0, NULL, "V"); diff --git a/radio/src/gui/taranis/menu_general_hardware.cpp b/radio/src/gui/taranis/menu_general_hardware.cpp index b45a1a310..7a8a88fe1 100644 --- a/radio/src/gui/taranis/menu_general_hardware.cpp +++ b/radio/src/gui/taranis/menu_general_hardware.cpp @@ -56,6 +56,7 @@ enum menuGeneralHwItems { CASE_REV9E(ITEM_SETUP_HW_SR) CASE_REV9E(ITEM_SETUP_HW_BLUETOOTH) ITEM_SETUP_HW_UART3_MODE, + ITEM_SETUP_HW_JITTER_FILTER, ITEM_SETUP_HW_MAX }; @@ -211,6 +212,12 @@ void menuGeneralHardware(uint8_t event) serial2Init(g_eeGeneral.serial2Mode, MODEL_TELEMETRY_PROTOCOL()); } break; + case ITEM_SETUP_HW_JITTER_FILTER: + { + uint8_t b = 1-g_eeGeneral.jitterFilter; + g_eeGeneral.jitterFilter = 1 - editCheckBox(b, HW_SETTINGS_COLUMN, y, STR_JITTER_FILTER, attr, event); + break; + } } } } diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 760a629bf..6f3fe13bf 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -1474,7 +1474,7 @@ JitterMeter avgJitter[NUMBER_ANALOG]; tmr10ms_t jitterResetTime = 0; #endif -#if defined(VIRTUALINPUTS) && defined(JITTER_FILTER) +#if defined(VIRTUALINPUTS) #define JITTER_FILTER_STRENGTH 4 // tune this value, bigger value - more filtering (range: 1-5) (see explanation below) #define ANALOG_SCALE 1 // tune this value, bigger value - more filtering (range: 0-1) (see explanation below) @@ -1544,7 +1544,7 @@ void getADC() for (uint8_t x=0; x> (1 - ANALOG_SCALE); -#if defined(VIRTUALINPUTS) && defined(JITTER_FILTER) +#if defined(VIRTUALINPUTS) // Jitter filter: // * pass trough any big change directly // * for small change use Modified moving average (MMA) filter @@ -1581,7 +1581,7 @@ void getADC() // * = s_anaFilt[x] uint16_t previous = s_anaFilt[x] / JITTER_ALPHA; uint16_t diff = (v > previous) ? (v - previous) : (previous - v); - if (diff < 10 * ANALOG_MULTIPLIER) { + if (!g_eeGeneral.jitterFilter && diff < (10*ANALOG_MULTIPLIER)) { // g_eeGeneral.jitterFilter is inverted, 0 - active // apply jitter filter s_anaFilt[x] = (s_anaFilt[x] - previous) + v; } diff --git a/radio/src/simu.cpp b/radio/src/simu.cpp index 054e407db..314385df6 100644 --- a/radio/src/simu.cpp +++ b/radio/src/simu.cpp @@ -585,6 +585,11 @@ uint16_t anaIn(uint8_t chan) return 0; } +uint16_t getAnalogValue(uint8_t index) +{ + return anaIn(index); +} + void createBitmap(int index, uint16_t *data, int x, int y, int w, int h) { th9xSim->createBitmap(index, data, x, y, w, h); diff --git a/radio/src/targets/horus/adc_driver.cpp b/radio/src/targets/horus/adc_driver.cpp index def0d6f4c..3bd4c53bd 100644 --- a/radio/src/targets/horus/adc_driver.cpp +++ b/radio/src/targets/horus/adc_driver.cpp @@ -243,6 +243,7 @@ void adcRead() const int8_t ana_direction[NUMBER_ANALOG] = {1,-1,1,-1, -1,1,-1, -1,-1, -1,1, 0,0,0}; +#if !defined(SIMU) uint16_t getAnalogValue(uint8_t index) { if (ana_direction[index] < 0) @@ -250,3 +251,4 @@ uint16_t getAnalogValue(uint8_t index) else return adcValues[index]; } +#endif // #if !defined(SIMU) diff --git a/radio/src/targets/simu/opentxsimulator.cpp b/radio/src/targets/simu/opentxsimulator.cpp index 7c5a9e8d5..97344383f 100644 --- a/radio/src/targets/simu/opentxsimulator.cpp +++ b/radio/src/targets/simu/opentxsimulator.cpp @@ -24,6 +24,11 @@ uint16_t anaIn(uint8_t chan) return g_anas[chan]; } +uint16_t getAnalogValue(uint8_t index) +{ + return anaIn(index); +} + bool hasExtendedTrims() { return g_model.extendedTrims; diff --git a/radio/src/targets/sky9x/adc_driver.cpp b/radio/src/targets/sky9x/adc_driver.cpp index 8cd4dc066..a3d735270 100644 --- a/radio/src/targets/sky9x/adc_driver.cpp +++ b/radio/src/targets/sky9x/adc_driver.cpp @@ -136,7 +136,9 @@ void adcRead() } +#if !defined(SIMU) uint16_t getAnalogValue(uint8_t value) { return adcValues[value]; } +#endif // #if !defined(SIMU) diff --git a/radio/src/targets/taranis/adc_driver.cpp b/radio/src/targets/taranis/adc_driver.cpp index 1d010deb5..952e9a0a6 100644 --- a/radio/src/targets/taranis/adc_driver.cpp +++ b/radio/src/targets/taranis/adc_driver.cpp @@ -173,6 +173,7 @@ void adcStop() { } +#if !defined(SIMU) uint16_t getAnalogValue(uint8_t index) { if (IS_POT(index) && !IS_POT_AVAILABLE(index)) { @@ -189,3 +190,4 @@ uint16_t getAnalogValue(uint8_t index) else return adcValues[index]; } +#endif // #if !defined(SIMU) diff --git a/radio/src/tests/CMakeLists.txt b/radio/src/tests/CMakeLists.txt index 36dd4fb5a..1f0553111 100644 --- a/radio/src/tests/CMakeLists.txt +++ b/radio/src/tests/CMakeLists.txt @@ -16,6 +16,15 @@ if(EXISTS "${GTEST_SRCDIR}/src/gtest-all.cc") file(GLOB TEST_SRC_FILES ${RADIO_SRC_DIRECTORY}/tests/*.cpp) + if (${CMAKE_VERSION} VERSION_LESS 3.1.0}) + set(COMMON_CPP_FLAGS "${COMMON_FLAGS} -std=gnu++11") + message("USING -std=gnu++11") + else() + set(COMMON_CPP_FLAGS ${COMMON_FLAGS}) + endif() + set(CMAKE_C_FLAGS_DEBUG "${COMMON_FLAGS} -g -O0") + set(CMAKE_CXX_FLAGS_DEBUG "${COMMON_CPP_FLAGS} -g -O0") + add_executable(gtests EXCLUDE_FROM_ALL ${TEST_SRC_FILES} ${CMAKE_CURRENT_SOURCE_DIR}/location.h ${RADIO_SRC} ../targets/simu/simpgmspace.cpp) qt5_use_modules(gtests Core Widgets) add_dependencies(gtests ${FIRMWARE_DEPENDENCIES} gtests-lib) diff --git a/radio/src/tests/gtests.cpp b/radio/src/tests/gtests.cpp index dbec8f7a6..fec215f3f 100644 --- a/radio/src/tests/gtests.cpp +++ b/radio/src/tests/gtests.cpp @@ -31,6 +31,11 @@ uint16_t anaIn(uint8_t chan) return 0; } +uint16_t getAnalogValue(uint8_t index) +{ + return anaIn(index); +} + static char _zchar2stringResult[200]; const char * zchar2string(const char * zstring, int size) { diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 199b58d0c..083c033ac 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -660,6 +660,7 @@ const pm_char STR_REMOVE_SCREEN[] PROGMEM = TR_REMOVE_SCREEN; const pm_char STR_MENU_TELEMETRY[] PROGMEM = TR_MENU_TELEMETRY; const pm_char STR_MENU_OTHER[] PROGMEM = TR_MENU_OTHER; const pm_char STR_MENU_INVERT[] PROGMEM = TR_MENU_INVERT; + const pm_char STR_JITTER_FILTER[] PROGMEM = TR_JITTER_FILTER; #endif #if MENUS_LOCK == 1 diff --git a/radio/src/translations.h b/radio/src/translations.h index eced1462e..7a7dc0cae 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -189,23 +189,23 @@ extern const pm_char STR_OPEN9X[]; #define OFS_TARANIS_PROTOCOLS (OFS_VTRAINERMODES + sizeof(TR_VTRAINERMODES)) #define OFS_XJT_PROTOCOLS (OFS_TARANIS_PROTOCOLS + sizeof(TR_TARANIS_PROTOCOLS)) #define OFS_DSM_PROTOCOLS (OFS_XJT_PROTOCOLS + sizeof(TR_XJT_PROTOCOLS)) -#if defined(MULTIMODULE) - #define OFS_MULTI_PROTOCOLS (OFS_DSM_PROTOCOLS + sizeof(TR_DSM_PROTOCOLS)) - #define OFS_SUBTYPE_FLYSKY (OFS_MULTI_PROTOCOLS + sizeof(TR_MULTI_PROTOCOLS)) - #define OFS_SUBTYPE_FRSKY (OFS_SUBTYPE_FLYSKY + sizeof(TR_SUBTYPE_FLYSKY)) - #define OFS_SUBTYPE_HISKY (OFS_SUBTYPE_FRSKY + sizeof(TR_SUBTYPE_FRSKY)) - #define OFS_SUBTYPE_YD717 (OFS_SUBTYPE_HISKY + sizeof(TR_SUBTYPE_HISKY)) - #define OFS_SUBTYPE_SYMAX (OFS_SUBTYPE_YD717 + sizeof(TR_SUBTYPE_YD717)) - #define OFS_SUBTYPE_CX10 (OFS_SUBTYPE_SYMAX + sizeof(TR_SUBTYPE_SYMAX)) - #define OFS_SUBTYPE_CG023 (OFS_SUBTYPE_CX10 + sizeof(TR_SUBTYPE_CX10)) - #define OFS_SUBTYPE_KN (OFS_SUBTYPE_CG023 + sizeof(TR_SUBTYPE_CG023)) - #define OFS_SUBTYPE_MT99 (OFS_SUBTYPE_KN + sizeof(TR_SUBTYPE_KN)) - #define OFS_SUBTYPE_MJXQ (OFS_SUBTYPE_MT99 + sizeof(TR_SUBTYPE_MT99)) - #define OFS_OPTIONS_DSM (OFS_SUBTYPE_MJXQ + sizeof(TR_SUBTYPE_MJXQ)) - #define OFS_VOLTSRC (OFS_OPTIONS_DSM + sizeof(TR_OPTIONS_DSM)) -#else - #define OFS_VOLTSRC (OFS_DSM_PROTOCOLS + sizeof(TR_DSM_PROTOCOLS)) -#endif +#if defined(MULTIMODULE) + #define OFS_MULTI_PROTOCOLS (OFS_DSM_PROTOCOLS + sizeof(TR_DSM_PROTOCOLS)) + #define OFS_SUBTYPE_FLYSKY (OFS_MULTI_PROTOCOLS + sizeof(TR_MULTI_PROTOCOLS)) + #define OFS_SUBTYPE_FRSKY (OFS_SUBTYPE_FLYSKY + sizeof(TR_SUBTYPE_FLYSKY)) + #define OFS_SUBTYPE_HISKY (OFS_SUBTYPE_FRSKY + sizeof(TR_SUBTYPE_FRSKY)) + #define OFS_SUBTYPE_YD717 (OFS_SUBTYPE_HISKY + sizeof(TR_SUBTYPE_HISKY)) + #define OFS_SUBTYPE_SYMAX (OFS_SUBTYPE_YD717 + sizeof(TR_SUBTYPE_YD717)) + #define OFS_SUBTYPE_CX10 (OFS_SUBTYPE_SYMAX + sizeof(TR_SUBTYPE_SYMAX)) + #define OFS_SUBTYPE_CG023 (OFS_SUBTYPE_CX10 + sizeof(TR_SUBTYPE_CX10)) + #define OFS_SUBTYPE_KN (OFS_SUBTYPE_CG023 + sizeof(TR_SUBTYPE_CG023)) + #define OFS_SUBTYPE_MT99 (OFS_SUBTYPE_KN + sizeof(TR_SUBTYPE_KN)) + #define OFS_SUBTYPE_MJXQ (OFS_SUBTYPE_MT99 + sizeof(TR_SUBTYPE_MT99)) + #define OFS_OPTIONS_DSM (OFS_SUBTYPE_MJXQ + sizeof(TR_SUBTYPE_MJXQ)) + #define OFS_VOLTSRC (OFS_OPTIONS_DSM + sizeof(TR_OPTIONS_DSM)) +#else + #define OFS_VOLTSRC (OFS_DSM_PROTOCOLS + sizeof(TR_DSM_PROTOCOLS)) +#endif #define OFS_CURVE_TYPES (OFS_VOLTSRC + sizeof(TR_VOLTSRC)) #define OFS_VSENSORTYPES (OFS_CURVE_TYPES + sizeof(TR_CURVE_TYPES)) #define OFS_VFORMULAS (OFS_VSENSORTYPES + sizeof(TR_VSENSORTYPES)) @@ -321,22 +321,22 @@ extern const pm_char STR_OPEN9X[]; #define STR_TARANIS_PROTOCOLS (STR_OPEN9X + OFS_TARANIS_PROTOCOLS) #define STR_XJT_PROTOCOLS (STR_OPEN9X + OFS_XJT_PROTOCOLS) #define STR_DSM_PROTOCOLS (STR_OPEN9X + OFS_DSM_PROTOCOLS) -#if defined(MULTIMODULE) - #define STR_MULTI_PROTOCOLS (STR_OPEN9X + OFS_MULTI_PROTOCOLS) - #define STR_SUBTYPE_FLYSKY (STR_OPEN9X + OFS_SUBTYPE_FLYSKY) - #define STR_SUBTYPE_FRSKY (STR_OPEN9X + OFS_SUBTYPE_FRSKY) - #define STR_SUBTYPE_HISKY (STR_OPEN9X + OFS_SUBTYPE_HISKY) - #define STR_SUBTYPE_YD717 (STR_OPEN9X + OFS_SUBTYPE_YD717) - #define STR_SUBTYPE_SYMAX (STR_OPEN9X + OFS_SUBTYPE_SYMAX) - #define STR_SUBTYPE_CX10 (STR_OPEN9X + OFS_SUBTYPE_CX10) - #define STR_SUBTYPE_CG023 (STR_OPEN9X + OFS_SUBTYPE_CG023) - #define STR_SUBTYPE_KN (STR_OPEN9X + OFS_SUBTYPE_KN) - #define STR_SUBTYPE_MT99 (STR_OPEN9X + OFS_SUBTYPE_MT99) - #define STR_SUBTYPE_MJXQ (STR_OPEN9X + OFS_SUBTYPE_MJXQ) - #define STR_OPTIONS_DSM (STR_OPEN9X + OFS_OPTIONS_DSM) -#endif - #define STR_CURVE_TYPES (STR_OPEN9X + OFS_CURVE_TYPES) - #define STR_VSENSORTYPES (STR_OPEN9X + OFS_VSENSORTYPES) +#if defined(MULTIMODULE) + #define STR_MULTI_PROTOCOLS (STR_OPEN9X + OFS_MULTI_PROTOCOLS) + #define STR_SUBTYPE_FLYSKY (STR_OPEN9X + OFS_SUBTYPE_FLYSKY) + #define STR_SUBTYPE_FRSKY (STR_OPEN9X + OFS_SUBTYPE_FRSKY) + #define STR_SUBTYPE_HISKY (STR_OPEN9X + OFS_SUBTYPE_HISKY) + #define STR_SUBTYPE_YD717 (STR_OPEN9X + OFS_SUBTYPE_YD717) + #define STR_SUBTYPE_SYMAX (STR_OPEN9X + OFS_SUBTYPE_SYMAX) + #define STR_SUBTYPE_CX10 (STR_OPEN9X + OFS_SUBTYPE_CX10) + #define STR_SUBTYPE_CG023 (STR_OPEN9X + OFS_SUBTYPE_CG023) + #define STR_SUBTYPE_KN (STR_OPEN9X + OFS_SUBTYPE_KN) + #define STR_SUBTYPE_MT99 (STR_OPEN9X + OFS_SUBTYPE_MT99) + #define STR_SUBTYPE_MJXQ (STR_OPEN9X + OFS_SUBTYPE_MJXQ) + #define STR_OPTIONS_DSM (STR_OPEN9X + OFS_OPTIONS_DSM) +#endif + #define STR_CURVE_TYPES (STR_OPEN9X + OFS_CURVE_TYPES) + #define STR_VSENSORTYPES (STR_OPEN9X + OFS_VSENSORTYPES) #define STR_VFORMULAS (STR_OPEN9X + OFS_VFORMULAS) #define STR_VPREC (STR_OPEN9X + OFS_VPREC) #define STR_VCELLINDEX (STR_OPEN9X + OFS_VCELLINDEX) @@ -560,19 +560,19 @@ extern const pm_char STR_GF[]; #if defined(FAS_OFFSET) || !defined(CPUM64) extern const pm_char STR_FAS_OFFSET[]; -#endif - -#if defined(MULTIMODULE) -extern const pm_char STR_MULTI_OPTION[]; -extern const pm_char STR_MULTI_VIDFREQ[]; -extern const pm_char STR_MULTI_RFTUNE[]; -extern const pm_char STR_MULTI_AUTOBIND[]; -extern const pm_char STR_MULTI_LOWPOWER[]; -extern const pm_char STR_MULTI_DSMFRAME[]; -#endif -#if defined(DSM2) || defined(PXX) -extern const pm_char STR_RXNUM[]; -#endif +#endif + +#if defined(MULTIMODULE) +extern const pm_char STR_MULTI_OPTION[]; +extern const pm_char STR_MULTI_VIDFREQ[]; +extern const pm_char STR_MULTI_RFTUNE[]; +extern const pm_char STR_MULTI_AUTOBIND[]; +extern const pm_char STR_MULTI_LOWPOWER[]; +extern const pm_char STR_MULTI_DSMFRAME[]; +#endif +#if defined(DSM2) || defined(PXX) +extern const pm_char STR_RXNUM[]; +#endif #if defined(PXX) || defined(CPUARM) extern const pm_char STR_SYNCMENU[]; @@ -922,6 +922,7 @@ extern const pm_char STR_BLCOLOR[]; extern const pm_char STR_MENU_TELEMETRY[]; extern const pm_char STR_MENU_OTHER[]; extern const pm_char STR_MENU_INVERT[]; + extern const pm_char STR_JITTER_FILTER[]; #endif #if MENUS_LOCK == 1 @@ -1011,4 +1012,4 @@ extern const pm_char STR_BLCOLOR[]; #define CHR_HOUR TR_CHR_HOUR #define CHR_INPUT TR_CHR_INPUT -#endif // _TRANSLATIONS_H_ +#endif // _TRANSLATIONS_H_ diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 9a7c0f954..68876ab6f 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -1190,6 +1190,7 @@ #define TR_MENU_TELEMETRY "\321Telemetrie" #define TR_MENU_OTHER "Ostatní" #define TR_MENU_INVERT "Invertovat" +#define TR_JITTER_FILTER "ADC Filter" #define ZSTR_RSSI "RSSI" #define ZSTR_SWR "SWR" diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 567e91e23..fa81a1236 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -1193,6 +1193,7 @@ #define TR_MENU_TELEMETRY "\321Telemetrie" #define TR_MENU_OTHER " Weitere" #define TR_MENU_INVERT "Invertieren" +#define TR_JITTER_FILTER "ADC Filter" // ---------------------------------------------------------------- #define ZSTR_RSSI "RSSI" #define ZSTR_SWR "SWR" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 983e5e64a..4e3a7e529 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -1207,6 +1207,7 @@ #define TR_MENU_TELEMETRY "\321Telemetry" #define TR_MENU_OTHER "Other" #define TR_MENU_INVERT "Invert" +#define TR_JITTER_FILTER "ADC Filter" #define ZSTR_RSSI "RSSI" #define ZSTR_SWR "SWR" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 2c0365e5f..c18a46000 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -1153,6 +1153,7 @@ #define TR_MENU_TELEMETRY "\321Telemetry" #define TR_MENU_OTHER "Other" #define TR_MENU_INVERT "Invert" +#define TR_JITTER_FILTER "ADC Filter" #define ZSTR_RSSI "RSSI" #define ZSTR_SWR "SWR" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 945170c03..84cfc8124 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -1153,6 +1153,7 @@ #define TR_MENU_TELEMETRY "\321Telemetry" #define TR_MENU_OTHER "Other" #define TR_MENU_INVERT "Invert" +#define TR_JITTER_FILTER "ADC Filter" #define ZSTR_RSSI "RSSI" #define ZSTR_SWR "SWR" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index d226e0d37..a7c1f43b5 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -1180,6 +1180,7 @@ #define TR_MENU_TELEMETRY "\321Télémesure" #define TR_MENU_OTHER "Autres" #define TR_MENU_INVERT "Inverser" +#define TR_JITTER_FILTER "ADC Filter" #define ZSTR_RSSI "RSSI" #define ZSTR_SWR "SWR" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 6eac3b210..e7e044f9b 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -1189,6 +1189,7 @@ #define TR_MENU_TELEMETRY "\321Telemetry" #define TR_MENU_OTHER "Altro" #define TR_MENU_INVERT "Inverti" +#define TR_JITTER_FILTER "ADC Filter" #define ZSTR_RSSI "RSSI" #define ZSTR_SWR "SWR" diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index 167aea6f8..6f079d9a0 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -1204,6 +1204,7 @@ #define TR_MENU_TELEMETRY "\321Telemetrie" #define TR_MENU_OTHER "Verdere" #define TR_MENU_INVERT "Inverteer" +#define TR_JITTER_FILTER "ADC Filter" #define ZSTR_RSSI "RSSI" #define ZSTR_SWR "SWR" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index f0596d511..3f86872b0 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -1191,6 +1191,7 @@ #define TR_MENU_TELEMETRY "\321Telemetry" #define TR_MENU_OTHER "Inny " #define TR_MENU_INVERT "Odwróć" +#define TR_JITTER_FILTER "ADC Filter" #define ZSTR_RSSI "RSSI" #define ZSTR_SWR "SWR" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index b817ae62b..772546ccb 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -1149,6 +1149,7 @@ #define TR_MENU_TELEMETRY "\321Telemetry" #define TR_MENU_OTHER "Other" #define TR_MENU_INVERT "Invert" +#define TR_JITTER_FILTER "ADC Filter" #define ZSTR_RSSI "RSSI" #define ZSTR_SWR "SWR" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 8926a004d..8d3ac1b75 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -1205,6 +1205,7 @@ #define TR_MENU_TELEMETRY "\321Telemetri" #define TR_MENU_OTHER "Annat" #define TR_MENU_INVERT "Invertera" +#define TR_JITTER_FILTER "ADC Filter" #define ZSTR_RSSI "RSSI" #define ZSTR_SWR "SWR"