diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h index a080054e5..abd9d9cf4 100644 --- a/companion/src/eeprominterface.h +++ b/companion/src/eeprominterface.h @@ -821,6 +821,7 @@ class ModuleData { int failsafeChannels[C9X_NUM_CHNOUT]; int ppmDelay; bool ppmPulsePol; // false = positive + bool ppmOutputType; // false = open drain, true = push pull int ppmFrameLength; void clear() { memset(this, 0, sizeof(ModuleData)); } QString polarityToString() { return ppmPulsePol ? QObject::tr("Positive") : QObject::tr("Negative"); } diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index 6f9aa3f87..915acc187 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -2983,7 +2983,16 @@ OpenTxModelData::OpenTxModelData(ModelData & modelData, BoardEnum board, unsigne internalField.Append(new SignedField<16>(modelData.moduleData[module].failsafeChannels[i])); internalField.Append(new ConversionField< SignedField<8> >(modelData.moduleData[module].ppmDelay, exportPpmDelay, importPpmDelay)); internalField.Append(new SignedField<8>(modelData.moduleData[module].ppmFrameLength)); - internalField.Append(new BoolField<8>(modelData.moduleData[module].ppmPulsePol)); + if (IS_9XRPRO(board)) { + internalField.Append(new BoolField<1>(modelData.moduleData[module].ppmPulsePol)); + internalField.Append(new BoolField<1>(modelData.moduleData[module].ppmOutputType)); + internalField.Append(new SpareBitsField<6>()); + } + else { + internalField.Append(new BoolField<1>(modelData.moduleData[module].ppmPulsePol)); + internalField.Append(new SpareBitsField<7>()); + } + } } diff --git a/companion/src/modeledit/setup.cpp b/companion/src/modeledit/setup.cpp index 01a57b716..9d37b1af8 100644 --- a/companion/src/modeledit/setup.cpp +++ b/companion/src/modeledit/setup.cpp @@ -204,6 +204,7 @@ ModulePanel::~ModulePanel() #define MASK_CHANNELS_RANGE 8 #define MASK_PPM_FIELDS 16 #define MASK_FAILSAFES 32 +#define MASK_OPEN_DRAIN 64 void ModulePanel::update() { @@ -230,6 +231,9 @@ void ModulePanel::update() break; case PPM: mask |= MASK_PPM_FIELDS | MASK_CHANNELS_RANGE| MASK_CHANNELS_COUNT; + if (IS_9XRPRO(firmware->getBoard())) { + mask |= MASK_OPEN_DRAIN; + } break; case OFF: default: @@ -259,6 +263,9 @@ void ModulePanel::update() ui->label_ppmPolarity->setVisible(mask & MASK_PPM_FIELDS); ui->ppmPolarity->setVisible(mask & MASK_PPM_FIELDS); ui->ppmPolarity->setCurrentIndex(module.ppmPulsePol); + ui->label_ppmOutputType->setVisible(mask & MASK_OPEN_DRAIN); + ui->ppmOutputType->setVisible(mask & MASK_OPEN_DRAIN); + ui->ppmOutputType->setCurrentIndex(module.ppmOutputType); ui->label_ppmDelay->setVisible(mask & MASK_PPM_FIELDS); ui->ppmDelay->setVisible(mask & MASK_PPM_FIELDS); ui->ppmDelay->setValue(module.ppmDelay); @@ -306,6 +313,12 @@ void ModulePanel::on_ppmPolarity_currentIndexChanged(int index) emit modified(); } +void ModulePanel::on_ppmOutputType_currentIndexChanged(int index) +{ + module.ppmOutputType = index; + emit modified(); +} + void ModulePanel::on_channelsCount_editingFinished() { if (!lock) { diff --git a/companion/src/modeledit/setup.h b/companion/src/modeledit/setup.h index e7b0bb1c5..800fb3a32 100644 --- a/companion/src/modeledit/setup.h +++ b/companion/src/modeledit/setup.h @@ -55,6 +55,7 @@ class ModulePanel : public ModelPanel void on_channelsCount_editingFinished(); void on_channelsStart_editingFinished(); void on_ppmPolarity_currentIndexChanged(int index); + void on_ppmOutputType_currentIndexChanged(int index); void on_ppmFrameLength_editingFinished(); void on_rxNumber_editingFinished(); void on_failsafeMode_currentIndexChanged(int value); diff --git a/companion/src/modeledit/setup_module.ui b/companion/src/modeledit/setup_module.ui index 3574236cf..d764103d8 100644 --- a/companion/src/modeledit/setup_module.ui +++ b/companion/src/modeledit/setup_module.ui @@ -6,7 +6,7 @@ 0 0 - 692 + 737 300 @@ -545,6 +545,27 @@ + + + + Output type + + + + + + + + Open Drain + + + + + Push Pull + + + + @@ -559,6 +580,7 @@ ppmPolarity ppmDelay failsafeMode + ppmOutputType rxNumber diff --git a/radio/src/gui/9X/menu_model_setup.cpp b/radio/src/gui/9X/menu_model_setup.cpp index 9fd850f31..2b700edad 100644 --- a/radio/src/gui/9X/menu_model_setup.cpp +++ b/radio/src/gui/9X/menu_model_setup.cpp @@ -75,6 +75,9 @@ enum menuModelSetupItems { ITEM_MODEL_EXTERNAL_MODULE_MODE, ITEM_MODEL_EXTERNAL_MODULE_CHANNELS, ITEM_MODEL_EXTERNAL_MODULE_BIND, +#if defined(PCBSKY9X) && defined(REVX) + ITEM_MODEL_EXTERNAL_MODULE_OUTPUT_TYPE, +#endif ITEM_MODEL_EXTERNAL_MODULE_FAILSAFE, #if defined(PCBSKY9X) && !defined(REVA) && !defined(REVX) ITEM_MODEL_EXTRA_MODULE_LABEL, @@ -112,6 +115,12 @@ void menuModelSetup(uint8_t event) #define IF_EXTERNAL_MODULE_ON(x) (g_model.externalModule == MODULE_TYPE_NONE ? HIDDEN_ROW : (uint8_t)(x)) #define IS_D8_RX(x) (g_model.moduleData[x].rfProtocol == RF_PROTO_D8) #define EXTERNAL_MODULE_CHANNELS_ROWS() IF_EXTERNAL_MODULE_ON(IS_MODULE_DSM2(EXTERNAL_MODULE) ? (uint8_t)0 : (uint8_t)1) + #define EXTERNAL_MODULE_SETTINGS_ROWS() (IS_MODULE_XJT(EXTERNAL_MODULE) && IS_D8_RX(EXTERNAL_MODULE)) ? (uint8_t)1 : (IS_MODULE_PPM(EXTERNAL_MODULE) || IS_MODULE_XJT(EXTERNAL_MODULE) || IS_MODULE_DSM2(EXTERNAL_MODULE)) ? (uint8_t)2 : HIDDEN_ROW +#if defined(PCBSKY9X) && defined(REVX) + #define OUTPUT_TYPE_ROWS() (IS_MODULE_PPM(EXTERNAL_MODULE) ? (uint8_t)0 : HIDDEN_ROW) , +#else + #define OUTPUT_TYPE_ROWS() +#endif #define TRAINER_CHANNELS_ROWS() (HIDDEN_ROW) #define PORT_CHANNELS_ROWS(x) (x==EXTERNAL_MODULE ? EXTERNAL_MODULE_CHANNELS_ROWS() : 0) #define FAILSAFE_ROWS(x) ((g_model.moduleData[x].rfProtocol==RF_PROTO_X16 || g_model.moduleData[x].rfProtocol==RF_PROTO_LR12) ? (g_model.moduleData[x].failsafeMode==FAILSAFE_CUSTOM ? (uint8_t)1 : (uint8_t)0) : HIDDEN_ROW) @@ -125,7 +134,7 @@ void menuModelSetup(uint8_t event) #define EXTRA_MODULE_ROWS #endif #define TRAINER_MODULE_ROWS - MENU_TAB({ 0, 0, TIMER_ROWS, TIMER_ROWS, TIMER_ROWS, 0, 1, 0, 0, 0, 0, 0, CASE_CPUARM(LABEL(PreflightCheck)) CASE_CPUARM(0) 0, 6, NUM_STICKS+NUM_POTS+NUM_ROTARY_ENCODERS-1, 0, LABEL(ExternalModule), (IS_MODULE_XJT(EXTERNAL_MODULE) || IS_MODULE_DSM2(EXTERNAL_MODULE)) ? (uint8_t)1 : (uint8_t)0, EXTERNAL_MODULE_CHANNELS_ROWS(), (IS_MODULE_XJT(EXTERNAL_MODULE) && IS_D8_RX(EXTERNAL_MODULE)) ? (uint8_t)1 : (IS_MODULE_PPM(EXTERNAL_MODULE) || IS_MODULE_XJT(EXTERNAL_MODULE) || IS_MODULE_DSM2(EXTERNAL_MODULE)) ? (uint8_t)2 : HIDDEN_ROW, IF_EXTERNAL_MODULE_XJT(FAILSAFE_ROWS(EXTERNAL_MODULE)), EXTRA_MODULE_ROWS TRAINER_MODULE_ROWS }); + MENU_TAB({ 0, 0, TIMER_ROWS, TIMER_ROWS, TIMER_ROWS, 0, 1, 0, 0, 0, 0, 0, CASE_CPUARM(LABEL(PreflightCheck)) CASE_CPUARM(0) 0, 6, NUM_STICKS+NUM_POTS+NUM_ROTARY_ENCODERS-1, 0, LABEL(ExternalModule), (IS_MODULE_XJT(EXTERNAL_MODULE) || IS_MODULE_DSM2(EXTERNAL_MODULE)) ? (uint8_t)1 : (uint8_t)0, EXTERNAL_MODULE_CHANNELS_ROWS(), EXTERNAL_MODULE_SETTINGS_ROWS(), OUTPUT_TYPE_ROWS() IF_EXTERNAL_MODULE_XJT(FAILSAFE_ROWS(EXTERNAL_MODULE)), EXTRA_MODULE_ROWS TRAINER_MODULE_ROWS }); #elif defined(CPUM64) #define CURSOR_ON_CELL (true) #define MODEL_SETUP_MAX_LINES ((IS_PPM_PROTOCOL(protocol)||IS_DSM2_PROTOCOL(protocol)||IS_PXX_PROTOCOL(protocol)) ? 1+ITEM_MODEL_SETUP_MAX : ITEM_MODEL_SETUP_MAX) @@ -621,6 +630,16 @@ void menuModelSetup(uint8_t event) } #endif +#if defined(PCBSKY9X) && defined(REVX) + case ITEM_MODEL_EXTERNAL_MODULE_OUTPUT_TYPE: + { + uint8_t moduleIdx = CURRENT_MODULE_EDITED(k); + ModuleData & moduleData = g_model.moduleData[moduleIdx]; + moduleData.ppmOutputType = selectMenuItem(MODEL_SETUP_2ND_COLUMN, y, STR_OUTPUT_TYPE, STR_VOUTPUT_TYPE, moduleData.ppmOutputType, 0, 1, attr, event); + break; + } +#endif + #if defined(CPUARM) case ITEM_MODEL_EXTERNAL_MODULE_FAILSAFE: { diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index 6d922911e..a2bb9d715 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -414,7 +414,13 @@ PACK(typedef struct { int16_t failsafeChannels[NUM_CHNOUT]; int8_t ppmDelay; int8_t ppmFrameLength; - uint8_t ppmPulsePol; + uint8_t ppmPulsePol:1; +#if defined(PCBSKY9X) && defined(REVX) + uint8_t ppmOutputType:1; // false = open drain, true = push pull + uint8_t spare:6; +#else + uint8_t spare:7; +#endif }) ModuleData; #define SET_DEFAULT_PPM_FRAME_LENGTH(idx) g_model.moduleData[idx].ppmFrameLength = 4 * max((int8_t)0, g_model.moduleData[idx].channelsCount) diff --git a/radio/src/targets/sky9x/pulses_driver.cpp b/radio/src/targets/sky9x/pulses_driver.cpp index 52c492d10..90b3723c1 100644 --- a/radio/src/targets/sky9x/pulses_driver.cpp +++ b/radio/src/targets/sky9x/pulses_driver.cpp @@ -43,7 +43,12 @@ void module_output_active() pioptr->PIO_ABCDSR[1] |= PIO_PA17 ; // Peripheral C pioptr->PIO_PDR = PIO_PA17 ; // Disable bit A17 Assign to peripheral #if defined(REVX) - pioptr->PIO_MDER = PIO_PA17 ; // Open Drain O/p in A17 + if (g_model.moduleData[EXTERNAL_MODULE].ppmOutputType) { + pioptr->PIO_MDDR = PIO_PA17 ; // Push Pull O/p in A17 + } + else { + pioptr->PIO_MDER = PIO_PA17 ; // Open Drain O/p in A17 + } pioptr->PIO_PUER = PIO_PA17 ; // With pull up #endif } diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 210b07221..b319a61b4 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -68,6 +68,9 @@ const pm_char STR_OPEN9X[] PROGMEM = ISTR(RETA123) ISTR(VPROTOS) ISTR(POSNEG) +#if defined(PCBSKY9X) && defined(REVX) + ISTR(VOUTPUT_TYPE) +#endif ISTR(VBLMODE) ISTR(VCURVEFUNC) ISTR(VMLTPX) @@ -150,11 +153,14 @@ const pm_char STR_TIMER[] PROGMEM = TR_TIMER; const pm_char STR_ELIMITS[] PROGMEM = TR_ELIMITS; const pm_char STR_ETRIMS[] PROGMEM = TR_ETRIMS; const pm_char STR_TRIMINC[] PROGMEM = TR_TRIMINC; -const pm_char STR_DISPLAY_TRIMS[] PROGMEM = TR_DISPLAY_TRIMS; +const pm_char STR_DISPLAY_TRIMS[] PROGMEM = TR_DISPLAY_TRIMS; const pm_char STR_TTRACE[] PROGMEM = TR_TTRACE; const pm_char STR_TTRIM[] PROGMEM = TR_TTRIM; const pm_char STR_BEEPCTR[] PROGMEM = TR_BEEPCTR; -const pm_char STR_USE_GLOBAL_FUNCS[] PROGMEM = TR_USE_GLOBAL_FUNCS; +const pm_char STR_USE_GLOBAL_FUNCS[] PROGMEM = TR_USE_GLOBAL_FUNCS; +#if defined(PCBSKY9X) && defined(REVX) + const pm_char STR_OUTPUT_TYPE[] PROGMEM = TR_OUTPUT_TYPE; +#endif const pm_char STR_PROTO[] PROGMEM = TR_PROTO; const pm_char STR_PPMFRAME[] PROGMEM = TR_PPMFRAME; const pm_char STR_MS[] PROGMEM = TR_MS; @@ -252,8 +258,8 @@ const pm_char STR_THROTTLEWARNING[] PROGMEM = TR_THROTTLEWARNING; const pm_char STR_SWITCHWARNING[] PROGMEM = TR_SWITCHWARNING; #ifdef FRSKY const pm_char STR_TIMEZONE[] PROGMEM = TR_TIMEZONE; -const pm_char STR_ADJUST_RTC[] PROGMEM = TR_ADJUST_RTC; -const pm_char STR_GPS[] PROGMEM = TR_GPS; +const pm_char STR_ADJUST_RTC[] PROGMEM = TR_ADJUST_RTC; +const pm_char STR_GPS[] PROGMEM = TR_GPS; const pm_char STR_GPSCOORD[] PROGMEM = TR_GPSCOORD; const pm_char STR_VARIO[] PROGMEM = TR_VARIO; const pm_char STR_PITCH_AT_ZERO[] PROGMEM = TR_PITCH_AT_ZERO; @@ -261,9 +267,9 @@ const pm_char STR_PITCH_AT_MAX[] PROGMEM = TR_PITCH_AT_MAX; const pm_char STR_REPEAT_AT_ZERO[] PROGMEM = TR_REPEAT_AT_ZERO; #endif const pm_char STR_RXCHANNELORD[] PROGMEM = TR_RXCHANNELORD; -const pm_char STR_STICKS[] PROGMEM = TR_STICKS; -const pm_char STR_POTS[] PROGMEM = TR_POTS; -const pm_char STR_SWITCHES[] PROGMEM = TR_SWITCHES; +const pm_char STR_STICKS[] PROGMEM = TR_STICKS; +const pm_char STR_POTS[] PROGMEM = TR_POTS; +const pm_char STR_SWITCHES[] PROGMEM = TR_SWITCHES; const pm_char STR_SWITCHES_DELAY[] PROGMEM = TR_SWITCHES_DELAY; const pm_char STR_SLAVE[] PROGMEM = TR_SLAVE; const pm_char STR_MODESRC[] PROGMEM = TR_MODESRC; @@ -505,7 +511,7 @@ const pm_char STR_PATH_TOO_LONG[] PROGMEM = TR_PATH_TOO_LONG; const pm_char STR_VIEW_TEXT[] PROGMEM = TR_VIEW_TEXT; const pm_char STR_FLASH_BOOTLOADER[] PROGMEM = TR_FLASH_BOOTLOADER; const pm_char STR_FLASH_INTERNAL_MODULE[] PROGMEM = TR_FLASH_INTERNAL_MODULE; -const pm_char STR_FLASH_EXTERNAL_DEVICE[] PROGMEM = TR_FLASH_EXTERNAL_DEVICE; +const pm_char STR_FLASH_EXTERNAL_DEVICE[] PROGMEM = TR_FLASH_EXTERNAL_DEVICE; const pm_char STR_WRITING[] PROGMEM = TR_WRITING; const pm_char STR_CONFIRM_FORMAT[] PROGMEM = TR_CONFIRM_FORMAT; const pm_char STR_EEBACKUP[] PROGMEM = TR_EEBACKUP; diff --git a/radio/src/translations.h b/radio/src/translations.h index 307b7cb4e..bd78c0737 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -119,7 +119,12 @@ extern const pm_char STR_OPEN9X[]; #endif #define OFS_VPROTOS (OFS_RETA123 + sizeof(TR_RETA123)) #define OFS_POSNEG (OFS_VPROTOS + sizeof(TR_VPROTOS)) -#define OFS_VBLMODE (OFS_POSNEG + sizeof(TR_POSNEG)) +#if defined(PCBSKY9X) && defined(REVX) + #define OFS_VOUTPUT_TYPE (OFS_POSNEG + sizeof(TR_POSNEG)) + #define OFS_VBLMODE (OFS_VOUTPUT_TYPE + sizeof(TR_VOUTPUT_TYPE)) +#else + #define OFS_VBLMODE (OFS_POSNEG + sizeof(TR_POSNEG)) +#endif #define OFS_VCURVEFUNC (OFS_VBLMODE + sizeof(TR_VBLMODE)) #define OFS_VMLTPX (OFS_VCURVEFUNC + sizeof(TR_VCURVEFUNC)) #define OFS_VMLTPX2 (OFS_VMLTPX + sizeof(TR_VMLTPX)) @@ -226,6 +231,9 @@ extern const pm_char STR_OPEN9X[]; #define STR_RETA123 (STR_OPEN9X + OFS_RETA123) #define STR_VPROTOS (STR_OPEN9X + OFS_VPROTOS) #define STR_POSNEG (STR_OPEN9X + OFS_POSNEG) +#if defined(PCBSKY9X) && defined(REVX) + #define STR_VOUTPUT_TYPE (STR_OPEN9X + OFS_VOUTPUT_TYPE) +#endif #define STR_VBLMODE (STR_OPEN9X + OFS_VBLMODE) #define STR_VCURVEFUNC (STR_OPEN9X + OFS_VCURVEFUNC) #define STR_VSIDE STR_VCURVEFUNC @@ -338,11 +346,14 @@ extern const pm_char STR_TIMER[]; extern const pm_char STR_ELIMITS[]; extern const pm_char STR_ETRIMS[]; extern const pm_char STR_TRIMINC[]; -extern const pm_char STR_DISPLAY_TRIMS[]; +extern const pm_char STR_DISPLAY_TRIMS[]; extern const pm_char STR_TTRACE[]; extern const pm_char STR_TTRIM[]; extern const pm_char STR_BEEPCTR[]; -extern const pm_char STR_USE_GLOBAL_FUNCS[]; +extern const pm_char STR_USE_GLOBAL_FUNCS[]; +#if defined(PCBSKY9X) && defined(REVX) + extern const pm_char STR_OUTPUT_TYPE[]; +#endif extern const pm_char STR_PROTO[]; extern const pm_char STR_PPMFRAME[]; extern const pm_char STR_MS[]; @@ -354,8 +365,8 @@ extern const pm_char STR_DEFAULT[]; extern const pm_char STR_CHECKTRIMS[]; extern const pm_char STR_SWASHTYPE[]; extern const pm_char STR_COLLECTIVE[]; -extern const pm_char STR_AILERON[]; -extern const pm_char STR_ELEVATOR[]; +extern const pm_char STR_AILERON[]; +extern const pm_char STR_ELEVATOR[]; extern const pm_char STR_SWASHRING[]; extern const pm_char STR_ELEDIRECTION[]; extern const pm_char STR_AILDIRECTION[]; @@ -435,17 +446,17 @@ extern const pm_char STR_SPLASHSCREEN[]; extern const pm_char STR_THROTTLEWARNING[]; extern const pm_char STR_SWITCHWARNING[]; extern const pm_char STR_TIMEZONE[]; -extern const pm_char STR_ADJUST_RTC[]; -extern const pm_char STR_GPS[]; +extern const pm_char STR_ADJUST_RTC[]; +extern const pm_char STR_GPS[]; extern const pm_char STR_GPSCOORD[]; extern const pm_char STR_VARIO[]; extern const pm_char STR_PITCH_AT_ZERO[]; extern const pm_char STR_PITCH_AT_MAX[]; extern const pm_char STR_REPEAT_AT_ZERO[]; extern const pm_char STR_RXCHANNELORD[]; -extern const pm_char STR_STICKS[]; -extern const pm_char STR_POTS[]; -extern const pm_char STR_SWITCHES[]; +extern const pm_char STR_STICKS[]; +extern const pm_char STR_POTS[]; +extern const pm_char STR_SWITCHES[]; extern const pm_char STR_SWITCHES_DELAY[]; extern const pm_char STR_SLAVE[]; extern const pm_char STR_MODESRC[]; @@ -678,8 +689,8 @@ extern const pm_char STR_MIXERS_MONITOR[]; extern const pm_char STR_PATH_TOO_LONG[]; extern const pm_char STR_VIEW_TEXT[]; extern const pm_char STR_FLASH_BOOTLOADER[]; -extern const pm_char STR_FLASH_EXTERNAL_DEVICE[]; -extern const pm_char STR_FLASH_INTERNAL_MODULE[]; +extern const pm_char STR_FLASH_EXTERNAL_DEVICE[]; +extern const pm_char STR_FLASH_INTERNAL_MODULE[]; extern const pm_char STR_WRITING[]; extern const pm_char STR_CONFIRM_FORMAT[]; extern const pm_char STR_EEBACKUP[]; diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 5d7ec730a..73b828952 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -173,6 +173,11 @@ #define LEN_POSNEG "\003" #define TR_POSNEG "POZ""NEG" +#if defined(PCBSKY9X) && defined(REVX) + #define LEN_VOUTPUT_TYPE "\011" + #define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0" +#endif + #define LEN_VCURVEFUNC "\003" #define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" @@ -597,6 +602,9 @@ #define TR_TTRIM TR("TrimVolnob.", INDENT "Trim jen volnoběh") #define TR_BEEPCTR TR("Středy \221\222", "Pípat středy \221\222") #define TR_USE_GLOBAL_FUNCS "Use Global Funcs" +#if defined(PCBSKY9X) && defined(REVX) + #define TR_OUTPUT_TYPE INDENT "Output" +#endif #define TR_PROTO INDENT "Protokol" #if defined(CPUARM) #define TR_PPMFRAME INDENT "PPM frame" diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index a8048b30d..f603e01e7 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -173,6 +173,11 @@ #define LEN_POSNEG "\003" #define TR_POSNEG "POS""NEG" +#if defined(PCBSKY9X) && defined(REVX) + #define LEN_VOUTPUT_TYPE "\011" + #define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0" +#endif + #define LEN_VCURVEFUNC "\003" #define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" @@ -596,6 +601,9 @@ #define TR_TTRIM TR("Gastrim", INDENT "Gas-Leerlauftrim") #define TR_BEEPCTR TR("Mitt.Piep","Mittelstell. -Pieps") #define TR_USE_GLOBAL_FUNCS "Globale Funkt verw." +#if defined(PCBSKY9X) && defined(REVX) + #define TR_OUTPUT_TYPE INDENT "Output" +#endif #define TR_PROTO TR(INDENT"Protok.",INDENT"Protokoll") #if defined(CPUARM) #define TR_PPMFRAME INDENT "PPM frame" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 2e06b8ed6..005388729 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -173,6 +173,11 @@ #define LEN_POSNEG "\003" #define TR_POSNEG "POS""NEG" +#if defined(PCBSKY9X) && defined(REVX) + #define LEN_VOUTPUT_TYPE "\011" + #define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0" +#endif + #define LEN_VCURVEFUNC "\003" #define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" @@ -596,6 +601,9 @@ #define TR_TTRIM TR("T-Trim", INDENT "Trim Idle Only") #define TR_BEEPCTR TR("Ctr Beep", "Center Beep") #define TR_USE_GLOBAL_FUNCS TR("Glob.Funcs", "Use Global Funcs") +#if defined(PCBSKY9X) && defined(REVX) + #define TR_OUTPUT_TYPE INDENT "Output" +#endif #define TR_PROTO TR(INDENT "Proto", INDENT "Protocol") #if defined(CPUARM) #define TR_PPMFRAME INDENT "PPM frame" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index ca6ad2156..4e7bbb0b4 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -165,6 +165,11 @@ #define LEN_POSNEG "\003" #define TR_POSNEG "POS""NEG" +#if defined(PCBSKY9X) && defined(REVX) + #define LEN_VOUTPUT_TYPE "\011" + #define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0" +#endif + #define LEN_VCURVEFUNC "\003" #define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" @@ -562,6 +567,9 @@ #define TR_TTRIM TR("Trim-A", INDENT "Trim Acelerad") #define TR_BEEPCTR TR("Ctr Beep","Center Beep") #define TR_USE_GLOBAL_FUNCS "Use Global Funcs" +#if defined(PCBSKY9X) && defined(REVX) + #define TR_OUTPUT_TYPE INDENT "Output" +#endif #define TR_PROTO TR(INDENT"Proto",INDENT"Protocol") #define TR_PPMFRAME "Trama PPM" #define TR_MS "ms" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 96f4ae3cf..7a205cb4d 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -165,6 +165,11 @@ #define LEN_POSNEG "\003" #define TR_POSNEG "POS""NEG" +#if defined(PCBSKY9X) && defined(REVX) + #define LEN_VOUTPUT_TYPE "\011" + #define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0" +#endif + #define LEN_VCURVEFUNC "\003" #define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" @@ -562,6 +567,9 @@ #define TR_TTRIM TR("T-Trim", INDENT "Throttle Trim") #define TR_BEEPCTR TR("Ctr Beep", "Center Beep") #define TR_USE_GLOBAL_FUNCS "Use Global Funcs" +#if defined(PCBSKY9X) && defined(REVX) + #define TR_OUTPUT_TYPE INDENT "Output" +#endif #define TR_PROTO TR(INDENT "Proto", INDENT "Protocol") #define TR_PPMFRAME TR("PPM frame", INDENT "PPM frame") #define TR_MS "ms" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index d127c149d..96a7c2fa0 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -173,6 +173,11 @@ #define LEN_POSNEG "\003" #define TR_POSNEG "POS""NEG" +#if defined(PCBSKY9X) && defined(REVX) + #define LEN_VOUTPUT_TYPE "\011" + #define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0" +#endif + #define LEN_VCURVEFUNC "\003" #define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" @@ -596,6 +601,9 @@ #define TR_TTRIM TR("Trim gaz", INDENT "Trim ralenti uniq.") #define TR_BEEPCTR TR("Bips centr", "Bips centrage") #define TR_USE_GLOBAL_FUNCS "Fonctions Globales" +#if defined(PCBSKY9X) && defined(REVX) + #define TR_OUTPUT_TYPE INDENT "Output" +#endif #define TR_PROTO TR(INDENT "Proto.", INDENT "Protocole") #if defined(CPUARM) #define TR_PPMFRAME INDENT "PPM frame" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index e879eba84..a5b0b2ac8 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -165,6 +165,11 @@ #define LEN_POSNEG "\003" #define TR_POSNEG "POS""NEG" +#if defined(PCBSKY9X) && defined(REVX) + #define LEN_VOUTPUT_TYPE "\011" + #define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0" +#endif + #define LEN_VCURVEFUNC "\003" #define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" @@ -562,6 +567,9 @@ #define TR_TTRIM TR("T-Trim", INDENT "Trim Motore") #define TR_BEEPCTR TR("Ctr Beep","Beep al centro") #define TR_USE_GLOBAL_FUNCS "Use Global Funcs" +#if defined(PCBSKY9X) && defined(REVX) + #define TR_OUTPUT_TYPE INDENT "Output" +#endif #define TR_PROTO TR(INDENT "Proto", INDENT "Protocollo") #define TR_PPMFRAME TR("PPM frame", INDENT "PPM frame") #define TR_MS "ms" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 7f9625a8b..6a3ac2575 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -177,6 +177,11 @@ #define LEN_POSNEG "\003" #define TR_POSNEG "POZ""NEG" +#if defined(PCBSKY9X) && defined(REVX) + #define LEN_VOUTPUT_TYPE "\011" + #define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0" +#endif + #define LEN_VCURVEFUNC "\003" #define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" @@ -600,6 +605,9 @@ #define TR_TTRIM TR("TryGaz", INDENT "TrymWolnObrotó") #define TR_BEEPCTR TR("ŚrodBeep", "Pikn.Środka") #define TR_USE_GLOBAL_FUNCS TR("Funk.Glb.","Użyj Funkcji Glb") +#if defined(PCBSKY9X) && defined(REVX) + #define TR_OUTPUT_TYPE INDENT "Output" +#endif #define TR_PROTO TR(INDENT "Proto", INDENT "Protokół") #if defined(CPUARM) #define TR_PPMFRAME INDENT "Ramka PPM" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 88c1129f1..b79af47fa 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -165,6 +165,11 @@ #define LEN_POSNEG "\003" #define TR_POSNEG "POS""NEG" +#if defined(PCBSKY9X) && defined(REVX) + #define LEN_VOUTPUT_TYPE "\011" + #define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0" +#endif + #define LEN_VCURVEFUNC "\003" #define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" @@ -562,6 +567,9 @@ #define TR_TTRIM TR("T-Trim", INDENT "T-Trim") #define TR_BEEPCTR "Ctr Beep" #define TR_USE_GLOBAL_FUNCS "Use Global Funcs" +#if defined(PCBSKY9X) && defined(REVX) + #define TR_OUTPUT_TYPE INDENT "Output" +#endif #define TR_PROTO INDENT"Proto" #define TR_PPMFRAME "PPM frame" #define TR_MS "ms" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 938175f1e..ce6b30db6 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -165,6 +165,11 @@ #define LEN_POSNEG "\003" #define TR_POSNEG "Pos""Neg" +#if defined(PCBSKY9X) && defined(REVX) + #define LEN_VOUTPUT_TYPE "\011" + #define TR_VOUTPUT_TYPE "OpenDrain""PushPull\0" +#endif + #define LEN_VCURVEFUNC "\003" #define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" @@ -562,6 +567,9 @@ #define TR_TTRIM TR("Gastrim", INDENT "Gastrim") #define TR_BEEPCTR TR("Cent.pip", "Centerpip") #define TR_USE_GLOBAL_FUNCS "Use Global Funcs" +#if defined(PCBSKY9X) && defined(REVX) + #define TR_OUTPUT_TYPE INDENT "Output" +#endif #define TR_PROTO TR(INDENT "Proto", INDENT "Protokoll") #define TR_PPMFRAME TR(INDENT "PPM-paket", INDENT "PPM-paket") #define TR_MS "ms"