From 24f93a7cbecbefe83c1abf99ba4d51f5f71d1ac4 Mon Sep 17 00:00:00 2001 From: 3djc Date: Thu, 19 Nov 2020 16:32:50 +0100 Subject: [PATCH] 3djc/2.4 add 2.3 pr (#8099) --- companion/src/CMakeLists.txt | 2 + companion/src/companion.qrc | 11 + companion/src/firmwares/boards.cpp | 46 +- companion/src/firmwares/boards.h | 25 +- companion/src/firmwares/generalsettings.cpp | 8 +- .../src/firmwares/opentx/opentxeeprom.cpp | 2 +- companion/src/firmwares/opentx/opentxeeprom.h | 1 + .../src/firmwares/opentx/opentxinterface.cpp | 33 +- companion/src/firmwares/rawsource.cpp | 2 +- companion/src/firmwares/rawswitch.cpp | 2 +- companion/src/generaledit/hardware.cpp | 41 +- companion/src/generaledit/hardware.h | 1 + .../src/images/simulator/TX12/bottom.png | Bin 0 -> 4854 bytes .../src/images/simulator/TX12/left-pagedn.png | Bin 0 -> 65193 bytes .../src/images/simulator/TX12/left-pageup.png | Bin 0 -> 65171 bytes .../src/images/simulator/TX12/left-rtn.png | Bin 0 -> 65265 bytes .../src/images/simulator/TX12/left-sys.png | Bin 0 -> 65500 bytes .../src/images/simulator/TX12/left-tele.png | Bin 0 -> 67104 bytes companion/src/images/simulator/TX12/left.png | Bin 0 -> 50629 bytes .../src/images/simulator/TX12/right-ent.png | Bin 0 -> 64511 bytes .../src/images/simulator/TX12/right-mdl.png | Bin 0 -> 64098 bytes companion/src/images/simulator/TX12/right.png | Bin 0 -> 49847 bytes companion/src/images/simulator/TX12/top.png | Bin 0 -> 20806 bytes companion/src/modeledit/curves.cpp | 1 + companion/src/simulation/CMakeLists.txt | 2 + companion/src/simulation/simulateduiwidget.h | 14 + .../src/simulation/simulateduiwidgetTX12.cpp | 67 + .../src/simulation/simulateduiwidgetTX12.ui | 258 + companion/src/simulation/simulatorwidget.cpp | 3 + companion/src/translations.cpp | 1 + companion/src/translations/companion_zh_TW.ts | 21736 ++++++++++++++++ radio/src/audio.cpp | 2 - radio/src/dataconstants.h | 8 +- radio/src/gui/128x64/model_curve_edit.cpp | 9 +- radio/src/gui/128x64/model_input_edit.cpp | 9 +- radio/src/gui/128x64/model_mix_edit.cpp | 9 +- radio/src/gui/128x64/model_select.cpp | 11 +- radio/src/gui/128x64/model_telemetry.cpp | 9 +- radio/src/gui/128x64/view_about.cpp | 5 +- radio/src/gui/128x64/view_channels.cpp | 9 +- radio/src/gui/128x64/view_main.cpp | 11 +- radio/src/gui/128x64/view_statistics.cpp | 30 +- radio/src/gui/212x64/model_telemetry.cpp | 9 +- radio/src/gui/colorlcd/model_telemetry.cpp | 6 +- radio/src/gui/common/stdlcd/model_mixes.cpp | 7 + .../src/gui/common/stdlcd/radio_hardware.cpp | 2 + .../src/gui/common/stdlcd/view_telemetry.cpp | 3 + radio/src/gui/navigation/navigation_x7.cpp | 8 + radio/src/lua/CMakeLists.txt | 1 + radio/src/lua/api_general.cpp | 11 + radio/src/opentx.h | 2 + radio/src/pulses/ghost.cpp | 5 +- radio/src/pulses/modules_helpers.h | 16 + radio/src/sdcard.h | 2 + radio/src/simu.cpp | 8 + radio/src/storage/storage_common.cpp | 3 +- radio/src/strhelpers.cpp | 2 +- radio/src/switches.cpp | 10 + .../targets/common/arm/stm32/adc_driver.cpp | 2 + .../arm/stm32/bootloader/CMakeLists.txt | 2 +- .../common/arm/stm32/bootloader/boot.cpp | 2 +- .../arm/stm32/rotary_encoder_driver.cpp | 2 +- radio/src/targets/horus/board.h | 7 +- radio/src/targets/nv14/board.h | 1 - radio/src/targets/taranis/CMakeLists.txt | 14 +- radio/src/targets/taranis/board.cpp | 8 +- radio/src/targets/taranis/board.h | 65 +- radio/src/targets/taranis/hal.h | 164 +- radio/src/targets/taranis/keys_driver.cpp | 38 +- radio/src/targets/taranis/lcd_driver_spi.cpp | 8 +- .../src/targets/taranis/telemetry_driver.cpp | 4 +- radio/src/telemetry/crossfire.cpp | 7 +- radio/src/telemetry/telemetry_sensors.cpp | 1 + radio/src/telemetry/telemetry_sensors.h | 3 +- radio/src/trainer.cpp | 84 +- radio/src/trainer.h | 1 + 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 | 18 +- radio/src/translations/se.h.txt | 7 +- radio/src/translations/untranslated.h | 3 + radio/util/build-firmware.py | 5 + radio/util/fwoptions.py | 12 + tools/build-companion-nightly.sh | 4 + tools/build-companion-release.sh | 4 + tools/build-radiomaster.py | 10 + tools/commit-tests.sh | 18 + 94 files changed, 22779 insertions(+), 205 deletions(-) create mode 100644 companion/src/images/simulator/TX12/bottom.png create mode 100755 companion/src/images/simulator/TX12/left-pagedn.png create mode 100755 companion/src/images/simulator/TX12/left-pageup.png create mode 100755 companion/src/images/simulator/TX12/left-rtn.png create mode 100755 companion/src/images/simulator/TX12/left-sys.png create mode 100755 companion/src/images/simulator/TX12/left-tele.png create mode 100755 companion/src/images/simulator/TX12/left.png create mode 100755 companion/src/images/simulator/TX12/right-ent.png create mode 100755 companion/src/images/simulator/TX12/right-mdl.png create mode 100755 companion/src/images/simulator/TX12/right.png create mode 100644 companion/src/images/simulator/TX12/top.png create mode 100644 companion/src/simulation/simulateduiwidgetTX12.cpp create mode 100644 companion/src/simulation/simulateduiwidgetTX12.ui create mode 100644 companion/src/translations/companion_zh_TW.ts diff --git a/companion/src/CMakeLists.txt b/companion/src/CMakeLists.txt index 72e28b4fd..e76779c62 100644 --- a/companion/src/CMakeLists.txt +++ b/companion/src/CMakeLists.txt @@ -343,6 +343,8 @@ if(PCB STREQUAL X7 AND PCBREV STREQUAL ACCESS) set(FLAVOUR x7access) elseif(PCB STREQUAL X7 AND PCBREV STREQUAL T12) set(FLAVOUR t12) +elseif(PCB STREQUAL X7 AND PCBREV STREQUAL TX12) + set(FLAVOUR tx12) elseif(PCB STREQUAL X9D+ AND PCBREV STREQUAL 2019) set(FLAVOUR x9d+2019) elseif(PCB STREQUAL X10 AND PCBREV STREQUAL EXPRESS) diff --git a/companion/src/companion.qrc b/companion/src/companion.qrc index cddc2fa3e..fbbacdb48 100644 --- a/companion/src/companion.qrc +++ b/companion/src/companion.qrc @@ -179,6 +179,17 @@ images/simulator/JumperT12/JumperT12-x.png images/simulator/JumperT12/JumperT12-center.png images/simulator/JumperT12/JumperT12-top.png + images/simulator/TX12/left.png + images/simulator/TX12/left-pageup.png + images/simulator/TX12/left-pagedn.png + images/simulator/TX12/left-rtn.png + images/simulator/TX12/left-sys.png + images/simulator/TX12/left-tele.png + images/simulator/TX12/right.png + images/simulator/TX12/right-ent.png + images/simulator/TX12/right-mdl.png + images/simulator/TX12/bottom.png + images/simulator/TX12/top.png images/simulator/JumperT16/left.png images/simulator/JumperT16/right.png images/simulator/JumperT16/top.png diff --git a/companion/src/firmwares/boards.cpp b/companion/src/firmwares/boards.cpp index 5e0ceeb86..35f7a0bab 100644 --- a/companion/src/firmwares/boards.cpp +++ b/companion/src/firmwares/boards.cpp @@ -85,6 +85,8 @@ uint32_t Boards::getFourCC(Type board) return 0x4078746F; case BOARD_RADIOMASTER_TX16S: return 0x3878746F; + case BOARD_RADIOMASTER_TX12: + return 0x4178746F; case BOARD_UNKNOWN: break; } @@ -111,6 +113,7 @@ int Boards::getEEpromSize(Board::Type board) case BOARD_TARANIS_X9DP_2019: case BOARD_TARANIS_X9E: case BOARD_JUMPER_T12: + case BOARD_RADIOMASTER_TX12: return EESIZE_TARANIS; case BOARD_UNKNOWN: return EESIZE_MAX; @@ -145,6 +148,7 @@ int Boards::getFlashSize(Type board) case BOARD_TARANIS_X9DP_2019: case BOARD_TARANIS_X9E: case BOARD_JUMPER_T12: + case BOARD_RADIOMASTER_TX12: return FSIZE_TARANIS; case BOARD_HORUS_X12S: case BOARD_X10: @@ -201,6 +205,20 @@ SwitchInfo Boards::getSwitchInfo(Board::Type board, int index) if (index < DIM(switches)) return switches[index]; } + else if (IS_RADIOMASTER_TX12(board)) { + const Board::SwitchInfo switches[] = { + {SWITCH_TOGGLE, "SA"}, + {SWITCH_3POS, "SB"}, + {SWITCH_3POS, "SC"}, + {SWITCH_TOGGLE, "SD"}, + {SWITCH_3POS, "SE"}, + {SWITCH_3POS, "SF"}, + {SWITCH_2POS, "SI"}, + {SWITCH_2POS, "SJ"} + }; + if (index < DIM(switches)) + return switches[index]; + } else if (IS_JUMPER_T12(board)) { const Board::SwitchInfo switches[] = { {SWITCH_3POS, "SA"}, @@ -213,7 +231,23 @@ SwitchInfo Boards::getSwitchInfo(Board::Type board, int index) if (index < DIM(switches)) return switches[index]; } - else if (IS_HORUS_OR_TARANIS(board)) { + else if (IS_FAMILY_HORUS_OR_T16(board)) { + const Board::SwitchInfo switches[] = { + {SWITCH_3POS, "SA"}, + {SWITCH_3POS, "SB"}, + {SWITCH_3POS, "SC"}, + {SWITCH_3POS, "SD"}, + {SWITCH_3POS, "SE"}, + {SWITCH_2POS, "SF"}, + {SWITCH_3POS, "SG"}, + {SWITCH_TOGGLE, "SH"}, + {SWITCH_2POS, "SI"}, + {SWITCH_2POS, "SJ"} + }; + if (index < DIM(switches)) + return switches[index]; + } + else if (IS_TARANIS(board)) { const Board::SwitchInfo switches[] = { {SWITCH_3POS, "SA"}, {SWITCH_3POS, "SB"}, @@ -263,7 +297,7 @@ int Boards::getCapability(Board::Type board, Board::Capability capability) case Pots: if (IS_TARANIS_X9LITE(board)) return 1; - else if (IS_TARANIS_SMALL(board) || IS_JUMPER_T12(board)) + else if (IS_TARANIS_SMALL(board)) return 2; else if (IS_TARANIS_X9E(board)) return 4; @@ -318,8 +352,8 @@ int Boards::getCapability(Board::Type board, Board::Capability capability) return 7; else if (IS_TARANIS_X7(board)) return 8; - else if (IS_JUMPER_T12(board)) - return 6; + else if (IS_FAMILY_T12(board)) + return 8; else if (IS_TARANIS_XLITE(board)) return 6; else if (board == Board::BOARD_TARANIS_X9DP_2019) @@ -334,6 +368,8 @@ int Boards::getCapability(Board::Type board, Board::Capability capability) case FactoryInstalledSwitches: if (IS_TARANIS_X9E(board)) return 8; + if (IS_FAMILY_T12(board)) + return 6; if (IS_HORUS_X12S(board)) return 8; else @@ -515,6 +551,8 @@ QString Boards::getBoardName(Board::Type board) return "Jumper T18"; case BOARD_RADIOMASTER_TX16S: return "Radiomaster TX16S"; + case BOARD_RADIOMASTER_TX12: + return "Radiomaster TX12"; default: return tr("Unknown"); } diff --git a/companion/src/firmwares/boards.h b/companion/src/firmwares/boards.h index 2ecf3c2fe..1e1588485 100644 --- a/companion/src/firmwares/boards.h +++ b/companion/src/firmwares/boards.h @@ -52,9 +52,10 @@ namespace Board { BOARD_JUMPER_T16, BOARD_RADIOMASTER_TX16S, BOARD_JUMPER_T18, + BOARD_RADIOMASTER_TX12, }; - constexpr int BOARD_TYPE_MAX = BOARD_JUMPER_T18; + constexpr int BOARD_TYPE_MAX = BOARD_RADIOMASTER_TX12; enum PotType { @@ -218,11 +219,21 @@ inline bool IS_RADIOMASTER_TX16S(Board::Type board) return board == Board::BOARD_RADIOMASTER_TX16S; } +inline bool IS_RADIOMASTER_TX12(Board::Type board) +{ + return board == Board::BOARD_RADIOMASTER_TX12; +} + inline bool IS_FAMILY_T16(Board::Type board) { return board == Board::BOARD_JUMPER_T16 || board == Board::BOARD_RADIOMASTER_TX16S || board == Board::BOARD_JUMPER_T18; } +inline bool IS_FAMILY_T12(Board::Type board) +{ + return board == Board::BOARD_JUMPER_T12 || board == Board::BOARD_RADIOMASTER_TX12; +} + inline bool IS_TARANIS_XLITE(Board::Type board) { return board == Board::BOARD_TARANIS_XLITE || board == Board::BOARD_TARANIS_XLITES; @@ -273,14 +284,14 @@ inline bool IS_TARANIS_X9E(Board::Type board) return board == Board::BOARD_TARANIS_X9E; } -inline bool IS_TARANIS(Board::Type board) -{ - return IS_TARANIS_X9(board) || IS_TARANIS_X7(board) || IS_TARANIS_X9LITE(board) || IS_TARANIS_XLITE(board) || IS_JUMPER_T12(board); -} - inline bool IS_TARANIS_SMALL(Board::Type board) { - return IS_TARANIS_X7(board) || IS_TARANIS_XLITE(board) || IS_TARANIS_X9LITE(board) || IS_JUMPER_T12(board); + return IS_TARANIS_X7(board) || IS_TARANIS_XLITE(board) || IS_TARANIS_X9LITE(board) || IS_FAMILY_T12(board); +} + +inline bool IS_TARANIS(Board::Type board) +{ + return IS_TARANIS_X9(board) || IS_TARANIS_SMALL(board); } inline bool IS_HORUS_X10(Board::Type board) diff --git a/companion/src/firmwares/generalsettings.cpp b/companion/src/firmwares/generalsettings.cpp index f307dbf26..005900c93 100644 --- a/companion/src/firmwares/generalsettings.cpp +++ b/companion/src/firmwares/generalsettings.cpp @@ -253,11 +253,11 @@ void GeneralSettings::setDefaultControlTypes(Board::Type board) potConfig[0] = Board::POT_WITHOUT_DETENT; potConfig[1] = Board::POT_WITH_DETENT; } - else if (IS_TARANIS(board)) { + else if (IS_FAMILY_T12(board)) { potConfig[0] = Board::POT_WITH_DETENT; potConfig[1] = Board::POT_WITH_DETENT; } - else if (IS_JUMPER_T12(board)) { + else if (IS_TARANIS(board)) { potConfig[0] = Board::POT_WITH_DETENT; potConfig[1] = Board::POT_WITH_DETENT; } @@ -329,14 +329,14 @@ void GeneralSettings::convert(RadioDataConversionState & cstate) } } - if (IS_JUMPER_T12(cstate.toType)) { + if (IS_FAMILY_T12(cstate.toType)) { if (IS_TARANIS_X9(cstate.fromType) || IS_FAMILY_HORUS_OR_T16(cstate.fromType)) { strncpy(switchName[4], switchName[5], sizeof(switchName[0])); strncpy(switchName[5], switchName[7], sizeof(switchName[0])); } } - else if (IS_JUMPER_T12(cstate.fromType)) { + else if (IS_FAMILY_T12(cstate.fromType)) { if (IS_TARANIS_X9(cstate.toType) || IS_FAMILY_HORUS_OR_T16(cstate.toType)) { strncpy(switchName[5], switchName[4], sizeof(switchName[0])); strncpy(switchName[7], switchName[5], sizeof(switchName[0])); diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index 5f02afee6..30666ca79 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -45,7 +45,7 @@ inline int MAX_SWITCHES(Board::Type board, int version) if (IS_TARANIS_X9D(board)) return 9; - if (IS_JUMPER_T12(board)) + if (IS_FAMILY_T12(board)) return 8; return Boards::getCapability(board, Board::Switches); diff --git a/companion/src/firmwares/opentx/opentxeeprom.h b/companion/src/firmwares/opentx/opentxeeprom.h index bb55b5687..aabbe2284 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.h +++ b/companion/src/firmwares/opentx/opentxeeprom.h @@ -36,6 +36,7 @@ #define TARANIS_X9LITE_VARIANT 0x0800 #define TARANIS_X9LITES_VARIANT 0x0801 #define JUMPER_T12_VARIANT 0x4001 +#define RADIOMASTER_TX12_VARIANT 0x4002 class OpenTxGeneralData: public TransformedField { public: diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index 005a29c40..2e35c51db 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -66,6 +66,8 @@ const char * OpenTxEepromInterface::getName() return "OpenTX for Jumper T18"; case BOARD_RADIOMASTER_TX16S: return "OpenTX for Radiomaster TX16S"; + case BOARD_RADIOMASTER_TX12: + return "OpenTX for Radiomaster TX12"; case BOARD_TARANIS_X9D: return "OpenTX for FrSky Taranis X9D"; case BOARD_TARANIS_X9DP: @@ -334,7 +336,9 @@ int OpenTxEepromInterface::save(uint8_t * eeprom, const RadioData & radioData, u else if (IS_JUMPER_T12(board)) { variant |= JUMPER_T12_VARIANT; } - + else if (IS_RADIOMASTER_TX12(board)) { + variant |= RADIOMASTER_TX12_VARIANT; + } OpenTxGeneralData generator((GeneralSettings &)radioData.generalSettings, board, version, variant); // generator.dump(); QByteArray data; @@ -520,7 +524,7 @@ int OpenTxFirmware::getCapability(::Capability capability) case MaxVolume: return 23; case MaxContrast: - if (IS_TARANIS_SMALL(board) || IS_JUMPER_T12(board)) + if (IS_TARANIS_SMALL(board)) return 30; else return 45; @@ -615,7 +619,7 @@ int OpenTxFirmware::getCapability(::Capability capability) case LcdWidth: if (IS_FAMILY_HORUS_OR_T16(board)) return 480; - else if (IS_TARANIS_SMALL(board) || IS_JUMPER_T12(board)) + else if (IS_TARANIS_SMALL(board)) return 128; else if (IS_TARANIS(board)) return 212; @@ -629,7 +633,7 @@ int OpenTxFirmware::getCapability(::Capability capability) case LcdDepth: if (IS_FAMILY_HORUS_OR_T16(board)) return 16; - else if (IS_TARANIS_SMALL(board) || IS_JUMPER_T12(board)) + else if (IS_TARANIS_SMALL(board)) return 1; else if (IS_TARANIS(board)) return 4; @@ -679,6 +683,8 @@ int OpenTxFirmware::getCapability(::Capability capability) return TARANIS_XLITE_VARIANT; else if (IS_JUMPER_T12(board)) return JUMPER_T12_VARIANT; + else if (IS_RADIOMASTER_TX12(board)) + return RADIOMASTER_TX12_VARIANT; else return 0; case MavlinkTelemetry: @@ -733,9 +739,9 @@ bool OpenTxFirmware::isAvailable(PulsesProtocol proto, int port) return true; case PULSES_PXX_XJT_X16: case PULSES_PXX_XJT_LR12: - return !IS_ACCESS_RADIO(board, id) && !IS_FAMILY_T16(board) && !IS_JUMPER_T12(board); + return !IS_ACCESS_RADIO(board, id) && !IS_FAMILY_T16(board) && !IS_FAMILY_T12(board); case PULSES_PXX_XJT_D8: - return !(IS_ACCESS_RADIO(board, id) || id.contains("eu")) && !IS_FAMILY_T16(board) && !IS_JUMPER_T12(board); + return !(IS_ACCESS_RADIO(board, id) || id.contains("eu")) && !IS_FAMILY_T16(board) && !IS_FAMILY_T12(board); case PULSES_ACCESS_ISRM: case PULSES_ACCST_ISRM_D16: return IS_ACCESS_RADIO(board, id); @@ -943,6 +949,11 @@ bool OpenTxEepromInterface::checkVariant(unsigned int version, unsigned int vari variantError = true; } } + else if (IS_RADIOMASTER_TX12(board)) { + if (variant != RADIOMASTER_TX12_VARIANT) { + variantError = true; + } + } else if (IS_TARANIS(board)) { if (variant != 0) { variantError = true; @@ -1273,6 +1284,16 @@ void registerOpenTxFirmwares() addOpenTxRfOptions(firmware, FLEX); registerOpenTxFirmware(firmware); + /* Radiomaster TX12 board */ + firmware = new OpenTxFirmware("opentx-tx12", QCoreApplication::translate("Firmware", "Radiomaster TX12"), BOARD_RADIOMASTER_TX12); + addOpenTxCommonOptions(firmware); + firmware->addOption("noheli", Firmware::tr("Disable HELI menu and cyclic mix support")); + firmware->addOption("nogvars", Firmware::tr("Disable Global variables")); + firmware->addOption("lua", Firmware::tr("Enable Lua custom scripts screen")); + addOpenTxFontOptions(firmware); + registerOpenTxFirmware(firmware); + addOpenTxRfOptions(firmware, FLEX + AFHDS3); + /* Radiomaster TX16S board */ firmware = new OpenTxFirmware("opentx-tx16s", Firmware::tr("Radiomaster TX16S / SE / Hall / Masterfire"), BOARD_RADIOMASTER_TX16S); addOpenTxFrskyOptions(firmware); diff --git a/companion/src/firmwares/rawsource.cpp b/companion/src/firmwares/rawsource.cpp index 92377fe0a..67a640c33 100644 --- a/companion/src/firmwares/rawsource.cpp +++ b/companion/src/firmwares/rawsource.cpp @@ -364,7 +364,7 @@ RawSource RawSource::convert(RadioDataConversionState & cstate) if (index >= 0) evt = RadioDataConversionState::EVT_CVRT; } - else if (IS_JUMPER_T12(cstate.toType) && (IS_TARANIS_X9(cstate.fromType) || IS_FAMILY_HORUS_OR_T16(cstate.fromType))) { + else if (IS_FAMILY_T12(cstate.toType) && (IS_TARANIS_X9(cstate.fromType) || IS_FAMILY_HORUS_OR_T16(cstate.fromType))) { // No SE and SG on T12 board index = toSwitchList.indexOf("SD"); if (index >= 0) diff --git a/companion/src/firmwares/rawswitch.cpp b/companion/src/firmwares/rawswitch.cpp index 8c1685a25..10d3f7fa3 100644 --- a/companion/src/firmwares/rawswitch.cpp +++ b/companion/src/firmwares/rawswitch.cpp @@ -200,7 +200,7 @@ RawSwitch RawSwitch::convert(RadioDataConversionState & cstate) if (newIdx >= 0) evt = RadioDataConversionState::EVT_CVRT; } - else if (IS_JUMPER_T12(cstate.toType) && (IS_TARANIS_X9(cstate.fromType) || IS_FAMILY_HORUS_OR_T16(cstate.fromType))) { + else if (IS_FAMILY_T12(cstate.toType) && (IS_TARANIS_X9(cstate.fromType) || IS_FAMILY_HORUS_OR_T16(cstate.fromType))) { // No SE and SG on T12 board newIdx = toSwitchList.indexOf("SD"); if (newIdx >= 0) diff --git a/companion/src/generaledit/hardware.cpp b/companion/src/generaledit/hardware.cpp index d718bd759..9d2e8e452 100644 --- a/companion/src/generaledit/hardware.cpp +++ b/companion/src/generaledit/hardware.cpp @@ -47,7 +47,15 @@ void HardwarePanel::setupSwitchType(int index, QLabel * label, AutoLineEdit * na label->setText("SJ"); } } - if (IS_JUMPER_T12(board)) { + else if (IS_RADIOMASTER_TX12(board)) { + if (index == 6) { + label->setText("SI"); + } + else if (index == 7) { + label->setText("SJ"); + } + } + else if (IS_FAMILY_T12(board)) { if (index == 4) { label->setText("SG"); } @@ -101,6 +109,15 @@ void HardwarePanel::setupSliderType(int index, QLabel *label, AutoLineEdit *name } } +bool HardwarePanel::isSwitch3Pos(int idx) +{ + Board::Type board = firmware->getBoard(); + Board::SwitchInfo switchInfo = Boards::getSwitchInfo(board, idx); + + switchInfo.config = Board::SwitchType(generalSettings.switchConfig[idx]); + return switchInfo.config == Board::SWITCH_3POS; +}; + HardwarePanel::HardwarePanel(QWidget * parent, GeneralSettings & generalSettings, Firmware * firmware): GeneralPanel(parent, generalSettings, firmware), ui(new Ui::Hardware) @@ -147,17 +164,17 @@ HardwarePanel::HardwarePanel(QWidget * parent, GeneralSettings & generalSettings setupSliderType(2, ui->ls2Label, ui->ls2Name, ui->ls2Type); setupSliderType(3, ui->rs2Label, ui->rs2Name, ui->rs2Type); - setupSwitchType(0, ui->saLabel, ui->saName, ui->saType); - setupSwitchType(1, ui->sbLabel, ui->sbName, ui->sbType); - setupSwitchType(2, ui->scLabel, ui->scName, ui->scType); - setupSwitchType(3, ui->sdLabel, ui->sdName, ui->sdType); - setupSwitchType(4, ui->seLabel, ui->seName, ui->seType); - setupSwitchType(5, ui->sfLabel, ui->sfName, ui->sfType, false); //switch does not support 3POS - setupSwitchType(6, ui->sgLabel, ui->sgName, ui->sgType); - setupSwitchType(7, ui->shLabel, ui->shName, ui->shType, false); //switch does not support 3POS - setupSwitchType(8, ui->siLabel, ui->siName, ui->siType); - setupSwitchType(9, ui->sjLabel, ui->sjName, ui->sjType); - setupSwitchType(10, ui->skLabel, ui->skName, ui->skType); + setupSwitchType(0, ui->saLabel, ui->saName, ui->saType, isSwitch3Pos(0)); + setupSwitchType(1, ui->sbLabel, ui->sbName, ui->sbType, isSwitch3Pos(1)); + setupSwitchType(2, ui->scLabel, ui->scName, ui->scType, isSwitch3Pos(2)); + setupSwitchType(3, ui->sdLabel, ui->sdName, ui->sdType, isSwitch3Pos(3)); + setupSwitchType(4, ui->seLabel, ui->seName, ui->seType, isSwitch3Pos(4)); + setupSwitchType(5, ui->sfLabel, ui->sfName, ui->sfType, isSwitch3Pos(5)); + setupSwitchType(6, ui->sgLabel, ui->sgName, ui->sgType, isSwitch3Pos(6)); + setupSwitchType(7, ui->shLabel, ui->shName, ui->shType, isSwitch3Pos(7)); + setupSwitchType(8, ui->siLabel, ui->siName, ui->siType, isSwitch3Pos(8)); + setupSwitchType(9, ui->sjLabel, ui->sjName, ui->sjType, isSwitch3Pos(9)); + setupSwitchType(10, ui->skLabel, ui->skName, ui->skType); // Here starts X9E, only 3 switches setupSwitchType(11, ui->slLabel, ui->slName, ui->slType); setupSwitchType(12, ui->smLabel, ui->smName, ui->smType); setupSwitchType(13, ui->snLabel, ui->snName, ui->snType); diff --git a/companion/src/generaledit/hardware.h b/companion/src/generaledit/hardware.h index 39d3fcd53..3b63a1d77 100644 --- a/companion/src/generaledit/hardware.h +++ b/companion/src/generaledit/hardware.h @@ -63,6 +63,7 @@ class HardwarePanel : public GeneralPanel Ui::Hardware *ui; void setValues(); + bool isSwitch3Pos(int idx); }; #endif // _HARDWARE_H_ diff --git a/companion/src/images/simulator/TX12/bottom.png b/companion/src/images/simulator/TX12/bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..52a35bceb27b25d8f3aee9bf69fd7e90eeb17d72 GIT binary patch literal 4854 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 z z)8-|%m!40eCKxdXr&wXJ1Hpat;C>=Lz6?R1wjGFP;?jR9eh-m_3HaaHaD5J|ymqAIjwrrmI^o0jPFiXF>8R==p^Uz4r!s!I3 z2`SNrqLbC#d8<37co`~}d#kvl%{1>zWqvuz?i0L^zS)WY-D~J{-Ptet8K>W|Xw`l` zvDOYi1Y*TtaCrPn?viI|)(0Y7z5Aboz<^M_g$F=*j1G6b>Ufn*fBFfC9Ix}tk*0+q zNbpQ$5k}W5Xo3)WIP!>ev}_*G6wig1j$r@ZNj~osiK}wOF1085>ORWWJ+MR+ydOzlhVw52>qK~swZ3W|smO*dc6+xy`36Q%eN8R{i4 zw{h81%xZ+g&%2Z`H(3RWkgq;$3CYyEMlIg6@^wVpt;YR)e>@Awrev|;13Z)0JFt~p zU++i8Z~i?QlhtNVG$34S zV1jkpD9|8O`+sOQ3jYc z4a{d=lJI|>&*#pkH9i1Q@gRpFB_SL@}P>G}z;z4%kfkQAc%K zV0%38fe(*)khH7>Jqx95u>-5ZJq6FYv%#Y50!Nk#zYQRZ|R)2`Z) zDXlrD9v*U}x8ORu_fPx(X#)_4ZRd}V={fwIRJ?Wk1Wc`uIG)hB^RULpb~(@~Gz3r= zCdtqoFGr-#Q|UT7fVO!BeD(bbs~0n-X`l~s30Ioet;hNcq{NWN)Qcn*I&k&|;IS zJ-_To?|o?)2W8F_($!1anB6dzT-DrqUR%7B;}fQ<-9abGE8f580dn#$SZJ8aB*+2i z$8+S_ycNZl3^Kc}V`X1F#dR-uzopO8DElz=;M|up*1x%?1tm%(>C}Lz}N(-(CPETMr8k_2kbIp(?LUCVoEW)FS*5s@7p9?BX_{>{> zi#22wARxn0!42!F&svEb7Ask)y_3>19piwcE(=c zW(j2!G6$HxAi)sqHDY)KVRS2YKiHiViYRW9w4KAWE*6T3!_eeW~b( z_{nwV4U15*CKS>edIxZ)(Y#gQp8{7NYcD=7x}2F*v^)C`xl(V4(0O?yAO&>}Sv59QfkG%V6ozf7x}V)f3>Ab1^G z_;MlSK2;o^2I3eri#-!1*M@r*VtNJ98FHD5c*-8lBn7e!4F`#LYzK)N@h71UAfYRs z8L?Q4(em|bOv+09kNl3C8|aOPfPiTIuJX>L0|bSOLXVEt^Hu;-7YT;)b#roIfpKVZ zoozzFDJtAMbf!rKNy-g51w$FEGla@A4SecoUE+iBe;u7;KxJPW#j_{ZRFjRHZELb^ z+vcRnwlUS@sV3XDZ8zC`&;PyO`f|JH+>S?;3Tp_VG$i@Ww&}|A z*+v>Ktw&XHxPESx+l?Ag93lz{+7-{+s!32Pre7kz-FL8h)+xYu;KRY;28&JBBJ4y! z*A|?Py%vAKk^u?~z6!|1Dq`fx`d&T$9S5tl z*vw*GCkmf{k?Q*V1|J>>AsZHriBFj_Cse6~N|1QCFnsclO17Yd50ej0oB|g_LF|Ea@Ljq(F!yXi*0F`y6 zX;reIrWmC8^}x1J8CCWG6Xb?TIi}0*ZN}_<6De3s-oqQ ziaDZrd5HsJ?-j$@1~{6;9wSgDe2E(2eR&bdG9E~d27~L^6N2+0*ONKWX1m>-!_A4N zGO5-#w>#4<4dJm6X)3X%Twst<;wY;Z6)aj|5{pb{!3xuV3bYxqJ=s<9{`LJKT475$ z-DMxPYIqC2L(Th~y1Pn?F`i5U(c^}Vkr6_fxk&d}F6GFn`8?xLJmi;Nk_!n13m&_G z!ZjW5VP1_eTd?k-J}m(>LsN|a`PDls$} z8mSEe@1)iPL2|fM$5ipSDKJzEZ7_KvRpk?6Fz)egG}%$C7p&*;(6#O49TMKOvDU`)VJlNBCxGTr?Re@>zm+OuUO@z zsc#7tOisiwhtu-74v?Y=+QZ#Y`@#W&{I8?ffJ^Z(s=^bwbIz%!p0408G-D9;T!L!? zF`i;?&(pVj)12PG+Z@j+$3xe4kW<52xzx!ot>F=j#jju&fiE~R;6Gry#(|sXph}AFp4gyX7ocnX8$3`L8cR`zy*oSaFZWDpqh($3SCysdJfDQ#t zWn0l|m3iR&oI>CN6ykP%{8v`gmnbc?=!PRVXyf&MsNp?CW?UV)*azp3n08hfSZ?2& zvLLFFg z7)hP1$1&4<5RtMC{wb#c5?ogo0jK=WA5SaQTbdHh;Yd74s@Lr0wkQuEZd4Ky#Gu8@ zncv(ziNHx0*F-|jq!OM)RxI2SbpU5bK6}3+w^x8-ExUf!tyl&gVi=rIN-M3okVYz3 zRMB*U7D=U05)+%(>#0+7{~(ZN<^nmC0Rb&s7RSkxkq^jfuhj+lEcr0glhio|l_oLr z^9qZQhW`>LA<&D4Bkeegi2hyzdz5X^+4)dYX=Y?2I~ScfW66TIR#I+rk=1(E+Gv+H zR%`;BJ&+3hK|yQHC$i$IE^E!xCMt!9mXPP@Nt1FMJHL7=^8>OgLy;4}_qGBSH&p9= zeP@qTPV(d(0TjhU9J6Rvip|I)x>2oCzjf8fWKp-P=iid549$o+^1^Nodg%_9ED)DPnJ1)+ryn-DDHOD1zGKoYy8}3z#$i26B)AT2j zo8Q+w?h7AaL@$H#mfg;hk`GGTSf2o-p?;uAATAb2Z3gJFGPYkb4xCr+2_!>3dv@

|SjZXz*`ld;1=?%*O)L(J(0CymdS< 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 literal 0 HcmV?d00001 diff --git a/companion/src/images/simulator/TX12/left-pageup.png b/companion/src/images/simulator/TX12/left-pageup.png new file mode 100755 index 0000000000000000000000000000000000000000..203fd73e705f7ddad5bd93da39aa1e40aca05654 GIT binary patch literal 65171 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 literal 0 HcmV?d00001 diff --git a/companion/src/images/simulator/TX12/left-rtn.png b/companion/src/images/simulator/TX12/left-rtn.png new file mode 100755 index 0000000000000000000000000000000000000000..8269d8853c762b0303c357d7ede59ddc1879f4e6 GIT binary patch literal 65265 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 Zh>>lq4Fl^TNTwPC30i7Cz~X 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�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 OyyT@-r0OJ1g8v77oO}2H literal 0 HcmV?d00001 diff --git a/companion/src/images/simulator/TX12/left.png b/companion/src/images/simulator/TX12/left.png new file mode 100755 index 0000000000000000000000000000000000000000..e7f5522c1f51b8773c33451ccc984acd3e022867 GIT binary patch literal 50629 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 literal 0 HcmV?d00001 diff --git a/companion/src/images/simulator/TX12/right-mdl.png b/companion/src/images/simulator/TX12/right-mdl.png new file mode 100755 index 0000000000000000000000000000000000000000..4343626eab3d888aca91a23c6874782c90ab1f52 GIT binary patch literal 64098 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 Hu0mjfNGcz0 literal 0 HcmV?d00001 diff --git a/companion/src/images/simulator/TX12/right.png b/companion/src/images/simulator/TX12/right.png new file mode 100755 index 0000000000000000000000000000000000000000..0f33cae7cae140354fab6b860ce77344765156cd GIT binary patch literal 49847 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 literal 0 HcmV?d00001 diff --git a/companion/src/images/simulator/TX12/top.png b/companion/src/images/simulator/TX12/top.png new file mode 100644 index 0000000000000000000000000000000000000000..ceb68a4c10ca9ba712bf460aeb7fe7c221b60544 GIT binary patch literal 20806 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 Hu0mjfc|BOv literal 0 HcmV?d00001 diff --git a/companion/src/modeledit/curves.cpp b/companion/src/modeledit/curves.cpp index 662dc61c4..da056964e 100644 --- a/companion/src/modeledit/curves.cpp +++ b/companion/src/modeledit/curves.cpp @@ -412,6 +412,7 @@ void Curves::onPointEdited() model->curves[currentCurve].points[index].x = spnx[index]->value(); model->curves[currentCurve].points[index].y = spny[index]->value(); updateCurve(); + updateCurvePoints(); emit modified(); } } diff --git a/companion/src/simulation/CMakeLists.txt b/companion/src/simulation/CMakeLists.txt index 462d5693f..d2d6c77de 100644 --- a/companion/src/simulation/CMakeLists.txt +++ b/companion/src/simulation/CMakeLists.txt @@ -15,6 +15,7 @@ set(simulation_SRCS simulateduiwidgetJumperT12.cpp simulateduiwidgetJumperT16.cpp simulateduiwidgetJumperT18.cpp + simulateduiwidgetTX12.cpp simulateduiwidgetTX16S.cpp simulatorinterface.cpp simulatormainwindow.cpp @@ -41,6 +42,7 @@ set(simulation_UIS simulateduiwidgetJumperT12.ui simulateduiwidgetJumperT16.ui simulateduiwidgetJumperT18.ui + simulateduiwidgetTX12.ui simulateduiwidgetTX16S.ui simulatormainwindow.ui simulatorstartupdialog.ui diff --git a/companion/src/simulation/simulateduiwidget.h b/companion/src/simulation/simulateduiwidget.h index 8419840c5..66939f429 100644 --- a/companion/src/simulation/simulateduiwidget.h +++ b/companion/src/simulation/simulateduiwidget.h @@ -115,6 +115,7 @@ namespace Ui { class SimulatedUIWidgetJumperT16; class SimulatedUIWidgetJumperT18; class SimulatedUIWidgetTX16S; + class SimulatedUIWidgetTX12; } class SimulatedUIWidget9X: public SimulatedUIWidget @@ -265,6 +266,19 @@ class SimulatedUIWidgetJumperT18: public SimulatedUIWidget Ui::SimulatedUIWidgetJumperT18 * ui; }; +class SimulatedUIWidgetTX12: public SimulatedUIWidget +{ + Q_OBJECT + + public: + explicit SimulatedUIWidgetTX12(SimulatorInterface * simulator, QWidget * parent = nullptr); + virtual ~SimulatedUIWidgetTX12(); + + private: + Ui::SimulatedUIWidgetTX12 * ui; +}; + + class SimulatedUIWidgetTX16S: public SimulatedUIWidget { Q_OBJECT diff --git a/companion/src/simulation/simulateduiwidgetTX12.cpp b/companion/src/simulation/simulateduiwidgetTX12.cpp new file mode 100644 index 000000000..8e7c518f0 --- /dev/null +++ b/companion/src/simulation/simulateduiwidgetTX12.cpp @@ -0,0 +1,67 @@ +#include "simulateduiwidget.h" +#include "ui_simulateduiwidgetTX12.h" + +// NOTE: RadioUiAction(NUMBER,...): NUMBER relates to enum EnumKeys in the specific board.h + +SimulatedUIWidgetTX12::SimulatedUIWidgetTX12(SimulatorInterface *simulator, QWidget * parent): + SimulatedUIWidget(simulator, parent), + ui(new Ui::SimulatedUIWidgetTX12) +{ + RadioUiAction * act; + + ui->setupUi(this); + + // add actions in order of appearance on the help menu + + act = new RadioUiAction(5, QList() << Qt::Key_Up, SIMU_STR_HLP_KEY_UP, SIMU_STR_HLP_ACT_MDL); + addRadioWidget(ui->rightbuttons->addArea(QRect(60, 5, 90, 60), "TX12/right-mdl.png", act)); + + m_mouseMidClickAction = new RadioUiAction(1, QList() << Qt::Key_Enter << Qt::Key_Return, SIMU_STR_HLP_KEYS_ACTIVATE, SIMU_STR_HLP_ACT_ROT_DN); + addRadioWidget(ui->rightbuttons->addArea(QRect(45, 100, 70, 120), "TX12/right-ent.png", m_mouseMidClickAction)); + + act = new RadioUiAction(4, QList() << Qt::Key_Left, SIMU_STR_HLP_KEY_LFT, SIMU_STR_HLP_ACT_SYS); + addRadioWidget(ui->leftbuttons->addArea(QRect(35, 5, 80, 50), "TX12/left-sys.png", act)); + + act = new RadioUiAction(6, QList() << Qt::Key_Right, SIMU_STR_HLP_KEY_RGT, SIMU_STR_HLP_ACT_TELE); + addRadioWidget(ui->leftbuttons->addArea(QRect(90, 210, 80, 35), "TX12/left-tele.png", act)); + + act = new RadioUiAction(3, QList() << Qt::Key_PageDown, SIMU_STR_HLP_KEY_PGDN, SIMU_STR_HLP_ACT_PGDN); + addRadioWidget(ui->leftbuttons->addArea(QRect(75, 125, 80, 35), "TX12/left-pagedn.png", act)); + + act = new RadioUiAction(2, QList() << Qt::Key_PageUp, SIMU_STR_HLP_KEY_PGUP, SIMU_STR_HLP_ACT_PGUP); + addRadioWidget(ui->leftbuttons->addArea(QRect(80, 170, 80, 35), "TX12/left-pageup.png", act)); + + act = new RadioUiAction(0, QList() << Qt::Key_Down << Qt::Key_Delete << Qt::Key_Escape << Qt::Key_Backspace, SIMU_STR_HLP_KEYS_EXIT, SIMU_STR_HLP_ACT_EXIT); + addRadioWidget(ui->leftbuttons->addArea(QRect(70, 85, 80, 35), "TX12/left-rtn.png", act)); + + m_scrollUpAction = new RadioUiAction(-1, QList() << Qt::Key_Minus << Qt::Key_Equal << Qt::Key_Left, SIMU_STR_HLP_KEYS_GO_LFT, SIMU_STR_HLP_ACT_ROT_LFT); + m_scrollDnAction = new RadioUiAction(-1, QList() << Qt::Key_Plus << Qt::Key_Right, SIMU_STR_HLP_KEYS_GO_RGT, SIMU_STR_HLP_ACT_ROT_RGT); + connectScrollActions(); + + m_backlightColors << QColor(215, 243, 255); // X7 Blue + m_backlightColors << QColor(166,247,159); + m_backlightColors << QColor(247,159,166); + m_backlightColors << QColor(255,195,151); + m_backlightColors << QColor(247,242,159); + + setLcd(ui->lcd); + + QString css = "#radioUiWidget {" + "background-color: qlineargradient(spread:reflect, x1:0, y1:0, x2:0, y2:1," + "stop:0 rgba(255, 255, 255, 255)," + "stop:0.757062 rgba(241, 238, 238, 255)," + "stop:1 rgba(247, 245, 245, 255));" + "}"; + + QTimer * tim = new QTimer(this); + tim->setSingleShot(true); + connect(tim, &QTimer::timeout, [this, css]() { + emit customStyleRequest(css); + }); + tim->start(100); +} + +SimulatedUIWidgetTX12::~SimulatedUIWidgetTX12() +{ + delete ui; +} diff --git a/companion/src/simulation/simulateduiwidgetTX12.ui b/companion/src/simulation/simulateduiwidgetTX12.ui new file mode 100644 index 000000000..8d51ba2e6 --- /dev/null +++ b/companion/src/simulation/simulateduiwidgetTX12.ui @@ -0,0 +1,258 @@ + + + SimulatedUIWidgetTX12 + + + + 0 + 0 + 641 + 272 + + + + + 0 + 0 + + + + + 641 + 272 + + + + + 641 + 272 + + + + Taranis TX12 Simulator + + + background-color: qlineargradient(spread:reflect, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(255, 255, 255, 255), stop:0.757062 rgba(241, 238, 238, 255), stop:1 rgba(247, 245, 245, 255)); + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + + 196 + 253 + + + + + 196 + 253 + + + + background:url(:/images/simulator/TX12/left.png); + + + + + + + + 0 + 0 + + + + + 256 + 128 + + + + + 424 + 128 + + + + background-color: rgb(215, 243, 255); + + + + + + + + 0 + 0 + + + + + 189 + 253 + + + + + 189 + 253 + + + + background:url(:/images/simulator/TX12/right.png) + + + + + + + + 0 + 0 + + + + + 261 + 101 + + + + + 261 + 101 + + + + background:url(:/images/simulator/TX12/top.png) + + + + + + + + 0 + 0 + + + + + 261 + 24 + + + + + 261 + 24 + + + + background:url(:/images/simulator/TX12/bottom.png) + + + + + + + + 0 + 0 + + + + + 0 + 10 + + + + + 16777215 + 12 + + + + + 0 + 12 + + + + background-color: rgb(255, 255, 255); + + + + + + + + + + + 0 + 0 + + + + + 0 + 10 + + + + + 16777215 + 10 + + + + background-color: rgb(247, 245, 245); + + + + + + + + + + + LcdWidget + QWidget +

lcdwidget.h
+ 1 + + + ButtonsWidget + QWidget +
buttonswidget.h
+ 1 +
+ + + + diff --git a/companion/src/simulation/simulatorwidget.cpp b/companion/src/simulation/simulatorwidget.cpp index f70813442..cab7600d4 100644 --- a/companion/src/simulation/simulatorwidget.cpp +++ b/companion/src/simulation/simulatorwidget.cpp @@ -97,6 +97,9 @@ SimulatorWidget::SimulatorWidget(QWidget * parent, SimulatorInterface * simulato case Board::BOARD_JUMPER_T18: radioUiWidget = new SimulatedUIWidgetJumperT18(simulator, this); break; + case Board::BOARD_RADIOMASTER_TX12: + radioUiWidget = new SimulatedUIWidgetTX12(simulator, this); + break; case Board::BOARD_RADIOMASTER_TX16S: radioUiWidget = new SimulatedUIWidgetTX16S(simulator, this); break; diff --git a/companion/src/translations.cpp b/companion/src/translations.cpp index 76d63b425..415d00ba8 100644 --- a/companion/src/translations.cpp +++ b/companion/src/translations.cpp @@ -48,6 +48,7 @@ QStringList const Translations::getAvailableTranslations() << "ru_RU" << "sv_SE" << "zh_CN" + << "zh_TW" << "ja_JP" ; } return locales; diff --git a/companion/src/translations/companion_zh_TW.ts b/companion/src/translations/companion_zh_TW.ts new file mode 100644 index 000000000..54b71926b --- /dev/null +++ b/companion/src/translations/companion_zh_TW.ts @@ -0,0 +1,21736 @@ + + + + + AileronsPage + + + No + 模型嚮導中副翼連線方式的設定 + 没有副翼 + + + + Yes, controlled by a single channel + 模型嚮導中副翼連線方式的設定 + 有副翼,使用一個接收機通道控制 + + + + Yes, controlled by two channels + 模型嚮導中副翼連線方式的設定 + 有副翼,使用兩個接收機通道控制 + + + + <br>First Aileron Channel: + <br>第一個副翼通道: + + + + Second Aileron Channel: + 第二個副翼通道: + + + + AirbrakesPage + + + No + 沒有空氣剎車 + + + + Yes, controlled by a single channel + 有空氣剎車,使用一個通道控制 + + + + Yes, controlled by two channels + 有空氣剎車,使用兩個通道控制 + + + + <br>First Airbrake Channel: + <br>第一個空氣剎車通道: + + + + Second Airbrake Channel: + 第二個空氣剎車通道: + + + + AppData + + + Application Settings have been saved to + %1 + + + + + Could not save Application Settings to file "%1" + + + + + because the file could not be saved (check access permissions). + + + + + for unknown reasons. + + + + + AppMessages + + + Show this message again at next startup? + + + + + AppPreferencesDialog + + + + + + + + + + Edit Settings + 此之後位置在主菜單中的settings-->settings + 首選項 + + + + + + + + + + + Radio Profile + 遙控器檔案可以有多個,對應不同的遙控器 + 遙控器檔案 + + + + + + + + + + + Profile Name + 檔案名稱 + + + + + + + + + + + Radio Type + 遙控器型號 + + + + + + + + + + + Menu Language + 遙控器檔案中 + 菜單語言 + + + + + + + + + + + Build Options + 編譯選項 + + + + + + + + + + + Splash Screen + 遙控器檔案中 + 開機畫面 + + + + + + + + + + + Other Settings + 其他設置 + + + + + + + + + + + SD Structure path + SD卡目錄 + + + + + + + + + + + + + + + + + + + The profile specific folder, if set, will override general Backup folder + 制定檔案目錄,如果設定此目錄,將代替默認備份目錄 + + + + + + + + + + + Backup folder + 備份目錄 + + + + + + + + + + + If set it will override the application general setting + 如果設置將會代替程序一般設定 + + + + + + + + + + + if set, will override general backup enable + 如果設定將會覆蓋一般備份允許選項 + + + + + + + + + + + + + + + + + + + Enable automatic backup before writing firmware + 寫入韌體前允許自動備份 + + + + + + + + + + + General Settings + 一般設定 + + + + + + + + + + + Default Stick Mode + 默認搖桿模式 + + + + + + + + + + + Mode selection: + +Mode 1: + Left stick: Elevator, Rudder + Right stick: Throttle, Aileron + +Mode 2: + Left stick: Throttle, Rudder + Right stick: Elevator, Aileron + +Mode 3: + Left stick: Elevator, Aileron + Right stick: Throttle, Rudder + +Mode 4: + Left stick: Throttle, Aileron + Right stick: Elevator, Rudder + + + 遙控器檔案中 + 模式選擇: + +日本手 (左手升降方向-右手油門副翼) +美國手 (左手油門方向-右手升降副翼) +中國手 (左手升降副翼-右手油門方向) +日本手 (左手油門副翼-右手升降方向) + + + + + + + + + + + + + Mode 1 (RUD ELE THR AIL) + 遥控器档案中 + MODE1 日本手 ↕升降↔方向 ↕油門↔副翼 + + + + + + + + + + + Mode 2 (RUD THR ELE AIL) + MODE2 美國手 ↕油門↔方向 ↕升降↔副翼 + + + + + + + + + + + Mode 3 (AIL ELE THR RUD) + MODE3 中國手 ↕升降↔副翼 ↕油門↔方向 + + + + + + + + + + + Mode 4 (AIL THR ELE RUD) + MODE4 模式4 ↕油門↔副翼 ↕升降↔方向 + + + + + + + + + + + Default Channel Order + 遙控器檔案中 + 默認通道順序 + + + + + + + + + + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + <html><head/><body><p>通道順序</p><p><br/></p><p>定義了新建模型時默認設置的通道順序</p></body></html> + + + + + + + + + + + R E T A + 方向 升降 油門 副翼 [R E T A] + + + + + + + + + + + R E A T + 方向 升降 副翼 油門 [R E A T] + + + + + + + + + + + R T E A + 方向 油門 升降 副翼 [R T E A] + + + + + + + + + + + R T A E + 方向 油門 副翼 升降 [R T A E] + + + + + + + + + + + R A E T + 方向 副翼 升降 油門 [R A E T] + + + + + + + + + + + R A T E + 方向 副翼 油門 升降 [R A T E] + + + + + + + + + + + E R T A + 升降 方向 油門 副翼 [E R T A] + + + + + + + + + + + E R A T + 升降 方向 副翼 油門 [E R A T] + + + + + + + + + + + E T R A + 升降 油門 方向 副翼 [E T R A] + + + + + + + + + + + E T A R + 升降 油門 副翼 方向 [E T A R] + + + + + + + + + + + E A R T + 升降 副翼 方向 油門 [E A R T] + + + + + + + + + + + E A T R + 升降 副翼 油門 方向 [E A T R] + + + + + + + + + + + T R E A + 油門 方向 升降 副翼 [T R E A] + + + + + + + + + + + T R A E + 油門 方向 副翼 升降 [T R A E] + + + + + + + + + + + T E R A + 油門 升降 方向 副翼 [T E R A] + + + + + + + + + + + T E A R + 油門 升降 副翼 方向 [T E A R] + + + + + + + + + + + T A R E + 油門 副翼 方向 升降 [T A R E] + + + + + + + + + + + T A E R + 油門 副翼 升降 方向 [T A E R] + + + + + + + + + + + A R E T + 副翼 方向 升降 油門 [A R E T] + + + + + + + + + + + A R T E + 副翼 方向 油門 升降 [A R T E] + + + + + + + + + + + A E R T + 副翼 升降 方向 油門 [A E R T] + + + + + + + + + + + A E T R + 副翼 升降 油門 方向 [A E T R] + + + + + + + + + + + A T R E + 副翼 油門 方向 升降 [A T R E] + + + + + + + + + + + A T E R + 副翼 油門 升降 方向 [A T E R] + + + + + + + + + + + Append version number to FW file name + 將版本號添加到韌體文件的文件名中 + + + + + + + + + + + Offer to write FW to Tx after download + 下載完成後提示將韌體寫入到遙控器 + + + + + + + + + + + Action on New Model + + + + + + + + + + + + Screenshot capture folder + + + + + + + + + + + + Clear Image + 清除圖片 + + + + + + + + + + + Select Image + 遙控器檔案中 + 選擇圖片 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Select Folder + 選擇目錄 + + + + + + + + + + + Application Settings + 程序首選項 + + + + + + + + + + + Automatic check for Companion updates + 自動檢查 Companion 版本更新 + + + + + + + + + + + most recently used files + + + + + + + + + + + + Startup Settings + + + + + + + + + + + + Remember + + + + + + + + + + + + Show splash screen when Companion starts + Companion 啟動時顯示啟動畫面 + + + + + + + + + + + Automatic check for OpenTX firmware updates + 自動檢查 OpenTX 韌體版本更新 + + + + + + + + + + + Output Logs Folder + + + + + + + + + + + + <html><head/><body><p>This option maintains the behaviour from older OpenTx versions where empty model slots are preserved when a model is deleted or moved. </p><p>When this option is de-selected, the other models may be re-arranged to fill the gap left by the removed model.</p></body></html> + + + + + + + + + + + + Remove empty model slots when deleting models (only applies for radios w/out categories) + + + + + + + + + + + + Use model wizard + + + + + + + + + + + + Open model editor + + + + + + + + + + + + Just create the model + + + + + + + + + + + + Debug Output Logging + + + + + + + + + + + + <html><head/><body><p>Keep a log of all debugging messages generated by the desktop Companion/Simulator applications. An OpenTX developer may request this to help diagnose an issue.</p></body></html> + + + + + + + + + + + + Application (Companion/Simulator) + + + + + + + + + + + + <html><head/><body><p>Keep a log of all messages generated by the radio firmware when running in Simulator. This is the same information one would also see in the Simulator <span style=" font-style:italic;">Debug Output</span> window.</p></body></html> + + + + + + + + + + + + Radio Firmware (in Simulator) + + + + + + + + + + + + Splash Screen Library + 開機畫面圖片庫 + + + + + + + + + + + Google Earth Executable + Google Earch 可執行文件 + + + + + + + + + + + User Splash Screens + 自定義開機畫面 + + + + + + + + + + + Automatic Backup Folder + 自動備份目錄 + + + + + + + + + + + Only show user splash images + 只顯示自定義開機畫面 + + + + + + + + + + + Show user and companion splash images + 顯示自定義和系統開機畫面 + + + + + + + + + + + Select Executable + 選擇可執行文件 + + + + + + + + Release channel + + + + + + + + + Releases (stable) + + + + + + + + + Release candidates (testing) + + + + + + + + + Nightly builds (unstable) + + + + + + + + + + + + Simulator Settings + 模擬器設置 + + + + + + + + + + + Calibrate + 校準 + + + + + + + + + + + Blue + 藍色 + + + + + + + + + + + Green + 綠色 + + + + + + + + + + + Red + 紅色 + + + + + + + + + + + Orange + 橙色 + + + + + + + + + + + Yellow + 黄色 + + + + + + + + + + + Only capture to clipboard + 只截圖到剪貼板中 + + + + + + + + + + + Enable + 使用遊戲桿 + + + + + + + + + + + Joystick + 遊戲桿 + + + + + + + + + + + Simulator BackLight + 模擬器背光顏色 + + + + + + + + + + + Remember simulator switch values + 關閉模擬器後記憶開關位置 + + + + + + + + + + + Simulator Volume Gain + 模擬器音量調節 + + + + My Radio + 我的遙控器 + + + + <p><b>You cannot switch Radio Type or change Build Options while there are unsaved file changes. What do you wish to do?</b></p> <ul><li><i>Save All</i> - Save any open file(s) before saving Settings.<li><li><i>Reset</i> - Revert to the previous Radio Type and Build Options before saving Settings.</li><li><i>Cancel</i> - Return to the Settings editor dialog.</li></ul> + + + + + Select your snapshot folder + 選擇你的快照目錄 + + + + Note: Nightly builds are not available in this version, Release/RC update channel will be used. + + + + + + No joysticks found + 找不到遊戲桿 + + + + EMPTY: No radio settings stored in profile + 空白:在遙控器檔案中找不到遙控器設定 + + + + AVAILABLE: Radio settings of unknown age + 允許:不明日期的遙控器設定 + + + + AVAILABLE: Radio settings stored %1 + 允許:遙控器設定保存到 %1 + + + + Select your library folder + 對話框標題欄 + 選擇你的圖片庫文件夾 + + + + + Select your Models and Settings backup folder + 對話框標題欄 + 選擇你的模型和設定備份文件夾 + + + + Select a folder for application logs + + + + + Select Google Earth executable + 對話框標題欄 + 選擇 Google Earth 可執行文件 + + + + Select the folder replicating your SD structure + 對話框標題欄 + 選擇模擬SD卡目錄結構的電腦文件夾 + + + + Open Image to load + 打開圖片並載入 + + + + Images (%1) + 圖片 (%1) + + + + + + Use releases (stable) + + + + + Use release candidates (testing) + + + + + + + Use nightly builds (unstable) + + + + + + Use releases and release candidates (testing) + + + + + BinEepromFormat + + + Error reading %1: %2 + + + + + Cannot save EEPROM + + + + + Cannot open file %1: +%2. + + + + + Error writing file %1: +%2. + 寫入文件錯誤 %1: +%2. + + + + Invalid binary EEPROM file %1 + + + + + Boards + + + Left Horizontal + 左搖桿水平方向 + + + + Left Vertical + 左搖桿垂直方向 + + + + Right Vertical + 右搖桿上下方向 + + + + Right Horizontal + 右搖桿水平方向 + + + + Aux. 1 + + + + + Aux. 2 + + + + + + Unknown + 未知[Unknown] + + + + Rud + + + + + Ele + + + + + Thr + + + + + Ail + + + + + CalibrationPanel + + + Negative span + 負範圍 + + + + Mid value + 中值 + + + + Positive span + 正範圍 + + + + CategorizedStorageFormat + + + Can't extract RADIO/radio.bin + + + + + Can't extract RADIO/models.txt + + + + + Can't extract %1 + + + + + Error loading models + + + + + Channels + + + Name + 在舵機設置頁面中 + 通道名稱 [Name] + + + + Subtrim + 在舵機設置頁面中 + 舵機中位 [Subtrim] + + + + Min + 在舵機設置頁面中 + 舵機下限 [Min] + + + + Max + 在舵機設置頁面中 + 舵機上限 [Max] + + + + Direction + 在舵機設置頁面中 + 舵機反向 [Dir] + + + + Curve + 在舵機設置頁面中 + 舵機曲線 [Curve] + + + + PPM Center + 在舵機設置頁面中 + PPM中位脈寬 + + + + Linear Subtrim + 在舵機設置頁面中 + 線性微調 [Linear] + + + + CH%1 + 在舵機設置頁面中 + 通道%1 + + + + Popup menu available + + + + + --- + 在舵機設置頁面中 表示舵機正向 + 正向 [→] + + + + INV + 在舵機設置頁面中 + 反向 [←] + + + + &Copy + + + + + &Cut + 剪下 (&C) + + + + &Paste + 貼上 (&P) + + + + &Delete + 删除 (&D) + + + + ChecklistDialog + + + + + + + + + + Edit Checklist + + + + + + + + + + + + Line nn, Col nn + + + + + + + + + + + + &Import... + + + + + + + + + + + + &Cancel + + + + + + + + + + + + &OK + + + + + + + + + + + + Please note, the maximum width displayable is radio model limited. Also, renaming the model will break the link to this checklist file. + + + + + + + + + + + + File: unknown + + + + + Open Checklist + + + + + Checklist Files (*.txt) + + + + + + + + + Model Checklist + + + + + Cannot open file for writing %1: +%2. + + + + + Cannot write to file %1: +%2. + + + + + Cannot write file %1: +%2. + 無法寫入文件 %1: +%2. + + + + Cannot open file %1: +%2. + + + + + Cannot read file %1: +%2. + + + + + Line %1, Col %2 + + + + + Companion + + + OpenTX Companion + + + + + Information + 信息 + + + + Warning + 啟用時蜂鳴 [Warning] + + + + Error + 錯誤 + + + + Application Settings + 程序首選項 + + + + files + + + + + Radio and Models settings + + + + + Select or create a file for exported Settings: + + + + + Press the 'Retry' button to choose another file. + + + + + Simulator for this firmware is not yet available + 模擬器現在還不支持此版韌體 + + + + Uknown error during Simulator startup. + + + + + Simulator Error + + + + + Data Load Error + + + + + Error occurred while starting simulator. + + + + + <p><b>Welcome to OpenTX %1.</b></p><p>As the first step, please configure the initial Radio Profile by selecting your Radio Type, Menu Language, and Build Options.</p><p>You may also want to take this time to review the other available options in the displayed Settings dialog.</p><p>After saving your settings, we recommend you download the latest firmware for your radio by using the <i>File -&gt; Download</i> menu option.</p><p>Please visit <a href='http://www.open-tx.org'>open-tx.org</a> for latest news, updates and documentation. Thank you for choosing OpenTX!</p>- The OpenTX Team. + + + + + <p><b>Thank you for upgrading to OpenTX %1.</b></p><p>This is a major upgrade that adds and modifies a lot of things, so please make sure that you read release notes carefully to learn about the changes, and thoroughly check each of your models for proper function.</p><p>Please visit <a href='http://www.open-tx.org'>open-tx.org</a> for release notes and other documentation.</p>- The OpenTX Team. + + + + + <p>The radio type in the selected profile does not exist. Using the default type instead.</p> <p><b>Please update your profile settings!</b></p> + + + + + The saved settings could not be imported, please try again or continue with current settings. + + + + + Import from File + + + + + Import from v%1 + + + + + Do not import + + + + + We have found possible Companion settings backup file(s). +Do you want to import settings from a file? + + + + + Import settings from a file, or start with current values. + + + + + We have found existing settings for Companion version: %1. +Do you want to import them? + +If you have a settings backup file, you may import that instead. + + + + + Select %1: + + + + + Save application settings to file... + + + + + Load application settings from file or previous version... + + + + + Reset ALL application settings to default and remove radio profiles... + + + + + Exit before settings initialization and application startup. + + + + + Print version number and exit. + + + + + Print this help text. + + + + + Reset ALL application settings to default values and remove radio profiles, are you sure? + + + + + Would you like to perform a backup first? + + + + + Application settings were reset and saved. + + + + + settings + + + + + CompareDialog + + + + + + + + + + Compare Models + Compare 模型對比對話框 + 比較模型參數 + + + + + + + + + + + To compare models, drag and drop them anywhere in this window. + + + + + + + + + + + + Close + Compare 模型對比對話框 + 关闭 + + + + + + + + + + + Style + + + + + + + + + + + + Print + Compare 模型對比對話框 + 打印 + + + + + + + + + + + Print to file + Compare 模型對比對話框 + 列印到文件 + + + + Unnamed Model %1 + + + + + Click to remove this model. + + + + + Print Document + Compare 模型對比對話框 + 列印到文檔 + + + + Select PDF output file + Compare 模型對比對話框 + 選擇PDF輸出文件 + + + + ConclusionPage + + + OK, I understand. + ConclusionPage 模型配置頁面最後確認按鈕中使用 + 好的, 我知道。 + + + + CopyProcess + + + Write error + CopyProcess + 寫入錯誤 + + + + Cannot write %1 (reason: %2) + CopyProcess + 無法寫入 %1 (原因: %2) + + + + Cannot open %1 (reason: %2) + CopyProcess + 無法打開 %1 (原因: %2) + + + + CreditsDialog + + + OpenTX Contributors + OpenTX 貢獻者 + + + + Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) + 榮譽給予 Rafal Tomczak (RadioClone), Thomas Husterer (th9x) 和 Erez Raviv (er9x and eePe) + + + + OpenTX Blacklist + OpenTX 黑名單 + + + + Main developers + + + + + Translators + + + + + Companies and projects who have donated to OpenTX + 曾經給予OpenTX捐贈的公司和項目 + + + + People who have donated to OpenTX + 曾經給予OpenTX捐贈的個人 + + + + Other contributors + 其他貢獻者 + + + + monthly + 每月 + + + + CurveData + + + CV + + + + + CurveGroup + + + Diff + 用於INPUT和MIXER曲線選擇項 + 差動曲線 [Diff] + + + + Expo + 用於INPUT和MIXER曲線選擇項 + 指數曲線 [Expo] + + + + Func + 用於INPUT和MIXER曲線選擇項 + 其他曲線 [Func] + + + + Curve + 用於INPUT和MIXER曲線選擇項 + 多點曲線 [Cstm] + + + + CurveReference + + + Diff(%1) + + + + + Expo(%1) + + + + + Function(%1) + + + + + Curve(%1) + + + + + Curves + + + + + + + + + + Curve name + 曲線名稱 [Name] + + + + + + + + + + + Fixed X + 均勻間距 [Standard] + + + + + + + + + + + Custom X + 自定間距 [Custom] + + + + + + + + + + + Lines + 折線 + + + + + + + + + + + Smooth + 平滑 [Smooth] + + + + + + + + + + + + + + + + + + + Curve type + 曲線類型 + + + + + + + + + + + Curve Creator + 曲線生成器 + + + + + + + + + + + Y at X=0 + 曲線中央的高度 + + + + + + + + + + + Point size + + + + + + + + + + + + Y at X=100 + 曲線最右側高度 + + + + + + + + + + + Both + 兩側 + + + + + + + + + + + x>0 + 僅創建右側曲線 + + + + + + + + + + + x<0 + 僅創建左側曲線 + + + + + + + + + + + Apply + 應用 + + + + + + + + + + + Side + 僅創建單側曲線 + + + + + + + + + + + Y at X=-100 + 曲線最左側高度 + + + + + + + + + + + Coefficient + 彎曲係數 + + + + Curve %1 + 曲線 %1 + + + + Popup menu available + + + + + %1 points + %1 點 + + + + Linear + 直線 + + + + Single Expo + 非對稱指數曲線 + + + + Symmetrical f(x)=-f(-x) + 左右中心對稱 + + + + Symmetrical f(x)=f(-x) + 左右鏡像對稱 + + + + Editing curve %1 + 編輯曲線 %1 + + + + Not enough free points in EEPROM to store the curve. + EEPROM中沒有足夠的空餘曲線點存儲空間. + + + + Copy + 複製 + + + + Paste + 貼上 + + + + Clear + curve + 清除 + + + + Clear all curves + 清除所有曲線 + + + + Are you sure you want to reset curve %1? + 你確定想要重置曲線%1嗎? + + + + Are you sure you want to reset all curves? + 你確定想要重置全部曲線嗎? + + + + CustomFunctionData + + + GF + + + + + SF + + + + + Override %1 + 鎖定通道值 %1 [Override] + + + + Trainer + 教練功能 + + + + Trainer RUD + 教練開關 方向 [Trainer RUD] + + + + Trainer ELE + 教練開關 升降 [Trainer ELE] + + + + Trainer THR + 教練開關 油門 [Trainer THR] + + + + Trainer AIL + 教練開關 副翼 [Trainer AIL] + + + + Instant Trim + 操縱杆位變微調 [Instant Trim] + + + + Play Sound + 播放蜂鳴 [Play Sound] + + + + Haptic + 震動 [Haptic] + + + + Reset + 重設 + + + + Set Timer %1 + 設定計時器%1 [Set Timer] + + + + Vario + 開啟 Vario 聲音 [Vario] + + + + Play Track + 播放聲音文件 [Play Track] + + + + Play Both + 播放同時振動 [Play Both] + + + + Play Value + 播放數值 [Play Value] + + + + Play Script + 運行腳本 [Play Script] + + + + SD Logs + SD Log 記錄 [SD Logs] + + + + Volume + 音量 [Volume] + + + + Backlight + 背光 [Backlight] + + + + Screenshot + 截屏 [Screenshot] + + + + Background Music + 背景音樂播放 [Bg Music] + + + + Background Music Pause + 背景音樂暫停 [Bg Music Pause] + + + + Adjust %1 + + + + + SetFailsafe Int. Module + 啟動內置高頻頭失控保護 [SetFailsafe Int] + + + + SetFailsafe Ext. Module + 啟動外置高頻頭失控保護 [SetFailsafe Ext] + + + + RangeCheck Int. Module + 內置高頻頭拉距測試 + + + + RangeCheck Ext. Module + 外置高頻頭拉距測試 + + + + Bind Int. Module + 內置高頻頭對頻 + + + + Bind Ext. Module + 外置高頻頭對頻 + + + + Timer1 + 計時器1 [Timer1] + + + + Timer2 + 計時器2 [Timer2] + + + + Timer3 + 計時器3 [Timer3] + + + + Flight + 飛行 [Flight] + + + + Telemetry + + + + + Rotary Encoder + 旋轉編碼器 [Rotary Encoder] + + + + REa + + + + + REb + + + + + s + + + + + + + <font color=red><b>Inconsistent parameter</b></font> + <font color=red><b>不一致的參數</b></font> + + + + Value + + + + + played once, not during startup + 播放一次但開機時不播放 + + + + repeat(%1s) + 每%1秒重複 + + + + DISABLED + 禁用 + + + + CFN + + + + + CustomFunctionsPanel + + + Switch + CustomFunctionPanel + 啟動開關 + + + + Action + CustomFunctionPanel + 功能 + + + + Parameters + CustomFunctionPanel + 参数 + + + + Enable + CustomFunctionPanel + 是否啟用 + + + + Popup menu available + + + + + SF%1 + CustomFunctionPanel + SF%1 + + + + GF%1 + CustomFunctionPanel + GF%1 + + + + ON + CustomFunctionPanel + 啟用 + + + + Error occurred while trying to play sound, possibly the file is already opened. (Err: %1 [%2]) + + + + + Unable to find or open sound file: +%1 + + + + + Value + 设为 + + + + Source + + + + + GVAR + GVAR + + + + Increment + 增加 + + + + &Copy + CustomFunctionPanel + 複製 (&C) + + + + &Cut + CustomFunctionPanel + 剪下 (&C) + + + + &Paste + CustomFunctionPanel + 貼上 (&P) + + + + &Delete + CustomFunctionPanel + 删除 (&D) + + + + CustomizeSplashDialog + + + + + + + + + + Transmitter Splash Screen Editor + 遙控器開機畫面編輯器 + + + + + + + + + + + + + + + + + + + Invert + 底片效果 + + + + + + + + + + + + + + + + + + + Open Splash Library + 打開開機圖片庫 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ... + + + + + + + + + + + + + + + + + + + + Load Profile + 載入遙控文檔 + + + + + + + + + + + + + + + + + + + Load FW + 載入韌體 + + + + + + + + + + + + + + + + + + + Load Pict + 載入圖片文件 + + + + + + + + + + + + + + + + + + + Save + 保存 + + + + Open Firmware File + 打開韌體文件 + + + + FW: %1 + 韌體: %1 + + + + Pict: %1 + 圖片: %1 + + + + Profile image + 檔案圖片 + + + + Can not load embedded image from firmware file %1. + 不能從韌體文件 %1 中載入內嵌圖片 . + + + + Open Image to load + 打開圖片文件以載入 + + + + Images (%1) + 圖片 (%1) + + + + Cannot load the image file %1. + 不能打開圖片文件 %1. + + + + Cannot load profile image %1. + 不能打開遙控器文檔中圖片 %1. + + + + Cannot load the library image %1. + 不能從開機圖片庫中載入圖片 %1. + + + + File Saved + 文件已保存 + + + + The image was saved to the file %1 + 圖片已經保存到 %1 + + + + Image Refresh Error + 圖片刷新錯誤 + + + + Failed to refresh image from file %1 + 無法從文件 %1 中刷新圖片 + + + + File Save Error + 文件保存錯誤 + + + + Failed to write image to %1 + 無法寫入文件 %1 + + + + CyclicPage + + + 90 + 90 + + + + 120 + 120 + + + + 120x + 120x + + + + 140 + 140 + + + + DataField + + + Conversion error on field %1 + + + + + Switch + + + + + Switch + 啟動開關 + + + + cannot be exported on this board! + 無法輸出到這個主板! + + + + Source + + + + + Source %1 cannot be exported on this board! + 源 %1 無法輸出到這個主板! + + + + OpenTX only accepts %1 points in all curves + OpenTX只允許最大%1點曲線 + + + + OpenTx only accepts %1 points in all curves + OpenTX只允許最大%1點曲線 + + + + + OpenTX on this board doesn't accept this function + OpenTX在這個主板上不支持此項功能 + + + + OpenTX doesn't accept this radio protocol + OpenTX 不接受此遙控器協議 + + + + DebugOutput + + + + + + + + + + + + Debug Output + Debug 輸出 + + + + + + + + + + + + + <html><head/><body><p>Enable or disable the filter. If the button won't stay enabled, it is likely there is a syntax error in the Regular Expression entered.</p></body></html> + + + + + + + + + + + + + + Filter: + + + + + + + + + + + + + + <html><head/><body><p>Enter filter text here. Click the help/info button for details about using the filter. </p><p> +To <b>remove a remembered entry</b> from the filter list, first choose it, and then press <code>Shift-Delete</code> (or <code>Shift-Backspace</code>) key combination.</p></body></html> + + + + + + + + + + + + + + Buffer: + + + + + + + + + + + + + + Number of lines to keep in display. + + + + + + + + + + + + + + Filter &Help + + + + + + + + + + + + + + Show information about using the filter. + + + + + + + + + + + + + + Word &Wrap + + + + + + + + + + + + + + Toggle word wrapping on/off. + + + + + + + + + + + + + + &Clear + (&C)清除 + + + + + + + + + + + + + Clear the output window of all text. + + + + + + + + + + + + + + Enable &Filter + + + + + + + + + + + + + + Turn the filter on/off. + + + + + <html><head><style>kbd {background-color: palette(alternate-base); font-size: large; white-space: nowrap;}</style></head><body><p>The filter supports two syntax types: basic matching with common wildcards as well as full Perl-style (<code>pcre</code>) Regular Expressions.</p><p>By default a filter will only show lines which match (<b>inclusive</b>). To make an <b>exclusive</b> filter which removes matching lines, prefix the filter expression with a <kbd>!</kbd> (exclamation mark).</p><p>To use <b>Regular Expressions</b> (RegEx), prefix the filter text with a <kbd>/</kbd> (slash) or <kbd>^</kbd> (up caret). <ul><li>Put the <kbd>/</kbd> or <kbd>^</kbd> after the exclusive <kbd>!</kbd> indicator if you're using one.</li><li>By default the match is case-sensitive. To make it insensitive, add the typical <kbd>/i</kbd> (slash i) operator at the end of your RegEx.</li><li>If you use a caret (^) to denote a RegEx, it will become part of the Reg. Ex. (that is, matches from start of line).</li><li>If the RegEx is invalid, the filter edit field should show a red border and you will not be able to enable the filter.</li><li>A useful resource for testing REs (with a full reference) can be found at <a href="http://www.regexr.com/">http://www.regexr.com/</a></li></ul></p><p>To use <b>basic matching</b> just type any text.<ul><li>Wildcards: <kbd>*</kbd> (asterisk) matches zero or more of any character(s), and <kbd>?</kbd> (question mark) matches any single character.</li><li>The match is always case-insensitive.</li><li>The match always starts from the beginning of a log line. To ignore characters at the start, use a leading <kbd>*</kbd> wildcard.</li><li>A trailing <kbd>*</kbd> is always implied (that is, matches anything to the end of the log line). To avoid this, use a RegEx.</li><li>You can match literal wildcard characters by prefixing them with a <kbd>\</kbd> (backslash) character (eg. "foo\*bar" matches "foo*bar").</li></ul></p><p>After <b>editing text</b>, press ENTER or TAB key (or click anywhere outside the box) to update the filter.</p><p>To <b>remove an entry</b> from the filter selector list, first choose it, and while in the line editor press <kbd>Shift-Delete</kbd> (or <kbd>Shift-Backspace</kbd>) key combination. The default filters cannot be removed. Up to 50 filters are stored.</p></body></html> + + + + + Debug Console Filter Help + + + + + DownloadDialog + + + + + + + + + + Downloading: + 下載中: + + + + Unable to save the file %1: %2. + 無法保存文件 %1: +%2. + + + + Download failed: %1. + 下載失敗:%1. + + + + EEPROMInterface + + + Possible causes for this: + 可能導致這樣的原因: + + + + - Eeprom is from a newer version of OpenTX + - Eeprom 來自 OpenTX 的新版本 + + + + - Eeprom is not from OpenTX + - Eeprom 不是來自 OpenTX + + + + - Eeprom is not from Th9X + - Eeprom 不是來自 Th9x + + + + - Eeprom is not from Gruvin9X + - Eeprom 不是來自 Gruvin9x + + + + - Eeprom is not from ErSky9X + - Eeprom 不是來自 ErSky9X + + + + - Eeprom is not from Er9X + - Eeprom 不是來自 Er9x + + + + - Eeprom size is invalid + - Eeprom 文件大小錯誤 + + + + - Eeprom file system is invalid + - Eeprom 文件系统錯誤 + + + + - Eeprom is from a unknown board + - Eeprom 來自未知的主板 + + + + - Eeprom is from the wrong board + - Eeprom 來自錯誤的主板 + + + + - Eeprom backup not supported + - 不支持 Eeprom 備份 + + + + - Something that couldn't be guessed, sorry + - 抱歉,無法找出確定原因 + + + + Warning: + 警告: + + + + + - Your radio probably uses a wrong firmware, + eeprom size is 4096 but only the first 2048 are used + - 你的遙控器可能使用了錯誤的韌體, + eeprom 大小為4096但僅前半部分的2048被使用 + + + + - Your eeprom is from an old version of OpenTX, upgrading! + To keep your original file as a backup, please choose File -> Save As specifying a different name. + + + + + EepeFormat + + + Unable to open %1: %2 + + + + + Invalid EEPROM file %1 + + + + + ElevonsPage + + + <br>First Elevon Channel: + <br>指定第1個升降副翼舵機通道: + + + + Second Elevon Channel: + <br>指定第2個升降副翼舵機通道: + + + + ExpoData + + + INP + + + + + (@%1) + + + + + ExpoDialog + + + + + + + + + + Flight modes + Inputs對話框 + 飛行模式 [Modes] + + + + + + + + + + + Input name + Inputs對話框 + 輸入名稱 [Input] + + + + + + + + + + + + + + + + + + + + + + + + + + + GV + Inputs對話框 + GV + + + + + + + + + + + Source for the mixer. + Inputs對話框 + 混控的輸入源. + + + + + + + + + + + Weight + Inputs對話框 + 比例 [Weight] + + + + + + + + + + + Switch + Inputs對話框 + 啟用開關 [Switch] + + + + + + + + + + + Switch used to enable the line. +If blank then the input is considered to be "ON" all the time. + Inputs對話框 + 啟用開關 +不選擇則默認一直啟用. + + + + + + + + + + + Stick Side + Inputs對話框 + 搖桿作用於 [Side] + + + + + + + + + + + NEG + Inputs對話框 + 負側 [NEG] + + + + + + + + + + + POS + Inputs對話框 + 正侧 [POS] + + + + + + + + + + + ALL + Inputs對話框 + 兩側 [ALL] + + + + + + + + + + + Scale + Inputs對話框 + 縮放 [Scale] + + + + + + + + + + + Include Trim + Inputs對話框 + 微調 [Trim] + + + + + + + + + + + No + Inputs對話框 + 不使用 [OFF] + + + + + + + + + + + Yes + Inputs對話框 + 使用 [On] + + + + + + + + + + + Curve + Inputs對話框 + 曲線 [Curve] + + + + + + + + + + + Curve applied to the source. + Inputs對話框 + 作用於輸入源的曲線. + + + + + + + + + + + Source + Inputs對話框 + 輸入來源 [Source] + + + + + + + + + + + Line name + Inputs對話框 + 此條名稱 [Line] + + + + + + + + + + + Offset + Inputs對話框 + 偏移 [Offset] + + + + + + + + + + + The source for the mixer + Inputs對話框 + 混控的輸入源 + + + + Edit %1 + Inputs對話框 + 編輯 %1 + + + + Popup menu available + + + + + Clear All + + + + + Set All + + + + + Invert All + + + + + ExportableTableView + + + Select All + + + + + Copy selection as TAB-delimited text + + + + + Copy selection as cooma-delimited text (CSV) + + + + + Copy selection as pipe-delimited text + + + + + Copy selection as HTML + + + + + Save selection to file + + + + + Tab-delimited text + + + + + Comma-delimited text + + + + + Pipe-delimited text + + + + + HTML + + + + + Save to file + + + + + FblPage + + + Throttle Channel: + 油門通道 [Throttle]: + + + + Yaw Channel: + 偏航通道 [Yaw]: + + + + Pitch Channel: + 仰俯通道 [Pitch]: + + + + Roll Channel: + 滾轉通道 [Roll]: + + + + FileSyncDialog + + + Synchronize Files + + + + + Are you sure you wish to abort the sync? + + + + + Source Folder: + + + + + Destination Folder: + + + + + %1%2 Both directions, to destination folder first + + + + + %1%2 Both directions, to source folder first + + + + + %1 Only from source folder to destination folder + + + + + %1 Only from destination folder to source folder + + + + + How to handle overwriting files which already exist in the destination folder. + + + + + Copy only if newer and different (compare contents) + + + + + Copy only if newer (do not compare contents) + + + + + Copy only if different (ignore file time stamps) + + + + + Always copy (force overwite existing files) + + + + + Any size + + + + + Skip files larger than this size. Enter zero for unlimited. + + + + + Minimum reporting level. Events of this type and of higher importance are shown. +WARNING: High log rates may make the user interface temporarily unresponsive. + + + + + Skipped + + + + + Created + + + + + Updated + + + + + Errors Only + + + + + Test-run only + + + + + Run as normal but do not actually copy anything. Useful for verifying results before real sync. + + + + + Log Level: + + + + + Filters: + + + + + The "Include" filter will only copy files which match the pattern(s). +The "Exclude" filter will skip files matching the filter pattern(s). +The Include filter is evaluated first. + + + + + One or more file pattern(s) to exclude, separated by commas. +Blank means exclude none. ?, *, and [...] wildcards accepted. + + + + + One or more file pattern(s) to include, separated by commas. +Blank means include all. ?, *, and [...] wildcards accepted. + + + + + Include: + + + + + Exclude: + + + + + Case sensitive + + + + + + Follow links + + + + + Include hidden + + + + + Recursive + + + + + Skip empty + + + + + Apply filters + + + + + Filter Options: + + + + + Folder Options: + + + + + + Options + + + + + Show extra options + + + + + Reset to defaults + + + + + Close + 關閉 + + + + Sync. Direction: + + + + + Existing Files: + + + + + Max. File Size: + + + + + MB + + + + + KB + + + + + Abort + + + + + Start + 開始通道 [CH] + + + + Total: <b>%1</b>; Created: <b>%2</b>; Updated: <b>%3</b>; Skipped: <b>%4</b>; Errors: <font color=%6><b>%5</b></font>; + + + + + Current: <b>%1</b> of + + + + + Source folder not found. + + + + + Destination folder not found. + + + + + Source and destination folders are the same. + + + + + Firmware + + + Channel values displayed in us + 通道值顯示為微秒 + + + + No OverrideCH functions available + 不允許鎖定通道值功能 + + + + Possibility to enable FAI MODE (no telemetry) at field + 可選擇啟用 FAI 模式 (沒有回傳) + + + + FAI MODE (no telemetry) always enabled + 一直啟用 FAI 模式 (沒有回傳) + + + + Removes D8 FrSky protocol support which is not legal for use in the EU on radios sold after Jan 1st, 2015 + 移除 D8 FrSky 協議支持,因為在20151月1日後在歐洲銷售的遙控器中使用此協議是不合法的 + + + + + Disable HELI menu and cyclic mix support + 禁用直升機菜單和CCPM混控菜單 + + + + + Disable Global variables + 禁用GV[Global variables]功能 + + + + + Enable Lua custom scripts screen + + + + + Use alternative SQT5 font + 使用 另一個 SQT5 font + + + + Pots use in menus navigation + 使用旋鈕進行菜單導航 + + + + FrSky Taranis X9D+ + FrSky Taranis X9D+ + + + + Support for PPM internal module hack + 支持 hack PPM內置高頻頭 + + + + Enable non certified firmwares + + + + + Disable RAS (SWR) + + + + + FrSky Taranis X9D+ 2019 + + + + + FrSky Taranis X9D + FrSky Taranis X9D + + + + Haptic module installed + 振動模塊已經安裝 + + + + FrSky Taranis X9E + FrSky Taranis X9E + + + + Confirmation before radio shutdown + 遙控器關機前確認 + + + + Horus gimbals installed (Hall sensors) + Horus 搖桿已安裝 (霍爾傳感器) + + + + FrSky Taranis X9-Lite + + + + + + Support for auto update on boot + + + + + FrSky Taranis X7 / X7S + + + + + FrSky Taranis X-Lite S/PRO + + + + + FrSky Taranis X-Lite + + + + + FrSky Horus X10 / X10S + + + + + FrSky Horus X12S + + + + + Use ONLY with first DEV pcb version + 只用與 DEV pcb 版本 + + + + Turnigy 9XR-PRO + Turnigy 9XR-PRO + + + + Enable HELI menu and cyclic mix support + 允許直升機菜單和斜盤混控支持 + + + + Global variables + GV [Global variables] + + + + In model setup menus automatically set source by moving the control + 在模型配置菜單通過移動搖桿自動設置源 + + + + In model setup menus automatically set switch by moving the control + 在模型配置菜單通過撥動開關自動設置源 + + + + No graphical check boxes and sliders + 無圖形選擇框和滑桿 + + + + Battery graph + 電池圖標 + + + + Don't use bold font for highlighting active items + 不使用粗體高亮活動項目 + + + + + Support for ACCESS internal module replacement + + + + + FrSky Horus X10 Express + + + + + Jumper T12 + + + + + Enable non certified R9M firmwares + + + + + Turnigy 9XR with m128 chip + Turnigy 9XR (m128芯片) + + + + Turnigy 9XR + Turnigy 9XR + + + + 9X with stock board + 9X (原装主板) + + + + Enable resetting values by pressing up and down at the same time + 允許通過同時按上下鍵重設數值 + + + + 9X with stock board and m128 chip + 9X (原裝主板和m128芯片) + + + + 9X with AR9X board + 9X (AR9X主板) + + + + 9X with Sky9x board + 9X (Sky9x主板) + + + + 9X with Gruvin9x board + 9X (Gruvin9x主板) + + + + DIY MEGA2560 radio + DIY的 MEGA2560 遥控器 + + + + FirmwarePreferencesDialog + + + + + + + + + + Downloads + FirmwarePref + 下載 + + + + + + + + + + + Check for updates + FirmwarePref + 檢查更新 + + + + + + + + + + + Firmware + FirmwarePref + 韌體類型 + + + + + + + + + + + Download firmware + + + + + + + + + + + + Download SD contents + + + + + + + + + + + + Latest Download + FirmwarePref + 最後下載的韌體版本 + + + + Unknown + 未知[Unknown] + + + + FlapsPage + + + No + FlapsPage + 没有襟翼 + + + + Yes, controlled by a single channel + 有襟翼, 使用一個單通道控制 + + + + Yes, controlled by two channels + 有襟翼, 使用兩個通道控制 + + + + <br>First Flap Channel: + <br>第一個襟翼通道: + + + + Second Flap Channel: + 第二個襟翼通道: + + + + FlashEEpromDialog + + + + + + + + + + + Write Models and Settings to Radio + 將模型和設置寫入到遙控器 + + + + + + + + + + + Load... + 加載... + + + + + + + + + + + Current Profile + 當前文檔 + + + + + + + + + + + Allows Companion to write to older version of the firmware + 允許 Companion 寫入舊版本的韌體 + + + + + + + + + + + Check Firmware compatibility + 檢查韌體兼容性 + + + + + + + + + + + <html><head/><body><p>Saves a dated copy of your eeprom to the backup folder you specified in the Companion settings before writing the current model to the radio.</p></body></html> + 寫入前備份 + + + + + + + + + + + Backup before Write + 寫入前備份 + + + + + + + + + + + <html><head/><body><p>Modify calibration parameters using settings from current profile</p></body></html> + <html><head/><body><p>用當前檔案的設置修改校準參數</p></body></html> + + + + + + + + + + + Patch calibration setting from profile + 依照當前檔案修改校準參數 + + + + + + + + + + + <html><head/><body><p>Modify HW parameters using settings from current profile</p></body></html> + <html><head/><body><p>用當前檔案的設置修改硬件參數</p></body></html> + + + + + + + + + + + Patch HW settings from profile + 依照當前檔案修改硬件參數 + + + + + + + + + + + Cancel + 取消 + + + + + + + + + + + Write to TX + 寫入到遙控器 + + + + Current profile: %1 + 當前檔案: %1 + + + + Choose Radio Backup file + 選擇遙控器備份文件 + + + + Wrong radio calibration data in profile, Settings not patched + 此文檔包含錯誤的遙控器校準數據.設置沒有修改 + + + + Wrong radio setting data in profile, Settings not patched + 此文檔包含錯誤的遙控器設置數據.設置沒有修改 + + + + Cannot write file %1: +%2. + 無法寫入文件 %1: +%2. + + + + Error writing file %1: +%2. + 寫入文件錯誤 %1: +%2. + + + + The radio firmware belongs to another product family, check file and preferences! + 這個遙控器韌體屬於其他產品,檢查文件和配置! + + + + The radio firmware is outdated, please upgrade! + 這個遙控器韌體已經過期, 請升級! + + + + Cannot check Models and Settings compatibility! Continue anyway? + 無法檢查模型和設置兼容性! 仍然繼續麼? + + + + FlashFirmwareDialog + + + + + + + + + + Flash Firmware + 燒錄韌體 + + + + + + + + + + + Load... + 加載... + + + + + + + + + + + Date & Time + 日期 & 時間 + + + + + + + + + + + Variant + 變體 + + + + + + + + + + + Version + 版本 + + + + + + + + + + + Use profile start screen + 使用文檔中的開始畫面 + + + + + + + + + + + Use firmware start screen + 使用韌體中的開始畫面 + + + + + + + + + + + Use library start screen + 使用圖片庫中的開始畫面 + + + + + + + + + + + Use another start screen + 使用其他開始畫面 + + + + + + + + + + + Allows Companion to write to older version of the firmware + 允許 Companion 寫入舊版本的韌體 + + + + + + + + + + + Check Hardware compatibility + 檢查硬件兼容性 + + + + + + + + + + + Backup and restore Models and Settings + 備份和恢復模型和設置 + + + + + + + + + + + Cancel + 取消 + + + + + + + + + + + Write to TX + 寫入到遙控器 + + + + Open Firmware File + 打開韌體文件 + + + + %1 may not be a valid firmware file + %1 可能是非法的韌體文件 + + + + The firmware file is not valid. + 韌體文件非法. + + + + There is no start screen image in the firmware file. + 韌體中沒有開機畫面. + + + + Profile image %1 is invalid. + 檔案圖片 %1 无效. + + + + Open image file to use as radio start screen + 打開圖片文件用作遙控器開機畫面 + + + + Images (%1) + 圖片 (%1) + + + + Image could not be loaded from %1 + 圖片無法從 %1 中加載 + + + + The library image could not be loaded + 圖片庫中的圖片無法被加載 + + + + Splash image not found + 無法找到開機畫面圖片 + + + + Cannot save customized firmware + 無法保存定制韌體 + + + + Write Firmware to Radio + 寫入韌體到遙控器 + + + + + Firmware check failed + 韌體檢查失敗 + + + + Could not check firmware from radio + 無法檢查遙控器中的韌體 + + + + New firmware is not compatible with the one currently installed! + 新的韌體於當前安裝的韌體不兼容! + + + + Conversion failed + 轉換失敗 + + + + Cannot convert Models and Settings for use with this firmware, original data will be used + 無法轉換此韌體中的模型和設置, 將使用原始數據 + + + + Restore failed + 恢復失敗 + + + + Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 + 無法將模型和設置恢復到遙控器. 模型和設置數據可以在 %1 中找到 + + + + Flashing done + 燒錄完成 + + + + FlashProcess + + + Executable %1 not found + FlashProcess + 未找到可執行文件 %1 + + + + Writing... + FlashProcess + 寫入中... + + + + Reading... + FlashProcess + 讀取中... + + + + Verifying... + FlashProcess + 驗證中... + + + + unknown + FlashProcess + 未知 + + + + ie: OpenTX for 9X board or OpenTX for 9XR board + 例如: OpenTX for 9X 主板 或 OpenTX for 9XR 主板 + + + + ie: OpenTX for M128 / 9X board or OpenTX for 9XR board with M128 chip + 例如: OpenTX for M128 / 9X 主板 或 帶有M128芯片的OpenTX for 9XR 主板 + + + + ie: OpenTX for Gruvin9X board + 例如: OpenTX for Gruvin9X 主板 + + + + Your radio uses a %1 CPU!!! + +Please check advanced burn options to set the correct cpu type. + 你的遙控器使用 %1 CPU!!! + +請檢查高級燒錄選項設置正確的cpu型號. + + + + Your radio uses a %1 CPU!!! + +Please select an appropriate firmware type to program it. + 你的遥控器使用 %1 CPU!!! + +請選擇合適的用來編程它的固件類型. + + + + +You are currently using: + %1 + +你當前正在使用: + %1 + + + + Your radio does not seem connected to USB or the driver is not initialized!!!. + 你的遙控器似乎沒有連接到到USB端口,或沒有安裝驅動程序!!!. + + + + Flashing done (exit code = %1) + 燒錄完成 (退出碼 = %1) + + + + Flashing done with errors + 燒錄完成但包含錯誤 + + + + FUSES: Low=%1 High=%2 Ext=%3 + 熔絲位: Low=%1 High=%2 Ext=%3 + + + + FlightMode + + + + + + + + + + Fade In + FlightMode + 切入秒數 [Fade In] + + + + + + + + + + + Fade Out + FlightMode + 切出秒數 [Fade In] + + + + + + + + + + + Name + FlightMode + 名稱 [Name] + + + + + + + + + + + Switch + FlightMode + 啟用開關 [Switch] + + + + FlightModeData + + + FM + + + + + FlightModePanel + + + Rotary Encoder %1 + + + + + Name + + + + + Value source + + + + + Value + 设为 + + + + GVAR%1 + 全局變量[GV] %1 + + + + Popup enabled + 屏幕彈窗提示 + + + + Popup menu available + + + + + Trim disabled + 不使用微調 + + + + Own Trim + 使用單獨的微調值 + + + + Use Trim from Flight mode %1 + 使用 FM%1 的微調值 + + + + Use Trim from Flight mode %1 + Own Trim as an offset + 使用 FM%1 的微調值 + 單獨的微調偏移值 + + + + Unit + + + + + Prec + + + + + Min + + + + + Max + + + + + 0._ + + + + + 0.0 + 0.0 + + + + + &Clear + (&C)清除 + + + + + Clear + 清除 + + + + Clear all current Flight Mode properties? + 是否清除所有的飛行模式屬性? + + + + FlightModesPanel + + + Flight Mode %1 + 用於FM設定 + 飛行模式[FM] %1 + + + + (%1) + FlightModePanel + (%1) + + + + (default) + FlightModePanel + (默認) + + + + FlybarSelectionPage + + + Has Flybar + 有副翼 + + + + Flybarless + 無副翼 + + + + Flybar: + 副翼: + + + + FrSkyAlarmData + + + Yellow + + + + + Orange + + + + + Red + + + + + FrSkyChannelData + + + + V + + + + + --- + 正向 [→] + + + + FusesDialog + + + + + + + + + + Fuses + 熔絲位 + + + + + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Reads the current fuses in the AVR controller.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Proper states for </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">AtMega 64 </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse not set: 0E, 81, FF</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse set: 0E, 89, FF</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Proper states for AtMega 2560 :</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse not set: D7, 11, FC</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse set: D7, 19, FC</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">读取当前AVR控制器中的熔丝位.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Proper states for </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">AtMega 64 </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM 删除熔丝位 [erase fuse] 未设定 [not set]: 0E, 81, FF</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM 删除熔丝位 [erase fuse] 已设定 [set]: 0E, 89, FF</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Proper states for AtMega 2560 :</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM 删除熔丝位 [erase fuse] 未设定 [not set]: D7, 11, FC</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM 删除熔丝位 [erase fuse] 已设定 [set]: D7, 19, FC</span></p></body></html> + + + + + + + + + + + Read Fuses + 讀取熔絲位 + + + + + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">Reset Fuses</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Fuses in the AVR tell it how to behave. Pressing this button sets the fuses to the default parameters needed in the FW. These parameters are different for stock and 4.1 MB, please verify you selected the appropriate processor type in preferences.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">This button also sets the &quot;EEPROM protect&quot; Fuse.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">This prevents erasing of the EEPROM when the flash memory is written.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">WARNING</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Setting fuses can lead to problems and even a total lockout from your controller. Do this only if you know what you are doing.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">When in doubt consult either the project's page or the 9xforum (http://9xforums.com/forum/)</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">If you do get locked out - google lookup for &quot;dealing with Fuse Bricks&quot;.</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">重设熔丝位</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">熔丝指示AVR如何运行. 按此按钮将熔丝设置成固件需要的默认参数. 这些参数和 stock 与 4.1 MB中的不一样, 请检查你在偏好选项中选择了合适的处理器类型.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">这个按钮设置 &quot;EEPROM protect&quot; 熔丝.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">当 Flash 存储器被写入时这会保护 EEPROM 不被删除.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">警告</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">设置熔丝位可导致问题发生,严重的甚至导致你的遥控器无法开机. 只有当你知道自己在做什么时才可以操作.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">如果有疑问请咨询合适的项目主页或 9xforum (http://9xforums.com/forum/)</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">如果你的遥控器无法开机 - 在google 中搜索 &quot;dealing with Fuse Bricks&quot;.</span></p></body></html> + + + + + + + + + + + Reset Fuses +EEPROM - PROTECT + 重設熔絲位 +EEPROM - PROTECT + + + + + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">Reset Fuses</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Fuses in the AVR tell it how to behave. Pressing this button sets the fuses to the default parameters needed in the </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">FW. These parameters are different for stock and 4.1 MB, please verify you selected the appropriate processor type in preferences.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">This button also clears the &quot;EEPROM protect&quot; Fuse.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">This causes erasing of the EEPROM when the flash memory is written.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">WARNING</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Setting fuses can lead to problems and even a total lockout from your controller. Do this only if you know what you are doing.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">When in doubt consult either the project's page or the 9xforum (http://9xforums.com/forum/)</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">If you do get locked out - google lookup for &quot;dealing with Fuse Bricks&quot;.</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">重设熔丝位</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">熔丝指示AVR如何运行. 按此按钮将熔丝设置成固件需要的默认参数. 这些参数和 stock 与 4.1 MB中的不一样, 请检查你在偏好选项中选择了合适的处理器类型.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">这个按钮清除 &quot;EEPROM protect&quot; 熔丝.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">当 Flash 存储器被写入时 EEPROM 将会被删除.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">警告</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">设置熔丝位可导致问题发生,严重的甚至导致你的遥控器无法开机. 只有当你知道自己在做什么时才可以操作.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">如果有疑问请咨询合适的项目主页或 9xforum (http://9xforums.com/forum/)</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">如果你的遥控器无法开机 - 在google 中搜索 &quot;dealing with Fuse Bricks&quot;.</span></p></body></html> + + + + + + + + + + + Reset Fuses +EEPROM - DELETE + 重設熔絲位 +EEPROM - DELETE + + + + + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">WARNING</span></p> +<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Changing the fuses can mess up your radio.</p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Proceed only if you know what you are doing.</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">警告</span></p> +<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">改变熔丝位可能使你的遥控器变砖.</p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">只有当你知道自己在做什么时才进行操作.</p></body></html> + + + + + Reset Radio Fuses + 重設遙控器熔絲位 + + + + Read Fuses from Radio + 從遙控器中讀取熔絲位 + + + + GVarData + + + % + + + + + ? + + + + + 0._ + + + + + 0.0 + 0.0 + + + + ?.? + + + + + GV + GV + + + + Own value + 使用單獨的取值 + + + + Flight mode %1 value + 使用FM%1值 + + + + GeneralEdit + + + + + + + + + + Radio settings + + + + + + + + + + + + Retrieve calib. and hw settings from profile + 從遙控器檔案中讀取校準和硬件設定 + + + + + + + + + + + Store calib. and hw settings in selected profile + 存儲校準和硬件設定到選擇的遙控器檔案 + + + + + + + + + + + General settings used throught the transmitter. +These will be relevant for all models in the same EEPROM. + 遙控器一般設定, 用在整個遙控器上 +對相同的EEPROM, 對所有模型這些設置都是相同的. + + + + Setup + General Edit???? + 設定 + + + + Global Functions + General Edit + 全局功能 + + + + Trainer + General Edit + 教練功能 + + + + Hardware + General Edit???? + 硬件 + + + + Calibration + General Edit + 校準 + + + + Wrong data in profile, radio calibration was not retrieved + 此文檔包含錯誤的數據. 未讀取遙控器校準數據 + + + + Wrong data in profile, Switch/pot config not retrieved + 此文檔包含錯誤的數據. 未讀取開關/旋鈕配置 + + + + Wrong data in profile, hw related parameters were not retrieved + 此文檔包含錯誤的數據. 未讀取硬件相關參數 + + + + Do you want to store calibration in %1 profile<br>overwriting existing calibration? + 你想要存儲校準數據到 %1 檔案<br>覆蓋當前已經存在的校準數據麼? + + + + Calibration and HW parameters saved. + 校準數據和硬件參數已經存儲. + + + + GeneralSettings + + + Radio Settings + + + + + GeneralSetup + + + + + + + + + + Form + GeneralSetup???? + 表單 + + + + + + + + + + + Readonly Unlock + 只讀解鎖 [Readonly Unlock] + + + + + + + + + + + SC + + + + + + + + + + + + SE + + + + + + + + + + + + SA + + + + + + + + + + + + SF + + + + + + + + + + + + SH + + + + + + + + + + + + SD + + + + + + + + + + + + SB + + + + + + + + + + + + SG + + + + + + + + + + + + Timeshift from UTC + 依照UTC調整時間 [From UTC] + + + + + + + + + + + Voice Language + 語音語言 [Voice Language] + + + + + + + + + + + Country Code + 國家代碼 [Country Code] + + + + + + + + + + + Stick reverse + 反向搖桿 [Stick Reverse] + + + + + + + + + + + FAI Mode + FAI 模式 [FAI Mode] + + + + + + + + + + + Automatically adjust the radio's clock if a GPS is connected to telemetry. + 如果安裝有GPS回傳則自動調整遙控器時鐘. + + + + + + + + + + + Adjust RTC + 自動調整時鐘 + + + + + + + + + + + Vario pitch at max + 最大上升率時Vario音調 [Max] + + + + + + + + + + + + + + + + + + + Hz + + + + + + + + + + + + Speaker Volume + 喇叭音量 [Volume] + + + + + + + + + + + Backlight Switch + 背光開關 [Switch] + + + + + + + + + + + Sound Mode + 聲音模式 [Sound Mode] + + + + + + + + + + + Color 1 + 顏色 1 + + + + + + + + + + + Color 2 + 顏色 2 + + + + + + + + + + + Speaker Pitch (spkr only) + 喇叭音調 (僅喇叭) [Pitch] + + + + + + + + + + + If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. + 如果值非0, 任何按鍵將會開啟背光, 並在所設定秒數後關閉. + + + + + + + + + + + + + + + + + + + + + sec + + + + + + + + + + + + Backlight color + 背光顏色 [Color] + + + + + + + + + + + Beeper + 蜂鳴器 + + + + + + + + + + + Speaker + 喇叭 + + + + + + + + + + + BeeperVoice + 蜂鳴器和語音 + + + + + + + + + + + SpeakerVoice + 喇叭和語音 + + + + + + + + + + + Beep volume + 蜂鳴器音量 + + + + + + + + + + + Wav volume + WAV播放音量 + + + + + + + + + + + Vario volume + Vario音量 + + + + + + + + + + + Background volume + 背景音樂音量 + + + + + + + + + + + + + + + + + + + ms + 毫秒 + + + + + + + + + + + Backlight Auto OFF after + 背光自動關閉時間 [Duration] + + + + + + + + + + + Backlight flash on alarm + 警告時背光閃爍 [Alarm] + + + + + + + + + + + Vario pitch at zero + 升降率為0時Vario音調 [Zero] + + + + + + + + + + + Vario repeat at zero + 升降率0時Vario重複率 [Repeat] + + + + + + + + + + + This is the switch selectrion for turning on the backlight (if installed). + + + !!!! 英文selection + 這個開關用來開啟背光 (如果遙控器有背光). + + + + + + + + + + + + + + + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">LCD Screen Contrast</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Values can be 20-45</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">LCD 显示屏对比度</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">取值范围 20-45</span></p></body></html> + + + + + + + + + + + Backlight Brightness + 背光亮度 [Brightness] + + + + + + + + + + + RotEnc Navigation + 旋轉編碼器導航 [RotEnc] + + + + + + + + + + + America + 美國 + + + + + + + + + + + Japan + 日本 + + + + + + + + + + + Europe + 歐洲 + + + + + + + + + + + Backlight OFF Brightness + + + + + + + + + + + + Mode selection: + +Mode 1: + Left stick: Elevator, Rudder + Right stick: Throttle, Aileron + +Mode 2: + Left stick: Throttle, Rudder + Right stick: Elevator, Aileron + +Mode 3: + Left stick: Elevator, Aileron + Right stick: Throttle, Rudder + +Mode 4: + Left stick: Throttle, Aileron + Right stick: Elevator, Rudder + + + 遙控器模式[MODE]選擇: + +MODE1 日本手: + 左手: 升降方向 + 右手: 油門副翼 + +MODE2 美國手: + 左手: 油門方向 + 右手: 升降副翼 + +MODE3 中國手: + 左手: 升降副翼 + 右手: 油門方向 + +MODE4 模式4: + 左手: 油門副翼 + 右手: 升降方向 + + + + + + + + + + + + + Mode 1 (RUD ELE THR AIL) + MODE1 日本手↕升降↔方向 ↕油門↔副翼 + + + + + + + + + + + Mode 2 (RUD THR ELE AIL) + MODE2 美國手↕油門↔方向 ↕升降↔副翼 + + + + + + + + + + + Mode 3 (AIL ELE THR RUD) + MODE3 中國手↕升降↔副翼 ↕油門↔方向 + + + + + + + + + + + Mode 4 (AIL THR ELE RUD) + MODE4 模式4 ↕油門↔副翼 ↕升降↔方向 + + + + + + + + + + + <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> + <html><head/><body><p>通道順序</p><p><br/></p><p>定义了当新的混控创建时默认的通道顺序.</p></body></html> + + + + + + + + + + + If you enable FAI, only RSSI and RxBt sensors will keep working. This function cannot be disabled by the radio. + + + + + + + + + + + + RSSI Poweroff Warning + + + + + + + + + + + + Low EEPROM Warning + + + + + + + + + Owner Registration ID + + + + + + + + + aaaaaaAA + + + + + + + + + + + + R E T A + 方向 升降 油門 副翼 [R E T A] + + + + + + + + + + + R E A T + 方向 升降 副翼 油門 [R E A T] + + + + + + + + + + + R T E A + 方向 油門 升降 副翼 [R T E A] + + + + + + + + + + + R T A E + 方向 油門 副翼 升降 [R T A E] + + + + + + + + + + + R A E T + 方向 副翼 升降 油門 [R A E T] + + + + + + + + + + + R A T E + 方向 副翼 油門 升降 [R A T E] + + + + + + + + + + + E R T A + 升降 方向 油門 副翼 [E R T A] + + + + + + + + + + + E R A T + 升降 方向 副翼 油門 [E R A T] + + + + + + + + + + + E T R A + 升降 油門 方向 副翼 [E T R A] + + + + + + + + + + + E T A R + 升降 油門 副翼 方向 [E T A R] + + + + + + + + + + + E A R T + 升降 副翼 方向 油門 [E A R T] + + + + + + + + + + + E A T R + 升降 副翼 油門 方向 [E A T R] + + + + + + + + + + + T R E A + 油門 方向 升降 副翼 [T R E A] + + + + + + + + + + + T R A E + 油門 方向 副翼 升降 [T R A E] + + + + + + + + + + + T E R A + 油門 升降 方向 副翼 [T E R A] + + + + + + + + + + + T E A R + 油門 升降 副翼 方向 [T E A R] + + + + + + + + + + + T A R E + 油門 副翼 方向 升降 [T A R E] + + + + + + + + + + + T A E R + 油門 副翼 升降 方向 [T A E R] + + + + + + + + + + + A R E T + 副翼 方向 升降 油門 [A R E T] + + + + + + + + + + + A R T E + 副翼 方向 油門 升降 [A R T E] + + + + + + + + + + + A E R T + 副翼 升降 方向 油門 [A E R T] + + + + + + + + + + + A E T R + 副翼 升降 油門 方向 [A E T R] + + + + + + + + + + + A T R E + 副翼 油門 方向 升降 [A T R E] + + + + + + + + + + + A T E R + 副翼 油門 升降 方向 [A T E R] + + + + + + + + Power On Delay + + + + + + + + + + + + Jack Mode + + + + + + + + + + + + Audio + + + + + + + + + + + + Trainer + 教練功能 + + + + + + + + + + + DMS + + + + + + + + + + + + USB Mode + + + + + + + + + Power Off Delay + + + + + + + + + + + + + + + + + + + + Ask on Connect + + + + + + + + + + + + Joystick (HID) + + + + + + + + + + + + USB Mass Storage + + + + + + + + + + + + USB Serial (CDC) + + + + + + + + + + + + Stick Mode + 摇杆模式 [MODE] + + + + + + + + + + + Metric + 公制 [Metric] + + + + + + + + + + + Imperial + 英制 [Imperial] + + + + + + + + + + + Default Channel Order + 默認通道順序[Default Ch Order] + + + + + + + + + + + GPS Coordinates + GPS坐標格式 [GPS Coordinates] + + + + + + + + + + + Min + GeneralEdit + 最小 + + + + + + + + + + + + + + + + + + + v + GeneralEdit + v + + + + + + + + + + + Max + GeneralEdit + 最大 + + + + + + + + + + + Inactivity Timer + 忘記關機定時器 [Inactivity] + + + + + + + + + + + Show Splash Screen on Startup + 顯示開機畫面 [Splash Screen] + + + + + + + + + + + Contrast + 顯示屏對比度 [Contrast] + + + + + + + + + + + Battery Meter Range + 遙控器電池圖標範圍 [Range] + + + + + + + + + + + Haptic Strength + 振動強度 [Haptic Strength] + + + + + + + + + + + LCD Display Type + LCD顯示屏類型 [LCD Disp Type] + + + + + + + + + + + "No Sound" Warning + 當靜音時 開機警告 [Sound Off] + + + + + + + + + + + Battery Warning + 遙控器電量警告 [Battery Low] + + + + + + + + + + + Haptic Length + 振動時長 [Haptic Length] + + + + + + + + + + + MAVLink Baud Rate + MAVLink 波特率 [Baud Rate] + + + + + + + + + + + + + + + + + + + Quiet + GeneralEdit + 禁用 [Quiet] + + + + + + + + + + + Only Alarms + GeneralEdit + 只有警告 [Alarm] + + + + + + + + + + + + + + + + + + + No Keys + GeneralEdit + 忽略按鍵 [NoKey] + + + + + + + + + + + + + + + + + + + All + GeneralEdit + 開啟 [All] + + + + + + + + + + + Battery warning voltage. +This is the threashhold where the battery warning sounds. + +Acceptable values are 5v..10v + 遙控器電池警告電壓 +當電壓低於此數值時電量警告響起 + +允許值是5V - 10V + + + + + + + + + + + Standard + 標準LCD [Standard] + + + + + + + + + + + Optrex + GeneralEdit + 光王LCD [Optrex] + + + + + + + + + + + If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes. + + + + + + + + + + + + min + + + + + + + + + + + + + + + + + + + + Show splash screen on startup + + + + + + + + + + + + --- + GeneralEdit + + + + + + + + + + + + 2s + GeneralEdit + + + + + + + + + + + + 3s + GeneralEdit + + + + + + + + + + + + 4s + GeneralEdit + + + + + + + + + + + + 6s + GeneralEdit + + + + + + + + + + + + 8s + + + + + + + + + + + + 10s + + + + + + + + + + + + 15s + + + + + + + + + + + + 4800 Baud + GeneralEdit + + + + + + + + + + + + 9600 Baud + + + + + + + + + + + + 14400 Baud + + + + + + + + + + + + 19200 Baud + + + + + + + + + + + + 38400 Baud + + + + + + + + + + + + 57600 Baud + + + + + + + + + + + + 76800 Baud + + + + + + + + + + + + 115200 Baud + + + + + + + + + + + + + + + + + + + + + + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" text-decoration: underline;">Warnings</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These will define startup warnings.</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Throttle warning - will alert if the throttle is not at idle during startup</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Switch warning - will alert if switches are not in their defaul position</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Memory warning - will alert if there's not a lot of memory left</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Silent mode warning - will alert you if the beeper is set to quiet (0)</p></body></html> + + + + + + + + + + + + + + + + + + + + X-Short + GeneralEdit + 極短 + + + + + + + + + + + + + + + + + + + Short + GeneralEdit + 較短 + + + + + + + + + + + + + + + + + + + Normal + 正常 + + + + + + + + + + + + + + + + + + + Long + GeneralEdit + 較長 + + + + + + + + + + + + + + + + + + + X-Long + 極長 + + + + + + + + + + + NMEA + GeneralEdit + + + + + + + + + + + + Play Delay (switch mid position) + 開關撥過中檔時播音延遲 [Delay] + + + + + + + + + + + Measurement Units + 單位制 [Units] + + + + + + + + + + + Haptic Mode + GeneralEdit + 振動 [Haptic Mode] + + + + + + + + + + + Beeper Length + 蜂鳴時長 [Beep Length] + + + + + + + + + + + Beeper Mode + 蜂鳴音 [Beep Mode] + + + + + + + + + + + Beeper volume + +0 - Quiet. No beeps at all. +1 - No Keys. Normal beeps but menu keys do not beep. +2 - Normal. +3 - Loud. +4 - Extra loud. + + + + + + + + + + + + Alarms Only + GeneralEdit + 只有警告 [Alarm] + + + + Power On Speed + + + + + Power Off Speed + + + + + GeneralSetupPanel + + + OFF + + + + + Keys + 按鍵 [Keys] + + + + Sticks + 摇杆 [Sticks] + + + + Keys + Sticks + 按鍵和搖桿 [Keys + Sticks] + + + + ON + 啟用 + + + + English + 英語 + + + + Dutch + 荷蘭語 + + + + French + 法語 + + + + Italian + 意大利語 + + + + German + 德語 + + + + Czech + 捷克語 + + + + Slovak + 慢動作 [Slow] + + + + Spanish + 西班牙語 + + + + Polish + 波蘭語 + + + + Portuguese + 葡萄牙語 + + + + Russian + + + + + Swedish + 瑞典語 + + + + Hungarian + 匈牙利語 + + + + No + + + + + RotEnc A + 旋轉編碼器A + + + + Rot Enc B + 旋轉編碼器B + + + + Rot Enc C + 旋轉編碼器C + + + + Rot Enc D + 旋轉編碼器D + + + + Rot Enc E + 旋轉編碼器E + + + + If you enable FAI, only RSSI and RxBt sensors will keep working. +This function cannot be disabled by the radio. +Are you sure ? + + + + + GyroPage + + + No + Gyropage + 無陀螺儀 + + + + Yes, controled by a switch + 有陀螺儀, 通過開關控制感度 + + + + Yes, controlled by a pot + 有陀螺儀, 通過旋鈕控制感度 + + + + Hardware + + + + + + + + + + Form + Hardware + 表單 + + + + + + + + + + + SQ + + + + + + + + + + + + SR + + + + + + + + + + + + LS2 + LS2 滑桿 + + + + + + + + + + + SP + + + + + + + + + + + + SO + + + + + + + + + + + + S4 + S4 旋鈕 + + + + + + + + + + + RS + RS 滑桿 + + + + + + + + + + + SB + + + + + + + + + + + + PPM 2 + 教練口訊號2 [PPM 2] + + + + + + + + + + + OFF + 關閉 [OFF] + + + + + + + + + + + S-Port Mirror + S-Port 鏡像 [S-Port Mirror] + + + + + + + + + + + Telemetry + 回傳 [Telemetry] + + + + + + + + + + + SBUS Trainer + SBUS 教練功能 [SBUS Trainer] + + + + + + + + + + + Debug + 除錯 [Debug] + + + + + + + + + + + Rud + Rud 搖桿 + + + + + + + + + + + PPM 3 + 教練口訊號3 [PPM 3] + + + + + + + + + + + S1 + S1 旋鈕 + + + + + + + + + + + S2 + S2 旋鈕 + + + + + + + + + + + S3 + S3 旋鈕 + + + + + + + + + + + PPM 1 + 教練口訊號1 [PPM 1] + + + + + + + + + + + Serial Port + 串口 [Serial Port] + + + + + + + + + + + v + + + + + + + + + + + + PPM Multiplier + 教練口訊號係數 [PPM Multiplier] + + + + + + + + + + + Current Offset + 當前修正 [Offset] + + + + + + + + + + + PPM 4 + 教練口訊號4 [PPM 4] + + + + + + + + + + + SA + + + + + + + + + + + + Ele + Ele 搖桿 + + + + + + + Antenna + + + + + + + + + + S5 + S5 旋鈕 + + + + + + + + + + + Ail + Ail 搖桿 + + + + + + + + + + + Thr + Thr 搖桿 + + + + + + + + + + + SC + + + + + + + + + + + + LS + LS 滑桿 + + + + + + + + + + + SD + + + + + + + + + + + + Battery Offset + 控電電壓修正 [Battery Offset] + + + + + + + + + + + SE + + + + + + + + + + + + SF + + + + + + + + + + + + SG + + + + + + + + + + + + SH + + + + + + + + + + + + SI + + + + + + + + + + + + SJ + + + + + + + + + + + + SK + + + + + + + + + + + + SL + + + + + + + + + + + + SM + + + + + + + + + + + + SN + + + + + + + + + + + + RS2 + RS2 滑桿 + + + + + + + + + + + Bluetooth + 藍牙 [Bluetooth] + + + + + + + + + + + ADC Filter + + + + + + + + + + + + Device Name: + + + + + HardwarePanel + + + + + None + + + + + 2 Positions Toggle + 2段彈簧開關 + + + + 2 Positions + 2段開關 + + + + 3 Positions + 3段開關 + + + + Pot with detent + 有中位旋鈕 + + + + Multipos switch + 多段開關 + + + + Pot without detent + 無中位旋鈕 + + + + Slider with detent + 有中位滑桿 + + + + OFF + + + + + Enabled + + + + + Telemetry + + + + + Trainer + 教練功能 + + + + Internal + + + + + Ask + + + + + Per model + + + + + Internal + External + + + + + External + + + + + Heli + + + + + + + + + + Off + 禁用 + + + + + + + + + + + 120 + + + + + + + + + + + + 120X + + + + + + + + + + + + 140 + + + + + + + + + + + + 90 + + + + + + + + + + + + Invert Elevator + 升降反向 [Ele] + + + + + + + + + + + Invert Aileron + 副翼反向 [Ail] + + + + + + + + + + + Invert Collective + 總距反向 {Col] + + + + + + + + + + + Long. cyc + 縱向循環螺距 [Long] + + + + + + + + + + + Invert + 反向 [Invert] + + + + + + + + + + + Swash Ring + 斜盤限位 [Swach RIng] + + + + + + + + + + + Swash Type + 斜盤類型 [Swach Type] + + + + + + + + + + + Lateral cyc + 橫向循環螺距 [Lateral] + + + + + + + + + + + Collective + 總距 [Collective] + + + + HeliPage + + + Throttle Channel: + 油門通道 [Throttle]: + + + + Yaw Channel: + 偏航通道 [Yaw]: + + + + Pitch Channel: + 仰俯通道 [Pitch]: + + + + Roll Channel: + 滾轉通道 [Roll]: + + + + HexEepromFormat + + + Invalid EEPROM File %1 + 無效的 EEPROM 文件 %1 + + + + Cannot open file %1: +%2. + + + + + Error writing file %1: +%2. + 寫入文件錯誤 %1: +%2. + + + + InputsPanel + + + + Move Up + 上移 + + + + + Ctrl+Up + Ctrl+Up + + + + + Move Down + 下移 + + + + + Ctrl+Down + Ctrl+Down + + + + Clear All Inputs + 清除所有輸入 + + + + Not enough available inputs! + 沒有足夠的可用輸入! + + + + Delete Selected Inputs? + 刪除選擇的輸入? + + + + &Add + 添加 (&A) + + + + Ctrl+A + + + + + &Edit + 編輯 (&E) + + + + Enter + InputPanel + 確定 + + + + &Delete + 删除 (&D) + + + + Delete + 删除 + + + + &Copy + 複製 (&C) + + + + Ctrl+C + + + + + &Cut + 剪下 (&C) + + + + Ctrl+X + + + + + &Paste + 貼上 (&P) + + + + Ctrl+V + + + + + Du&plicate + 克隆 (&P) + + + + Ctrl+U + + + + + Clear Inputs? + 清除輸入? + + + + Really clear all the inputs? + 確定清除所有輸入麼? + + + + LimitData + + + INV + 反向 [←] + + + + NOR + 或非 + + + + CH + + + + + LimitsGroup + + + GV + GV + + + + LogicalSwitchData + + + --- + 正向 [→] + + + + a>x + 數值1 > 數值2 a>x + + + + a<x + 數值1 < 數值2 a<x + + + + |a|>x + |數值1| > 數值2 |a|>x + + + + |a|<x + |數值1| < 數值 2 |a|<x + + + + AND + 與運算 AND + + + + OR + 或運算 OR + + + + XOR + 異或運算 XOR + + + + a=b + 數值1 = 數值2 a=b + + + + a!=b + 數值1 != 數值2 a!=b + + + + a>b + 數值1 > 數值2 a>b + + + + a<b + 數值1 < 數值2 a<b + + + + a>=b + 數值1 ≥ 數值2 a>=b + + + + a<=b + 數值1 ≤ 數值2 a<=b + + + + d>=x + 數值1變動 ≥ 數值2 d>=x + + + + |d|>=x + |數值1變動| ≥ 數值2 d>=x + + + + a=x + 數值1 = 數值2 a=x + + + + a~x + 數值1 ≈ 數值2 a~x + + + + Timer + 定時開關 Timer + + + + Sticky + 粘滞键 Sticky + + + + Edge + 邊沿觸發 EDGE + + + + Unknown + 未知[Unknown] + + + + L + + + + + LSW + + + + + LogicalSwitchesPanel + + + Function + LogicalSwitchPanel + 運算方式 [Function] + + + + V1 + LogicalSwitchPanel + 數值1 [V1] + + + + V2 + LogicalSwitchPanel + 數值2 [V2] + + + + AND Switch + 與開關 [AND Sw] + + + + Duration + LogicalSwitchPanel + 持續時間 [Duration] + + + + Delay + LogicalSwitchPanel + 延遲 [Delay] + + + + Popup menu available + + + + + (infinite) + + + + + (instant) + LogicalSwitchPanel 邊沿觸發使用 + (立刻 [instant]) + + + + &Copy + 複製 (&C) + + + + &Cut + LogicalSwitchPanel + 剪下 (&C) + + + + &Paste + LogicalSwitchPanel + 貼上 (&P) + + + + &Delete + LogicalSwitchPanel + 刪除 (&D) + + + + LogsDialog + + + + + + + + + + Companion Log Viewer + Companion Log 查看器 + + + + + + + + + + + Fly sessions + LogsDialog + 飛行起落 + + + + + + + + + + + Save session CSV + + + + + + + + + + + + Zoom + 縮放 + + + + + + + + + + + X + + + + + + + + + + + + Y + + + + + + + + + + + + Reset + 重設 + + + + + + + + + + + Filename + 文件名 + + + + + + + + + + + Open LogFile + 打開 Log 文件 + + + + Telemetry logs + 回傳 logs + + + + Time (hh:mm:ss) + 時間 (hh:mm:ss) + + + + Plot Title Change + 改變繪製標題 + + + + New plot title: + 新的繪製標題: + + + + Axis Label Change + 改變坐標軸標籤 + + + + New axis label: + 新的坐標軸標題: + + + + Graph Name Change + 改變圖表的名稱 + + + + New graph name: + 新的圖表名稱: + + + + Error: no GPS data found + + + + + The column containing GPS coordinates must be named "GPS". + +The columns for altitude "GAlt" and for speed "GSpd" are optional + 包含 GPS 坐標的列必須起名為 "GPS". + +包含高度的列 "GAlt" 和包含速度的列 "GSpd" 是可選的 + + + + Cannot write file %1: +%2. + 無法寫入文件 %1: +%2. + + + + Cursor A: %1 m + 光標 A: %1 m + + + + Cursor B: %1 m + 光標 B: %1 m + + + + Time delta: %1 + 時間偏移: %1 + + + + Climb rate: %1 m/s + 升降速率: %1 m/s + + + + Select your log file + 選擇你的 log 文件 + + + + Available fields + 可用項目 + + + + The selected logfile contains %1 invalid lines out of %2 total lines + 選擇的 Log 文件共有 %2 條記錄, 其中 %1 條記錄無效 + + + + total duration + 總持續時間 + + + + duration + 持續時間 + + + + (L1) + (L1) + + + + (R1) + + + + + (L2) + + + + + (R2) + + + + + MainWindow + + + + File loaded + 文件已載入 + + + + Checking for updates + 檢查更新中 + + + + A new version of Companion is available (version %1)<br>Would you like to download it? + 有新版本的 Companion 可用. (版本号 %1)<br>你希望現在就下載麼? + + + + + Save As + 另存為 + + + + Executable (*.exe) + 可執行文件 (*.exe) + + + + New release available + 有新版本發布 + + + + + No updates available at this time. + 目前沒有更新的韌體版本發布. + + + + + Would you like to launch the installer? + 你希望打開安裝軟體嗎? + + + + Error opening file %1: +%2. + 打開文件錯誤 %1: +%2. + + + + Not enough flash available on this board for all the selected options + 此主板上沒有足夠的Flash用來存儲所有所選選項 + + + + Compilation server temporary failure, try later + 編譯服務器臨時不可用, 請稍後再試 + + + + Compilation server too busy, try later + 編譯服務器太忙, 請稍後再試 + + + + Compilation error + 編譯錯誤 + + + + Invalid firmware + 無效的韌體 + + + + Invalid board + 無效的主板 + + + + Invalid language + 無效的語言 + + + + Unknown server failure, try later + 未知服務器失效, 請稍後再試 + + + + Do you want to write the firmware to the radio now ? + 你希望現在就將韌體寫入到遙控器嗎? + + + + + Yes + MainWindow + + + + + + No + MainWindow + + + + + + Release Notes + 版本發布說明 + + + + A new version of %1 firmware is available: + - current is %2 + - newer is %3 + +Do you want to download it now? + +We recommend you view the release notes using the button below to learn about any changes that may be important to you. + 有新版本的 %1 韌體版本可用: + - 目前版本是 %2 + - 新的版本是 %3 + +你希望現在下載嗎 ? + +我們建議你使用下面的按鈕查看版本發布說明, 以便了解對你來說重要的更新項目. + + + + The new theme will be loaded the next time you start Companion. + 新的主題將在重新打開程序後使用. + + + + + Open Models and Settings file + 打開模型和配置文件 + + + + + File saved + 文件已保存 + + + + + Synchronize SD + 同步SD卡 + + + + + Read Firmware from Radio + 從遙控器中讀取韌體 + + + + Write Firmware to Radio + 將韌體寫入遙控器 + + + + + Read Models and Settings from Radio + 從遙控器中讀取模型和配置 + + + + Write Models and Settings to Radio + 將模型和配置寫入遙控器 + + + + Save Radio Backup to File + 保存遙控器備份到文件 + + + + Some text will not be translated until the next time you start Companion. Please note that some translations may not be complete. + + + + + Models and Settings read + + + + + Diskimage (*.dmg) + + + + + Would you like to open the disk image to install the new version? + + + + + A new release of Companion is available, please check the <a href='%1'>OpenTX website!</a> + + + + + There are unsaved file changes which you may lose when switching radio types. + +Do you wish to continue? + + + + + No local SD structure path configured! + + + + + No Radio or SD card detected! + + + + + + This function is not yet implemented + + + + + Read Radio Firmware to File + 讀取遙控器韌體並保存到文件 + + + + OpenTX Home Page: <a href='%1'>%1</a> + OpenTX 網站主頁: <a href='%1'>%1</a> + + + + The OpenTX Companion project was originally forked from <a href='%1'>eePe</a> + OpenTX Companion項目起初分支於 <a href='%1'>eePe</a> + + + + If you've found this program useful, please support by <a href='%1'>donating</a> + 如果你覺得此程序有用, 請通過<a href='%1'>捐贈</a>支持 + + + + Copyright OpenTX Team + 版權所有 OpenTX Team + + + + About Companion + 關於 Companion + + + + OpenTX Companion %1 - Radio: %2 - Profile: %3 + OpenTX Companion %1 - 遙控器: %2 - 檔案: %3 + + + + New + MainWindow + 新建配置文件 + + + + Create a new Models and Settings file + 建立新的模型和設置文件 + + + + Open... + 打開... + + + + Save + 保存 + + + + + Save Models and Settings file + 保存模型和配置文件 + + + + Save As... + 另存為... + + + + Close + 關閉 + + + + Close Models and Settings file + + + + + Exit + 退出 + + + + Exit the application + 退出軟體 + + + + - Copy + + + + + Companion :: Open files warning + + + + + Please save or close modified file(s) before deleting the active profile. + + + + + Not possible to remove profile + 不能移除遙控器檔案 + + + + The default profile can not be removed. + 默認遙控器檔案無法被移除. + + + + Confirm Delete Profile + + + + + Are you sure you wish to delete the "%1" radio profile? There is no way to undo this action! + + + + + Classical + 經典 + + + + The classic companion9x icon theme + 經典 companion9x 圖標主題 + + + + Yerico + Yerico圖標主題 + + + + Yellow round honey sweet icon theme + 黃色圓潤甜蜜圖標主題 + + + + Monochrome + 單色黑白 + + + + A monochrome black icon theme + 黑色圖標的黑白主題 + + + + MonoWhite + 單色白色 + + + + A monochrome white icon theme + 白色圖標的黑白主題 + + + + MonoBlue + 單色藍色 + + + + No Companion release candidates are currently being served for this version, please switch release channel + + + + + No nightly Companion builds are currently being served for this version, please switch release channel + + + + + No Companion release builds are currently being served for this version, please switch release channel + + + + + Companion update check failed, new version information not found. + + + + + No firmware release candidates are currently being served for this version, please switch release channel + + + + + No firmware nightly builds are currently being served for this version, please switch release channel + + + + + No firmware release builds are currently being served for this version, please switch release channel + + + + + Release candidate builds are now available for this version, would you like to switch to using them? + + + + + Channel changed to RC, please restart the download process + + + + + Official release builds are now available for this version, would you like to switch to using them? + + + + + Channel changed to Release, please restart the download process + + + + + This radio (%1) is not currently available in this firmware release channel + + + + + Firmware update check failed, new version information not found or invalid. + + + + + Firmware %1 does not seem to have ever been downloaded. +Version %2 is available. +Do you want to download it now? + +We recommend you view the release notes using the button below to learn about any changes that may be important to you. + + + + + + Do you want to download version %1 now ? + + + + + Ignore this version %1? + + + + + Local Folder + + + + + Radio Folder + + + + + List of recently used files + + + + + Radio Profiles + + + + + Create or Select Radio Profiles + + + + + Release notes... + + + + + Show release notes + + + + + Create a new Radio Settings Profile + + + + + Copy Current Radio Profile + + + + + Duplicate current Radio Settings Profile + + + + + Delete Current Radio Profile... + + + + + Delete the current Radio Settings Profile + + + + + Export Application Settings.. + + + + + Save all the current %1 and Simulator settings (including radio profiles) to a file. + + + + + Import Application Settings.. + + + + + Load %1 and Simulator settings from a prevously exported settings file. + + + + + Tabbed Windows + + + + + Use tabs to arrange open windows. + + + + + Tile Windows + + + + + Arrange open windows across all the available space. + + + + + Cascade Windows + + + + + Arrange all open windows in a stack. + + + + + Close All Windows + + + + + Closes all open files (prompts to save if necessary. + + + + + Window + + + + + Ctrl+Shift+S + + + + + Ctrl+Alt+L + + + + + Ctrl+Alt+D + + + + + Ctrl+Alt+R + + + + + A monochrome blue icon theme + 藍色圖標的黑白主題 + + + + Small + + + + + Use small toolbar icons + 使用小的工具欄圖標 + + + + Normal + MainWindow + 普通 + + + + Use normal size toolbar icons + 使用普通大小的工具欄圖標 + + + + Big + + + + + Use big toolbar icons + 使用大工具欄圖標 + + + + Huge + 超大 + + + + Use huge toolbar icons + 使用特大的工具欄圖標 + + + + System language + 使用系統語言 + + + + Please save or close all modified files before importing settings + + + + + <html><p>%1 and Simulator settings can be imported (restored) from a previosly saved export (backup) file. This will replace current settings with any settings found in the file.</p><p>An automatic backup of the current settings will be attempted. But if the current settings are useful then it is recommended that you make a manual backup first.</p><p>For best results when importing settings, <b>close any other %1 windows you may have open, and make sure the standalone Simulator application is not running.</p><p>Do you wish to continue?</p></html> + + + + + Confirm Settings Import + + + + + Select %1: + + + + + backup + + + + + Press the 'Ignore' button to continue anyway. + + + + + The settings could not be imported. + + + + + <html><p>New settings have been imported from:<br> %1.</p><p>%2 will now re-initialize.</p><p>Note that you may need to close and restart %2 before some settings like language and icon theme take effect.</p> + + + + + <p>The previous settings were backed up to:<br> %1</p> + + + + + About... + 关于... + + + + Show the application's About box + 顯示軟體的關於對話框 + + + + View Log File... + 查看 Log 文件... + + + + Open and view log file + 打開和查看 Log 文件 + + + + Settings... + 設置... + + + + Edit Settings + 編輯設定 + + + + Download... + 下載... + + + + Download firmware and voice files + 下載韌體和語音文件 + + + + Check for Updates... + 檢查更新... + + + + Check OpenTX and Companion updates + 檢查 OpenTX 和 Companion 更新 + + + + Compare Models... + 比較模型... + + + + Compare models + 比較模型參數 + + + + Edit Radio Splash Image... + 編輯遙控器開機畫面... + + + + Edit the splash image of your Radio + 編輯你的遙控器的開機畫面 + + + + List programmers... + 列出編程器... + + + + List available programmers + 列出可用的編程器 + + + + Fuses... + 熔絲位... + + + + Show fuses dialog + 顯示熔絲位對話框 + + + + Read firmware from Radio + 從遙控器中讀取韌體 + + + + Write firmware to Radio + 將韌體寫入遙控器 + + + + Add Radio Profile + 添加遙控器檔案 + + + + Manuals and other Documents + 使用說明書和其他文檔 + + + + Open the OpenTX document page in a web browser + 在網路瀏覽器中打開OpenTX文檔主頁 + + + + Write Models and Settings To Radio + 將模型和配置寫入遙控器 + + + + Read Models and Settings From Radio + 從遙控器中讀取模型和配置 + + + + Configure Communications... + 配置通訊... + + + + Configure software for communicating with the Radio + 配置與遙控器通訊的軟件 + + + + Write Backup to Radio + 將備份寫入遙控器 + + + + Write Backup from file to Radio + 將備份文件寫入到遙控器 + + + + Backup Radio to File + 備份遙控器到文件 + + + + Save a complete backup file of all settings and model data in the Radio + 保存一個包含所有遙控器設置和模型數據的備份文件 + + + + Contributors... + 貢獻者... + + + + A tribute to those who have contributed to OpenTX and Companion + 向所有對OpenTX和Companion做出過貢獻的人致敬 + + + + SD card synchronization + 同步SD卡 + + + + Use default system language. + + + + + Use %1 language (some translations may not be complete). + + + + + Recent Files + 最近使用的文件 + + + + Set Menu Language + 設置菜單語言 + + + + Set Icon Theme + 設置程序圖標 + + + + Set Icon Size + 設置圖標大小 + + + + + File + 文件 + + + + + Edit + 編輯 + + + + Settings + 設置 + + + + Read/Write + 讀/寫 + + + + + Help + 幫助 + + + + Write + 寫入 + + + + Ready + 已準備好 + + + + %2 + + + + + Alt+%1 + + + + + New Radio + 新的遙控器 + + + + MdiChild + + + Delete + 刪除 + + + + Move to Category + + + + + Alt+S + + + + + Do you want to overwrite radio general settings? + 你希望覆蓋遙控器一般設定嗎? + + + + Alt+Shift+E + + + + + Ctrl+Alt+C + + + + + Ctrl+Alt+V + + + + + Alt+Shift+S + + + + + Alt+C + + + + + Alt+A + + + + + Alt+R + + + + + Alt+W + + + + + Alt+U + + + + + %n Model(s) + As in "Copy 3 Models" or "Cut 1 Model" or "Delete 3 Models" action). + + + + + + + %n Model(s) + As in "Paste 3 Models" or "Insert 1 Model." + + + + + + + %n Category(ies) + As in "Delete 3 Categories" or "Delete 1 Category." + + + + + + + Nothing selected + + + + + Rename Category + + + + + Edit Model + + + + + Cut + + + + + Copy + 複製 + + + + Paste + 貼上 + + + + Insert + + + + + Edit Radio Settings + + + + + Copy Radio Settings + + + + + Paste Radio Settings + + + + + Simulate Radio + + + + + Add Category + + + + + Category + + + + + Add Model + + + + + Model + 模型名稱 [Model Name] + + + + Restore from Backup + + + + + Model Wizard + 模型嚮導 + + + + Set as Default + + + + + Print Model + + + + + Simulate Model + + + + + Duplicate Model + + + + + Show Category Actions Toolbar + + + + + Show Radio Actions Toolbar + + + + + Show Model Actions Toolbar + + + + + free bytes + 剩餘空間 (Bytes) + + + + New category + Translators do NOT use accent for this, this is the default category name on Horus. + + + + + Category index out of range. + + + + + Cannot delete the last category. + + + + + This category is not empty! + + + + + Cannot insert model, last model in list would be deleted. + + + + + Cannot add model, could not find an available model slot. + + + + + New model + Translators: do NOT use accents here, this is a default model name. + + + + + Cannot paste model, out of available model slots. + + + + + You are replacing an existing model, are you sure? + + + + + Delete %n selected model(s)? + + + + + + + Delete %n selected category(ies)? + + + + + + + Cannot duplicate model, could not find an available model slot. + + + + + Editing model %1: + 編輯模型 %1: + + + + <p><b>Currently selected radio type (%1) is not compatible with file %3 (from %2), models and settings need to be converted.</b></p> + + + + + Unable to find Horus radio SD card! + + + + + Models and Settings written + + + + + Unable to find file %1! + 無法找到文件 %1! + + + + Error opening file %1: +%2. + 打開文件錯誤 %1: +%2. + + + + Error reading file %1: +%2. + 打開文件錯誤 %1: +%2. + + + + Save As + 另存為 + + + + %1 has been modified. +Do you want to save your changes? + %1已經修改. +想要保存修改嗎? + + + + Do you wish to continue with the conversion? + + + + + Choose <i>Apply</i> to convert the file, or <i>Close</i> to close it without conversion. + + + + + <b>The conversion generated some important messages, please review them below.</b> + + + + + Companion :: Conversion Result for %1 + + + + + Cannot write temporary file! + + + + + Open backup Models and Settings file + 打開備份的模型和設置文件 + + + + Invalid binary backup File %1 + 無效的二進製備份文件 %1 + + + + MixData + + + MIX + + + + + (@%1) + + + + + MixerDialog + + + + + + + + Dialog + 對話框 + + + + + + + + + + + Delay + 延遲 [Delay] + + + + + + + + + + + Slow + 慢動作 [Slow] + + + + + + + + + + + Up + 正向 [Up] + + + + + + + + + + + Down + 負向 [Dn] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Delay ans Slow</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These values control the speed and delay of the output of the mix. </p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">延迟和慢动作</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">这些数值控制混控输出的延迟和慢动作 </p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">如果延迟值不为0, 混控的输出将延迟指定的秒数</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">如果慢动作值不为0, 混控的输出将按照指定的速度慢动作 -&gt; 所设定数值为舵机从 -100% 运动到 +100%所需要时间.</p></body></html> + + + + + + + + + + + Include Trim + 微調 [Trim] + + + + + + + + + + + Offset + 偏移 [Offset] + + + + + + + + + + + Weight + 比例 [Weight] + + + + + + + + + + + Name + 名稱 [Name] + + + + + + + + + + + Source + 第一次出現 Mixer的主頁條目概覽中 + 輸入源 [Source] + + + + + + + + + + + Multiplex + 混控方式 [Multiplex] + + + + + + + + + + + Warning + 啟用時蜂鳴 [Warning] + + + + + + + + + + + The curve used by the mix + 此混控使用的曲線 + + + + + + + + + + + Include DR/Expo + 使用 DR/Expo + + + + + + + + + + + Flight modes + 飛行模式 [Modes] + + + + + + + + + + + Switch + 開啟開關 [Switch] + + + + + + + + + + + Mixer warning. +Setting this value will cause a beep to be emmitted when this value is active. + 混控警告 +當本條混控啟用時發出蜂鳴. + + + + + + + + + + + OFF + 1聲蜂鳴 [1] + 關閉 [OFF] + + + + + + + + + + + 1 Beep + 1聲蜂鳴 [1] + + + + + + + + + + + 2 Beep + 2聲蜂鳴 [2] + + + + + + + + + + + 3 Beep + 3聲蜂鳴 [3] + + + + + + + + + + + No + 禁用微調 用在FM設定中 + 不使用 [OFF] + + + + + + + + + + + Yes + 不使用 [OFF] + 使用 [On] + + + + + + + + + + + + + + + + + + + + + + + + + + + GV + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The source for the mixer + 混控的輸入源 + + + + + + + + + + + Multiplexer + +This determines how mixer values are added. + +"+" means the value of the current mix is added to the previous mixes in the same channel. +"*" means the value of the current mix is amultiplied with the previous mixes in the same channel. +"R" means the value replaces the previous values. If the switch is off the value will be ignored. + 混控方式 + +規定了混控值如何混合 + +"+"表示本混控值將會與此通道中的上條2混控 值相加. + +"*"表示本混控值將會與此通道中的上條混控值相乘. + +"R"表示本混控值將會取代此通道中的上條混控 +如果開關關閉此條混控將會被忽略. + + + + + + + + + + + ADD + 與前一行的輸出值相加後輸出 [Add] + + + + + + + + + + + MULTIPLY + 與前一行的輸出值相乘後輸出 [Multiply] + + + + + + + + + + + REPLACE + 與前一行的輸出值相乘後輸出 [Multiply] + 取代前一行的輸出值 [Replace] + + + + + + + + + + + Curve + 曲線 [Curve] + + + + + + + + + + + Switch used by the mix. +If blank then the mix is considered to be "ON" all the time. + 用來開啟此條混控的開關 +如果不設定開啟開關則默認此條混控一直​​啟用. + + + + DEST -> %1 + + + + + Click to access popup menu + + + + + Clear All + + + + + Set All + + + + + Invert All + + + + + + FullScreenDialog + + + + + MixersListWidget + + + Increase font size + + + + + Decrease font size + + + + + Default font size + + + + + Ctrl+0 + + + + + MixesPanel + + + + Move Up + 向上移動此行 + + + + + Ctrl+Up + + + + + + Move Down + 向下移動此行 + + + + + Ctrl+Down + Ctrl+Dn + + + + Clear Mixes + 清除本頁所有混控 + + + + Not enough available mixers! + 無空白混控存儲位置! + + + + Delete Selected Mixes? + 是否刪除選擇的混控? + + + + &Add + 添加 (&A) + + + + Ctrl+A + + + + + &Edit + 編輯 (&E) + + + + Enter + 確定 + + + + &Toggle highlight + 切換高亮 (&T) + + + + Ctrl+T + + + + + &Delete + 删除 (&D) + + + + Delete + 删除 + + + + &Copy + 複製 (&C) + + + + Ctrl+C + + + + + C&ut + 剪下 (&C) + + + + Ctrl+X + + + + + &Paste + 貼上 (&P) + + + + Ctrl+V + + + + + Du&plicate + 克隆 (&P) + + + + Ctrl+U + + + + + Clear Mixes? + 清除混控? + + + + Really clear all the mixes? + 是否真的刪除所有混控? + + + + ModelData + + + Model: + + + + + Throttle Source + 設為油門桿 [Thr Source] + + + + ModelEdit + + + + + + + + Dialog + 對話框 + + + + + + + + + + + Simulate + 遙控器模擬器 + + + + Setup + 設置 Setup + + + + Heli + 直升機 Heli + + + + Flight Modes + 飛行模式 FM + + + + Inputs + 輸入 Inputs + + + + Mixes + !!!! mixes-->mixer + 混控 Mixer + + + + Outputs + 輸出 Outputs + + + + Curves + ModelEdit + 曲線 Curves + + + + Logical Switches + 邏輯開關 Logical Sw + + + + Special Functions + 特殊功能 Special Func + + + + Telemetry + 回傳設置 Tele + + + + + FullScreenDialog + + + + + ModelPrinter + + + Exponential + 指微調的步長 + 先小後大 [Exp] + + + + Extra Fine + 很小 [Extra Fine] + + + + Fine + 小 [Fine] + + + + Medium + 中等 [Medium] + + + + Coarse + 大 [Coarse] + + + + Unknown + Model Printer + 未知[Unknown] + + + + Slave/Jack + 教練從機/教練線插口 [Slave/Jack] + + + + Master/SBUS Module + 教練主機/SBUS 模塊 [Master/SBUS] + + + + Master/CPPM Module + 教練主機/CPPM 模塊 [Master/CPPM] + + + + Master/SBUS in battery compartment + 教练主机/SBUS 电池盒中插座 + + + + Master/Jack + 教练主机/教练线插口 [Master/Jack] + + + + Enable + + + + + Disable + + + + + True + + + + + False + + + + + Yes + + + + + No + + + + + Y + + + + + N + + + + + ON + 啟用 + + + + + + + OFF + + + + + bytes + + + + + + Mode + 模式 + + + + + Channels + 通道數 [Channels] + + + + + Frame length + + + + + PPM delay + PPM 延遲 [Delay] + + + + + Polarity + 極性 [Polarity] + + + + Protocol + + + + + + + Delay + + + + + + Receiver + 接收機設置[Reciever] + + + + Radio protocol + + + + + Subtype + + + + + Option value + + + + + Sub Type + + + + + RF Output Power + + + + + 90 + + + + + 120 + + + + + 120X + + + + + 140 + + + + + Off + Model Printer + 关闭 + + + + + + + + + None + + + + + Name + + + + + Countdown + 倒數報數 + + + + Minute call + + + + + MULT! + + + + + + Offset + + + + + Slow + 慢動作 [Slow] + + + + Warn + + + + + Flight modes + + + + + Flight mode + 飛行模式 [Modes] + + + + All + 開啟 [All] + + + + Edge + 邊沿觸發 EDGE + + + + Sticky + 粘滯鍵 Sticky + + + + Timer + 定時開關 Timer + + + + missing + + + + + Duration + 持續時間 [Duration] + + + + Extended Limits + 舵機上下限擴展 +[Extended Limits] + + + + Display Checklist + 顯示檢查單 +[Checklist] + + + + Global Functions + + + + + Manual + 手動 [Manual] + + + + Auto + 用關機位置 [Auto] + + + + Failsafe Mode + 失控保護方式 [Failsafe Mode] + + + + + Hold + + + + + No Pulse + 不輸出脈衝 [No Pulse] + + + + Not set + 未設置 + + + + No pulses + + + + + Silent + 静音 [Silent] + + + + Beeps + 蜂鳴 [Beeps] + + + + Voice + 語音 [Voice] + + + + Haptic + 振動 [Haptic] + + + + Flight + 飛行 [Flight] + + + + Manual reset + + + + + Step + + + + + Display + + + + + Extended + + + + + Never + 從不 [Never] + + + + On Change + + + + + Always + 一直 [Always] + + + + + + Source + + + + + Trim idle only + + + + + Warning + 啟用時蜂鳴 [Warning] + + + + Reversed + + + + + Tmr + + + + + FrSky S.PORT + + + + + FrSky D + + + + + FrSky D (cable) + + + + + Alti + 高度 + + + + Alti+ + 最大高度 + + + + VSpeed + 垂直速度 + + + + + + A1 + A1 模擬值1 + + + + + + A2 + A2 模擬值2 + + + + + A3 + A3 模擬值3 + + + + + A4 + A4 模擬值4 + + + + + FAS + FAS + + + + Cells + 鋰電總電壓 + + + + Calculated + 運算 + + + + Add + + + + + Average + 平均值 + + + + + Min + + + + + + Max + + + + + Multiply + 乘以 + + + + Totalise + + + + + Cell + 鋰電單片電壓 + + + + Consumption + 消耗 + + + + Distance + + + + + Lowest + 最低 + + + + Cell %1 + 第%1片 + + + + Highest + 最高 + + + + Delta + 每片電壓差 + + + + Formula + + + + + + Id + + + + + Instance + 對象 + + + + + + + Sensor + + + + + + Sources + + + + + + GPS + + + + + Alt. + + + + + + Blades + 旋翼數 + + + + Multi. + + + + + F + + + + + Inst + + + + + Alt + Alt 高度 + + + + Unit + + + + + Prec + + + + + Ratio + 比例 + + + + Multi + + + + + A/Offset + + + + + Filter + 過濾器 + + + + Persist + + + + + Positive + + + + + Log + + + + + Numbers + 數字 + + + + Bars + 條狀圖 + + + + Script + 腳本 + + + + Filename + 文件名 + + + + Error: Unable to open or read file! + + + + + Persistent + 保持[Persistent] + + + + + + FM%1 + + + + + FM%1%2 + + + + + FM%1+%2 + + + + + + Weight + 比例 [Weight] + + + + + Switch + 啟用開[Switch] + + + + + NoTrim + 不使用微調[Notrim] + + + + Offset(%1) + 偏移[Offse](%1) + + + + No DR/Expo + 不使用 DR/Expo + + + + Disabled in all flight modes + 在所有飛行模式中禁用 + + + + instant + 立刻執行[instant] + + + + + + Custom + 自定義[Custom] + + + + Standard + 標準[Standard] + + + + ModelSelectionPage + + + Plane + 固定翼 + + + + Multirotor + 多軸 + + + + Helicopter + 直升機 + + + + Model Name: + 模型名稱: + + + + Model Type: + 模型種類: + + + + Module + + + + + + + + + + CH + 通道 + + + + + + + + + + + Failsafe Mode + 失控保護方式 [Failsafe Mode] + + + + + + + + + + + Start + 開始通道 [CH] + + + + + + + + + + + PPM delay + PPM 延遲 [Delay] + + + + + + + + + + + us + 微秒 + + + + + + + + + + + Negative + 負 [Negative] + + + + + + + + + + + Positive + 正 [Positive] + + + + + + + + + + + RF Output Power + + + + + + + + + + + + Antenna + + + + + + + + + + + + Option value + + + + + + + + + + + + Sub Type + + + + + + + + + + + + Master/Jack + 教練主機/教練線插口 [Master/Jack] + + + + + + + + + + + Slave/Jack + 教練從機/教練線插口 [Slave/Jack] + + + + + + + + + + + Master/SBUS Module + 教練主機/SBUS 模組 [Master/SBUS] + + + + + + + + + + + Master/CPPM Module + 教練主機/CPPM 模組 [Master/CPPM] + + + + + + + + + + + Master/SBUS in battery compartment + 教練主機/SBUS 電池盒中插座 + + + + + + + + + + + Show values in: + + + + + + + + + + + + % + abbreviation for percent + + + + + + + + + + + + μs + abbreviation for microseconds + + + + + + + + + + + + Polarity + 極性 [Polarity] + + + + + + + + + + + Trainer Mode + 教練功能模式 [Trainer Mode] + + + + + + + + + + + ms + 毫秒 + + + + + + + + + + + PPM Frame Length + PPM幀長 [Frame Length] + + + + + + + + + + + Channels + 通道數 [Channels] + + + + + + + + Receiver 1 + + + + + + + + + + + + + + + + + + + X + + + + + + + + + Receiver 2 + + + + + + + + + Receiver 3 + + + + + + + + + + + + WARNING: changing RF Output Power needs RE-BIND + + + + + + + + + Registration ID + + + + + + + + + + + + WARNING: Requires non-certified firmware! + + + + + + + + + + + + Not set + 未設置 + + + + + + + + + + + Hold + 自定義 [Custom]]]]] + 保持 [Hold] + + + + + + + + + + + Custom + 自定義 [Custom]]]]] + 自定義 [Custom] + + + + + + + + + + + No Pulses + 自定義 [Custom]]]]] + 不輸出脈衝 [No Puls] + + + + + + + + + + + Receiver + 自定義 [Custom]]]]] + 接收機設置[Reciever] + + + + + + + + + + + Failsafe Positions + 失控保護位置 [F.s. Positons] + + + + + + + + + + + Protocol + 遙控器發射協議 [Protocol] + + + + + + + + + + + Multi Radio Protocol + 多遙控協議 [Multi Protocal] + + + + + + + + + + + Receiver No. + 接收機編號 [Receiver No.]. + + + + + + + + + + + Output type + 輸出類型 [Output type] + + + + + + + + + + + Open Drain + 開漏輸出 [Open Drain] + + + + + + + + + + + Push Pull + 推挽輸出 [Push Pull] + + + + + + + + + + + Bind on startup + 開機時對頻[Bind] + + + + + + + + + + + Low Power + 低功率[Range] + + + + + + + Internal + + + + + + + + Ext. + Int. + + + + + ModuleData + + + Positive + + + + + Negative + 负 [Negative] + + + + Trainer Port + 教練功能 [Trainer Port] + + + + Internal Radio System + 內置高頻頭 [Internal RF] + + + + External Radio Module + 外置高頻頭 [External RF] + + + + Extra Radio System + 附加高頻頭 [Extra RF] + + + + Radio System + 高頻頭 [Radio System] + + + + 10mW - 16CH + + + + + + 100mW - 16CH + + + + + 500mW - 16CH + + + + + Auto <= 1W - 16CH + + + + + + 25mW - 8CH + + + + + + 25mW - 16CH + + + + + 200mW - 16CH (no telemetry) + + + + + 500mW - 16CH (no telemetry) + + + + + 100mW - 16CH (no telemetry) + + + + + ModulePanel + + + Value + 自定義回傳中使用 + 設為 + + + + Hold + 保持 [Hold] + + + + No Pulse + 不輸出脈衝 [No Pulse] + + + + Ask + + + + + Internal + + + + + Internal + External + + + + + External + + + + + MultiModelPrinter + + + Input + 輸入 + + + + Weight + 比例 [Weight] + + + + Long. cyc + 縱向循環螺距 [Long] + + + + Lateral cyc + 橫向循環螺距 [Lateral] + + + + Collective + 總距 [Collective] + + + + Flight modes + 飛行模式 [Modes] + + + + + Flight mode + 飛行模式 [Modes] + + + + + Switch + 啟用開關 [Switch] + + + + General + + + + + EEprom Size + + + + + Model Image + 模型圖片 [Medel Image] + + + + Throttle + 油門 + + + + Trims + + + + + Center Beep + + + + + Switch Warnings + 開關位置警告 [Switch Positions] + + + + Pot Warnings + 旋鈕位置警告 [Pot Positions] + + + + Other + + + + + Timers + + + + + Time + Time 當前時間 + + + + Countdown + 倒數報數 + + + + Modules + + + + + Trainer port + + + + + Helicopter + 直升機 + + + + Swash + + + + + + Type + + + + + Ring + + + + + Protocol + + + + + Low + + + + + Critical + + + + + Telemetry audio + + + + + Altimetry + 高度計 + + + + + Vario source + Vario 傳感器 + + + + Vario limits > + + + + + Sink max + + + + + Sink min + + + + + Climb min + + + + + Climb max + + + + + Center silent + + + + + Top Bar + 頂部橫條 + + + + + Volts source + 電壓傳感器 + + + + Altitude source + 高度傳感器 + + + + Various + 不同的 + + + + Serial protocol + + + + + FAS offset + + + + + mAh count + + + + + Persistent mAh + 保持mAh + + + + Current source + 當前源 + + + + Blades + 旋翼數 + + + + Parameters + 參數 + + + + Telemetry Sensors + + + + + Telemetry Screens + + + + + GF%1 + GF%1 + + + + Global Functions + + + + + Checklist + + + + + + GV%1 + + + + + RE%1 + + + + + Channel + 通道 + + + + + + Name + 名稱 [Name] + + + + Prec + + + + + Popup + + + + + Outputs + 輸出 Outputs + + + + Subtrim + 舵機中位 [Subtrim] + + + + Direct + + + + + Curve + + + + + PPM + + + + + Linear + 直線 + + + + Telemetry + + + + + Offset + 偏移 [Offset] + + + + + Min + 舵機下限 [Min] + + + + Min.call + + + + + Persist + + + + + F.In + + + + + F.Out + + + + + Global vars + + + + + + Max + 舵機上限 [Max] + + + + Global Variables + 全局變量 [Global Variables] + + + + Inputs + 輸入 + + + + Mixers + 混控 [Mixers] + + + + Curves + 多點曲線 [Curves] + + + + L%1 + + + + + Logical Switches + 邏輯開關 [Logical Sw] + + + + SF%1 + + + + + Special Functions + 特殊功能 [Special Func] + + + + Analogs + 模擬量 [Analogs] + + + + + Unit + 單位 [Unit] + + + + Scale + 縮放 [Scale] + + + + RSSI Alarms + RSSI 警告 [RSSI Alarms] + + + + Multiprotocols + + + Subtype + + + + + Video TX frequency + + + + + CC2500 frequency fine tune + + + + + Telemetry + + + + + Radio output power + + + + + Servo output frequency + + + + + Option value + + + + + Fixed ID value + + + + + DEFAULT + + + + + Custom - proto %1) + + + + + MultirotorPage + + + Throttle Channel: + 油門通道 [Throttle]: + + + + Yaw Channel: + 偏航通道 [Yaw]: + + + + Pitch Channel: + 仰俯通道 [Pitch]: + + + + Roll Channel: + 滾轉通道 [Roll]: + + + + OpenTxEepromInterface + + + Unknown error + + + + + ... plus %1 errors + + + + + Cannot write radio settings + + + + + Cannot write model %1 + + + + + OptionsPage + + + Throttle Cut + 油門切斷 [Throttle Cut] + + + + Throttle Timer + 油門計時器 [Throttle Timer] + + + + Flight Timer + 飛行計時器 [Flight Timer] + + + + OtxFormat + + + Error opening file %1: +%2. + 打開文件錯誤 %1: +%2. + + + + Error opening OTX archive %1 + 打開 OTX 存檔錯誤 %1. {1?} + + + + Error initializing OTX archive writer + OTX 存檔寫入器初始化錯誤 + + + + Error writing file %1: +%2. + 寫入文件錯誤 %1: +%2. + + + + Error creating OTX file %1: +%2. + 創建 OTX 存檔 %1時出錯: +%2. + + + + Error creating OTX archive + 創建 OTX 存檔時出錯 + + + + Error adding %1 to OTX archive + 将 %1 加入到 OTX 存檔時出錯 + + + + PrintDialog + + + + + + + + + + Close + 關閉 + + + + + + + + + + + Style + + + + + + + + + + + + Print + 打印 + + + + + + + + + + + Print to file + 打印到文件 + + + + Print Document + 打印文檔 + + + + Select PDF output file + 選擇PDF輸出文件 + + + + ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) + ODF 文件 (*.odt);;PDF 文件 (*.pdf);;HTML文件 (*.htm *.html);;所有文件 (*) + + + + ProgressDialog + + + + + + + + + + Flash Firmware + 燒錄韌體 + + + + + + + + + + + + Close + 關閉 + + + + Cancel + 取消 + + + + ProgressWidget + + + + + + + + + + Show Details + 顯示詳情 + + + + RadioData + + + Models + + + + + RadioDataConversionState + + + is invalid + + + + + converted to + + + + + verify is + + + + + [DBG] + + + + + [NFO] + + + + + [WRN] + + + + + [CVT] + + + + + [ERR] + + + + + [INV] + + + + + Event + + + + + Origin + + + + + Comp + + + + + Sub-Component + + + + + Field + + + + + Type + + + + + Old + + + + + Action + 功能 + + + + New + 新建配置文件 + + + + Seq + + + + + RadioInterface + + + Cannot write file %1: +%2. + 無法寫入文件 %1: +%2. + + + + <b><u>WARNING!</u></b><br>This will reset the fuses of %1 to the factory settings.<br>Writing fuses can mess up your radio.<br>Do this only if you are sure they are wrong!<br>Are you sure you want to continue? + <b><u>警告!</u></b><br>這將把 %1 的熔絲位恢復工廠設置<br>改變熔絲位可能使你的遙控器變磚.<br>只有當你確定它們是錯誤的時候才能進行此操作!<br>你確認要繼續嗎? + + + + + Could not delete temporary file: %1 + 無法刪除臨時文件: %1 + + + + Unable to find Horus radio SD card! + + + + + RadioKnobWidget + + + <p>Value (input): <b>%1</b></p> + + + + + Right-double-click to reset to center. + + + + + RadioNotFoundDialog + + + + + + + + + + No Radio Found + 未找到遙控器 + + + + + + + + + + + <html><head/><body><p>No Radio was found!</p><p>Make sure that you hold the lower trim buttons towards the center while you turn it on.</p><p>Then connect the USB wire.</p><p><span style=" font-family:'arial,sans-serif'; font-size:13px; font-style:italic; color:#222222; background-color:#ffffff;">Note: if you have a Taranis that has not had the firmware upgraded to 2.0 then this version of Companion will not work.</span></p></body></html> + <html><head/><body><p>未找到遥控器!</p><p>先將這兩個微調按鈕同時保持撥向內側, 然後再打開遙控器.</p><p>開機後再插上USB線.</p><p><span style=" font-family:'arial,sans-serif'; font-size:13px; font-style:italic; color:#222222; background-color:#ffffff;">提示:如果你的X9D遙控器尚未升級到2.0版本, 則不能使用這個版本的 Compaion 軟體.</span></p></body></html> + + + + + + + + + + + OK + + + + + RadioOutputsWidget + + + + + + + + + + + + Form + 表單 + + + + + + + + + + + + + View: + + + + + + + + + + + + + + Logical Switches + + + + + + + + + + + + + + Global Variables + 全局變量 [Global Variables] + + + + + + + + + + + + + Channel Outputs + + + + + + + + + + + + + + Mix Outputs + + + + + + + + + + + + + + L +o +g +i +c + + + + + + + + + + + + + + G +l +o +b +a +l + + + + + + + + + + + + + + C +h +a +n +n +e +l +s + + + + + + + + + + + + + + M +i +x +e +s + + + + + FM%1 + + + + + GV%1 + + + + + RadioSwitchWidget + + + Latch/unlatch the momentary switch. + + + + + RawSource + + + + + + V + + + + + + + + s + + + + + ft + + + + + + m + + + + + °C + + + + + ° + + + + + % + + + + + + mph + + + + + + km/h + + + + + m/s + + + + + A + + + + + mAh + + + + + W + + + + + g + + + + + TrmR + TrmR 方向微調 + + + + TrmE + TrmE 升降微調 + + + + TrmT + TrmT 油門微調 + + + + TrmA + TrmA 副翼微調 + + + + Trm5 + + + + + Trm6 + + + + + TrmH + + + + + TrmV + + + + + + Batt + Batt 控電電壓 + + + + + Time + Time 當前時間 + + + + + Timer1 + 計時器1 [Timer1] + + + + + Timer2 + 計時器2 [Timer2] + + + + + Timer3 + 計時器3 [Timer3] + + + + RAS + + + + + RSSI Tx + RSSI Tx 發射機RSSI + + + + RSSI Rx + RSSI Rx 接收機RSSI + + + + A1 + A1 模擬值1 + + + + A2 + A2 模擬值2 + + + + A3 + A3 模擬值3 + + + + A4 + A4 模擬值4 + + + + Alt + Alt 高度 + + + + Rpm + Rpm 轉速 + + + + Fuel + Fule 燃油 + + + + T1 + T1 温度1 + + + + T2 + T2 温度2 + + + + Speed + Speed 速度 + + + + Dist + 距離 + + + + GPS Alt + GPS Alt GPS高度 + + + + Cell + 鋰電單片電壓 + + + + Cells + 鋰電總電壓 + + + + Vfas + Vfas FAS傳感器電壓 + + + + Curr + Curr 電流 + + + + Cnsp + Cnsp 電池使用mAh + + + + Powr + Powr 功率 + + + + AccX + AccX X軸加速度 + + + + AccY + AccY Y軸加速度 + + + + AccZ + AccZ Z軸加速度 + + + + Hdg + Hdg 航向角 + + + + VSpd + VSpd 垂直速度 + + + + AirSpeed + AirSpeed 空速 + + + + dTE + dTE 總能量變化 + + + + A1- + A1- 模擬值1- + + + + A2- + A2- 模擬值2- + + + + A3- + A3- 模擬值3- + + + + A4- + A4- 模擬值4- + + + + Alt- + Alt- 最小高度 + + + + Alt+ + Alt+ 最大高度 + + + + Rpm+ + + + + + T1+ + T1+ 温度1+ + + + + T2+ + T2+ 温度2+ + + + + Speed+ + + + + + Dist+ + + + + + AirSpeed+ + + + + + Cell- + + + + + Cells- + + + + + Vfas- + + + + + Curr+ + + + + + Powr+ + + + + + ACC + ACC 加速度 + + + + GPS Time + GPS Time GPS時間 + + + + REa + + + + + REb + + + + + + ??? + + + + + ---- + + + + + I + as in Input + + + + + LUA%1%2 + + + + + MAX + MAX 最大 + + + + CYC%1 + CYC%1 循環螺距 + + + + TR + as in Trainer + + + + + SRC + + + + + RawSwitch + + + ↑ + + + + + ↓ + + + + + - + + + + + ! + + + + + RudTrim Left + RudTrim Left 方向微調← + + + + RudTrim Right + RudTrim Right 方向微調→ + + + + EleTrim Down + EleTrim Down 升降微調↓ + + + + EleTrim Up + EleTrim Up 升降微調↑ + + + + ThrTrim Down + ThrTrim Down 油門微調↓ + + + + ThrTrim Up + ThrTrim Up 油門微調↑ + + + + AilTrim Left + AilTrim Left 副翼微調← + + + + AilTrim Right + AilTrim Right 副翼微調→ + + + + Trim 5 Down + + + + + Trim 5 Up + + + + + Trim 6 Down + + + + + Trim 6 Up + + + + + TrmH Left + + + + + TrmH Right + + + + + TrmV Down + + + + + TrmV Up + + + + + REa + + + + + REb + + + + + + OFF + + + + + + ON + 啟用 + + + + THs + THs 油門激活 + + + + TH% + TH% 油門比例 + + + + THt + THt 油門計時 + + + + + ??? + + + + + One + One 單次 + + + + ---- + + + + + Telemetry + + + + + SW + + + + + ReleaseNotesDialog + + + Companion Release Notes + Companion 版本發布說明 + + + + ReleaseNotesFirmwareDialog + + + OpenTX Release Notes + OpenTx 版本發布說明 + + + + RepeatComboBox + + + Played once, not during startup + 播放一次但開機時不播放 [!1x] + + + + No repeat + 播放一次 [1x] + + + + %1s + 每%1秒播放一次 + + + + RudderPage + + + No + RudderPage + 没有方向舵 + + + + Yes + RudderPage + 有方向舵 + + + + <br>Rudder Channel: + <br>方向舵通道: + + + + SdcardFormat + + + Error opening file %1: +%2. + 打開文件錯誤 %1: +%2. + + + + Error opening file %1 in write mode: +%2. + + + + + SensorData + + + + V + + + + + A + + + + + mA + + + + + kts + + + + + m/s + + + + + km/h + + + + + mph + + + + + m + + + + + f + + + + + °C + + + + + °F + + + + + % + + + + + mAh + + + + + W + + + + + mW + + + + + dB + + + + + rpms + + + + + g + + + + + ° + + + + + Rad + + + + + hours + 小时 + + + + minutes + + + + + seconds + + + + + TELE + + + + + Internal + + + + + External + + + + + Setup + + + + + + + + + + Timer 1 + 計時器 1 [Timer 1] + + + + + + + + + + + Top LCD Timer + 頂部 LCD 計時器 + + + + + + + + + + + Model Image + 模型圖片 [Medel Image] + + + + + + + + + + + Warnings + 警告 [Warnings] + + + + + + + + + + + Switch Warnings + 開關位置警告 [Switch Positions] + + + + + + + + + + + Pot Warnings + 旋鈕位置警告 [Pot Positions] + + + + + + + + + + + OFF + 關閉 [OFF] + + + + + + + + + + + Manual + 手動 [Manual] + + + + + + + + + + + Auto + 用關機位置 [Auto] + + + + + + + + + + + Model + 模型名稱 [Model Name] + + + + + + + + + + + Center beep + 回中蜂鳴 [Center Beep] + + + + + + + + + + + Edit Checklist... + + + + + + + + + + + + Extended Trims + 微調範圍擴展 +[Extended Trims] + + + + + + + + + + + Display Checklist + 顯示檢查單 +[Checklist] + + + + + + + + + + + Extended Limits + 舵機上下限擴展 +[Extended Limits] + + + + + + + + + + + Reverse throttle operation. +If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. + + + 將油門桿反向 +如果選中這個選項, 油門桿將會反向. 油門桿向前關閉油門, 油門桿向前打開油門. 油門微調同時會被反向 .油門桿警告同時也反向動作 . + + + + + + + + + + + + + Reverse Throttle + 油門桿反向 +{Reverse] + + + + + + + + + + + Throttle Trim Idle Only + 油門微調只改變怠速 +[Trim Idle] + + + + + + + + + + + Throttle Warning + 油門杆位置警告 +[Throttle State] + + + + + + + + + + + Exponential + 先小後大 [Exp] + + + + + + + + + + + Extra Fine + 很小 [Extra Fine] + + + + + + + + + + + Fine + 較小 [Fine] + + + + + + + + + + + Medium + 中等 [Medium] + + + + + + + + + + + Coarse + 較大 [Coarse] + + + + + + + + + + + Never + 微調從不顯示在LCD顯示屏上 + 从不 [Never] + + + + + + + + + + + On change + ????意思是說微調在撥動微調開關時才在LCD顯示屏上顯示 + 調整時 [On change] + + + + + + + + + + + Always + 微調一直顯示在LCD顯示屏上 + 一直 [Always] + + + + + + + + + + + Global Functions + 全局功能 +[Global Functions] + + + + + + + + + + + Throttle Source + 設為油門桿 [Thr Source] + + + + + + + + + + + Trim Step + 微調步幅 [Trim Step] + + + + + + + + + + + Trims Display + 微調顯示 [Trims Display] + + + + + + + + + + + Timer 2 + 計時器 2 [Timer 2] + + + + + + + + + + + Timer 3 + 計時器 3 [Timer 3] + + + + SetupPanel + + + Timer %1 + 計時器[Timer] %1 + + + + THR + 油門 + + + + Profile Settings + + + + + SD structure path not specified or invalid + + + + + SimpleTailPage + + + Elevator Channel: + 升降舵通道: + + + + SimulatedUIWidget + + + screenshot + Simulator LCD screenshot file name prefix + + + + + ENTER + + + + + S + + + + + PG-UP + + + + + PG-DN + + + + + DEL + + + + + BKSP + + + + + ESC + + + + + INS + + + + + <font size=+3>+</font> + + + + + <font size=+3>-</font> + + + + + <font size=+3>&larr;</font> + + + + + <font size=+3>&rarr;</font> + + + + + <font size=+3>&uarr;</font> + + + + + <font size=+3>&darr;</font> + + + + + <font size=+3>&#x2686;</font> + + + + + <font size=+3>&#x21b6;</font> + + + + + <font size=+3>&#x21b7;</font> + + + + + <font size=+3>&#x21c6;</font> + + + + + + <font size=+3>&#x21d3;</font> + + + + + <font size=+3>&#x21d1;</font> + + + + + <font size=+3>&#x21d5;</font> + + + + + <img src='qrc:/images/simulator/icons/svg/mouse.svg' width=20 height=18 /> + + + + + <img src='qrc:/images/simulator/icons/svg/arrow_click.svg' width=18 height=18 /> + + + + + <pre>[ MENU ]</pre> + + + + + <pre>[ PAGE ]</pre> + + + + + <pre>[ EXIT ]</pre> + + + + + <pre>[ ENT ]</pre> + + + + + <pre>[ SHIFT ]</pre> + + + + + <pre>[ UP ]</pre> + + + + + <pre>[ DN ]</pre> + + + + + <pre>[ <font size=+2>+</font> ]</pre> + + + + + <pre>[ <font size=+2>-</font> ]</pre> + + + + + <pre>[ PgUp ]</pre> + + + + + <pre>[ PgDn ]</pre> + + + + + <pre>[ MDL ]</pre> + + + + + <pre>[ RTN ]</pre> + + + + + <pre>[ SYS ]</pre> + + + + + <pre>[ TELE ]</pre> + + + + + <font size=+3>&#x2261;</font> + + + + + SimulatorMain + + + OpenTx Simulator + + + + + Available profiles: + 可用檔案: + + + + ID: + + + + + Name: + + + + + Available radios: + 可用的遥控器: + + + + Radio profile ID or Name to use for simulator. + 用於模擬器的遙控器檔案 ID 或名稱. + + + + profile + + + + + Radio type to simulate (usually defined in profile). + 模擬的遙控器類型 (一般在遙控器檔案中定義). + + + + radio + + + + + Directory containing the SD card image to use. The default is configured in the chosen Radio Profile. + + + + + path + + + + + Data source type to use (applicable to Horus only). One of: + + + + + type + + + + + data-source + + + + + Radio data (.bin/.eeprom/.otx) image file to use OR data folder path (for Horus-style radios). +NOTE: any existing EEPROM data incompatible with the selected radio type may be overwritten! + + + + + [data-source] + + + + + Error: Profile ID %1 was not found. + + + + + Unrecognized startup data source type: %1 + + + + + WARNING: couldn't initialize SDL: +%1 + 警告: 無法初始化 SDL: +%1 + + + + ERROR: No simulator libraries available. + 錯誤:沒有可用的模擬器庫. + + + + ERROR: Couldn't start simulator, missing radio/profile/data file/folder. + Profile ID: [%1]; Radio ID: [%2]; +Data File: [%3] + + + + + ERROR: Radio profile or simulator firmware not found. +Profile ID: [%1]; Radio ID: [%2] + 錯誤: 未找到遙控器檔案或模擬器韌體. +檔案 ID: [%1]; 遥控器 ID: [%2] + + + + Uknown error during Simulator startup. + + + + + SimulatorMainWindow + + + + + + + + + + + + OpenTx Simulator + + + + + + + + + + + + + + View + + + + + + + + + + + + + + Radio Window + + + + + + + + + + + + + + Reload... + + + + + + + + + + + + + + Tools + + + + + + + + + + + + + + Toolbar + + + + + + + + + + + + + + Reload Lua Scripts + 載入 Lua 腳本 + + + + + + + + + + + + + Reload the Lua environment on the simulated radio. + + + + + + + + + + + + + + F7 + + + + + + + + + + + + + + Reload Radio Data + + + + + + + + + + + + + + Reload all radio data without restarting the simulator. + + + + + + + + + + + + + + F9 + + + + + + + + + + + + + + Key Mapping + + + + + + + + + + + + + + Show keyboard maping reference. + + + + + + + + + + + + + + F1 + + + + + + + + + + + + + + Joystick Settings + + + + + + + + + + + + + + Open joystick configuration settings dialog. + + + + + + + + + + + + + + F3 + + + + + + + + + + + + + + LCD Screenshot + + + + + + + + + + + + + + Save a screenshot of the current simulated LCD screen. + + + + + + + + + + + + + + F8 + + + + + + + + + + + + + + Dock In Main Window + + + + + + + + + + + + + + Show the radio in the main window or as a separate "floating" window. + + + + + + + + + + + + + + Menu Bar + + + + + + + + + + + + + + Show or hide the top menu bar. + + + + + + + + + + + + + + Alt+M + + + + + + + + + + + + + + Constrain Width + + + + + + + + + + + + + + Set radio widget width to be a fixed size. + + + + + + + + + + + + + + Constrain Height + + + + + + + + + + + + + + Set radio widget height to be a fixed size. + + + + + ERROR: Failed to create simulator interface, possibly missing or bad library. + + + + + Alt+T + + + + + Radio Outputs + + + + + F2 + + + + + Telemetry Simulator + 回傳模擬器 + + + + F4 + + + + + Trainer Simulator + + + + + F5 + + + + + Debug Output + Debug 輸出 + + + + F6 + + + + + <b>Simulator Controls:</b> + + + + + <tr><th>Key/Mouse</th><th>Action</th></tr> + note: must match html layout of each table row (keyTemplate). + + + + + <tr><td><kbd>%1</kbd></td><td>%2</td></tr> + note: must match html layout of help text table header. + + + + + Simulator Help + 模擬器幫助 + + + + SimulatorStartupDialog + + + + + + + + + + + + OpenTX Simulator - Startup Options + + + + + + + + + + + + + + Simulator Startup Options: + 模擬器啟動選項: + + + + + + + + + + + + + Radio Profile: + + + + + + + + + + + + + + Existing radio profiles are shown here.<br /> +Create or edit profiles using the Companion application. + + + + + + + + + + + + + + Radio Type: + 遙控器型號: + + + + + + + + + + + + + Existing radio simulators are shown here.<br /> +The radio type specified in the selected profile is used by default. + + + + + + + + + + + + + + Data Source: + + + + + + + + + + + + + + Data File: + + + + + + + + + + + + + + Data Folder: + + + + + + + + + + + + + + SD Image Path: + + + + + + + + + + + + + + Radio data (.bin/.eeprom/.otx) image file to use. A new file with a default image will be created if necessary.<br /> +<b>NOTE</b>: any existing EEPROM data incompatible with the selected radio type may be overwritten! + + + + + + + + + + + + + + Select data file... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ... + + + + + + + + + + + + + + Directory containing RADIO and MODELS folders to use.<br /> +New folder(s) with default radio/model will be created here if necessary. + + + + + + + + + + + + + + Select data folder... + + + + + + + + + + + + + + Directory containing the SD card image to use.<br/> +The default is configured in the chosen Radio Profile. + + + + + + + + + + + + + + Select SD card image folder... + + + + + + + + + + + + + + Select which of the data sources (File/Folder/SD Card) you would like to start the simulator with. + + + + + + + + + + + + + + File + 文件 + + + + + + + + + + + + + Folder + + + + + + + + + + + + + + SD Path + + + + + All files (*.*) + 所有文件 (*.*) + + + + Select a data file + + + + + Select Data Directory + + + + + Select SD Card Image Folder + + + + + SimulatorWidget + + + + + + + + + + + + Companion Simulator + Companion 模擬器 + + + + Radio Simulator (%1) + + + + + Could not determine startup data source. + + + + + Could not load data, possibly wrong format. + + + + + Data Load Error + + + + + Invalid startup data provided. Plese specify a proper file/path. + + + + + Simulator Startup Error + + + + + Error saving data: could open file for writing: '%1' + + + + + Error saving data: could not get data from simulator interface. + + + + + An unexpected error occurred while attempting to save radio data to file '%1'. + + + + + Data Save Error + + + + + Radio firmware error: %1 + + + + + - Flight Mode %1 (#%2) + + + + + Cannot open joystick, joystick disabled + 無法打開遊戲桿, 遊戲桿功能禁用 + + + + SliderWidget + + + Right-double-click to reset to center. + + + + + <p>Value (input): <b>%1</b></p> + + + + + SplashLibraryDialog + + + + + + + + + + + + + + + + + + ... + + + + + Splash Library - page %1 of %2 + 開機圖片庫 - 第%1頁/共%2頁 + + + + Invalid image in library %1 + 圖片庫 %1 中的圖片無效 + + + + No valid image found in library, check your settings + 在圖片庫中沒有找到有效的圖片, 請檢查你的設置 + + + + StandardPage + + + Channel %1 + 通道 %1 + + + + Storage + + + Unable to find file %1! + 無法找到文件 %1! + + + + StyleEditDialog + + + + + + + + + + + + + Style Sheet Editor + + + + + + + + + + + + &Reset to default + + + + + + + + + + + + &Cancel + + + + + + + + + + + + &OK + + + + + + + + + + + + This feature does not validate your changes and assumes you are familiar with CSS syntax for QT. + + + + + Cannot retrieve style %1 +Error: %2 + + + + + Cannot retrieve default style %1 +Error: %2 + + + + + Cannot update custom style %1 +Error: %2 + + + + + Stylesheet + + + Style sheet data read from '%1' + + + + + Style sheet data unable to be read from '%1' + + + + + Cannot create folder '%1' + + + + + Cannot open file for writing '%1': Error: %2 + + + + + Cannot write to file '%1': Error: %2 + + + + + Cannot flush buffer for file '%1': Error: %2 + + + + + Style sheet written to '%1' + + + + + Custom style sheet deleted: '%1' + + + + + Unable to delete custom style sheet: '%1' + + + + + SyncProcess + + + [TEST RUN] + + + + + Synchronization failed, nothing found to copy. + + + + + Skipping large file: %1 (%2KB) + + + + + Creating directory: %1 + + + + + Could not create directory: %1 + + + + + Gathering file information for %1... + + + + + No files found in %1 + + + + + Synchronization aborted at %1 of %2 files. + + + + + Synchronization finished with %1 files in %2m %3s. + + + + + Synchronizing: %1 + To: %2 + + + + + Starting synchronization: + %1 -> %2 + + + + + + +Too many errors, giving up. + + + + + Skipping filtered file: %1 + + + + + Skipping linked file: %1 + + + + + Aborted synchronization of: + + + + + Finished synchronizing: + + + + + Created: %1; Updated: %2; Skipped: %3; Errors: %4; + + + + + Directory exists: %1 + + + + + At least one of the file modification dates is in the future, error on: %1 + + + + + Skipping older file: %1 + + + + + Could not open source file '%1': %2 + + + + + Could not open destination file '%1': %2 + + + + + Skipping identical file: %1 + + + + + Replacing file: %1 + + + + + Creating file: %1 + + + + + Could not delete destination file '%1': %2 + + + + + Copy failed: '%1' to '%2': %3 + + + + + TailPage + + + Rudder Channel: + 方向舵通道: + + + + Elevator Channel: + 升降舵通道: + + + + Only one channel still available!<br>You probably should configure your model without using the wizard. + 只剩一個通道可用!<br>可能你需要不使用嚮導來配置模型. + + + + TailSelectionPage + + + Elevator and Rudder + 升降舵和方向舵 + + + + Only Elevator + 只有升降舵 + + + + V-tail + V尾 + + + + Tail Type: + 尾翼類型: + + + + Telemetry + + + + + + + + + + Protocol + 協議 + + + + + + + + + + + Alarm 1 + 警告 1 + + + + + + + + + + + + + + + + + + + ---- + + + + + + + + + + + + + + + + + + + + Yellow + 黄色警告 + + + + + + + + + + + + + + + + + + + Orange + 橙色警告 + + + + + + + + + + + + + + + + + + + Red + 红色警告 + + + + + + + + + + + Alarm 2 + 警告 2 + + + + + + + + + + + RSSI + + + + + + + + + + + + Disable telemetry audio warnings + + + + + + + + + + Source + + + + + + + + + + + + A1 + A1 模擬值1 + + + + + + + + + + + A2 + A2 模擬值2 + + + + + + + + + + + Sink Max + 最大下降率 + + + + + + + + + + + Climb Max + 最大爬升 + + + + + + + + + + + Sink Min + 最小下降率 + + + + + + + + + + + Climb Min + 最小爬升 + + + + + + + + + + + Center Silent + 中間靜音 + + + + + + + + + + + Vario limits + Vario 限值 + + + + + + + + + + + Vario source + Vario 傳感器 + + + + + + + + + + + Altimetry + 高度計 + + + + + + + + + + + Altitude source + 高度傳感器 + + + + + + + + + + + Volts source + 電壓傳感器 + + + + + + + + + + + Top Bar + 頂部橫條 + + + + + + + + + + + Volt source + 電壓傳感器 + + + + + + + + + + + Current source + 當前源 + + + + + + + + + + + Blades + 旋翼數 + + + + + + + + + + + mAh count + + + + + + + + + + + + mAh + + + + + + + + + + + + A + + + + + + + + + + + + FAS Offset + FAS偏移 + + + + + + + + + + + Persistent mAh + 保持mAh + + + + + + + + + + + Various + ???? + 不同的 + + + + + + + + + + + Serial Protocol + 串口協議 + + + + + + + + + + + None + + + + + + + + + + + + FrSky Sensor Hub + FrSky Sensor Hub + + + + + + + + + + + Sensors + 傳感器 + + + + + + + + + + + Disable multi sensor handling + 禁止多傳感器處理 + + + + TelemetryAnalog + + + + + + + + + + Unit + 單位 + + + + + + + + + + + Max Value + 最大值 + + + + + + + + + + + Alarm 1 + 警告 1 + + + + + + + + + + + + + + + + + + + ---- + + + + + + + + + + + + + + + + + + + + Yellow + 黄色警告 + + + + + + + + + + + + + + + + + + + Orange + + + + + + + + + + + + + + + + + + + + Red + 红色警告 + + + + + + + + + + + + + + + + + + + < + + + + + + + + + + + + + + + + + + + + > + + + + + + + + + + + + Alarm 2 + 警告 2 + + + + + + + + + + + Offset + + + + + + + + + + + + Volts (V) + 電壓 (V) + + + + + + + + + + + Amps (A) + 電流 (A) + + + + + + + + + + + Speed (m/s or ft/s) + 速度 (m/s or ft/s) + + + + + + + + + + + Raw (-) + 原始值 (-) + + + + + + + + + + + Speed (km/h or miles/h) + 速度 ( km/h 或 miles/h) + + + + + + + + + + + Meters (m or ft) + 高度 (米或英尺) + + + + + + + + + + + Temp (°) + 温度 (°) + + + + + + + + + + + Fuel (%) + 油量 (%) + + + + + + + + + + + mAmps (mA) + 電流 (mA) + + + + Range + 範圍 + + + + TelemetryCustomScreen + + + + + + + + + + Custom Screen Type + 自定義屏幕類型 + + + + + + + + + + + Min + 最小 + + + + + + + + + + + Source + 來源 + + + + + + + + + + + Gauge + 儀錶盤 + + + + + + + + + + + Max + 最大 + + + + None + 回傳屏幕設置中的選項 + + + + + Numbers + 數字 + + + + Bars + 條狀圖 + + + + Script + 脚本 + + + + TelemetryPanel + + + Telemetry screen %1 + 回傳屏幕 %1 + + + + FrSky S.PORT + + + + + FrSky D + + + + + FrSky D (cable) + + + + + Source + + + + + Low Alarm + 低警告 + + + + Critical Alarm + 緊急警告 + + + + Winged Shadow How High + + + + + Winged Shadow How High (not supported) + Winged Shadow How High (不支持) + + + + Alti + 高度 + + + + Alti+ + 最大高度 + + + + VSpeed + 垂直速度 + + + + + + A1 + A1 模擬值1 + + + + + + A2 + A2 模擬值2 + + + + + A3 + A3 模擬值3 + + + + + A4 + A4 模擬值4 + + + + + FAS + FAS + + + + Cells + 鋰電總電壓 + + + + --- + + + + + TelemetrySensor + + + + + + + + + + Form + 表單 + + + + + + + + + + + Custom + 自定義 + + + + + + + + + + + Calculated + 運算 + + + + + + + + + + + Id + + + + + + + + + + + + Instance + 對象 + + + + + + + + Rx + + + + + + + + + Mod. + + + + + + + + + + + + Add + + + + + + + + + + + + Average + 平均值 + + + + + + + + + + + Min + 最小 + + + + + + + + + + + Max + 最大 + + + + + + + + + + + Multiply + 乘以 + + + + + + + + + + + Totalize + 總計 + + + + + + + + + + + Cell + 鋰電單片電壓 + + + + + + + + + + + Consumption + 消耗 + + + + + + + + + + + Dist + 距離 + + + + + + + + + + + Cells Sensor : + 鋰電電壓傳感器 : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + --- + + + + + + + + + + + + GPS Sensor : + GPS 傳感器 : + + + + + + + + + + + Alt. Sensor : + 高度傳感器 : + + + + + + + + + + + Sensor : + 傳感器 : + + + + + + + + + + + Raw (-) + 原始值 (-) + + + + + + + + + + + V + + + + + + + + + + + + A + + + + + + + + + + + + mA + + + + + + + + + + + + kt + + + + + + + + + + + + m/s + + + + + + + + + + + + ft/s + + + + + + + + + + + + km/h + + + + + + + + + + + + mph + + + + + + + + + + + + m + + + + + + + + + + + + ft + + + + + + + + + + + + °C + + + + + + + + + + + + °F + + + + + + + + + + + + % + + + + + + + + + + + + mAh + + + + + + + + + + + + W + + + + + + + + + + + + mW + + + + + + + + + + + + dBm + + + + + + + + + + + + RPM + + + + + + + + + + + + g + + + + + + + + + + + + ° + + + + + + + + + + + + Rad + + + + + + + + + + + + mL + + + + + + + + + + + + US fl.Oz. + + + + + + + + + + + + Precision + 精確度 + + + + + + + + + + + Ratio + 比例 + + + + + + + + + + + Blades + 旋翼數 + + + + + + + + + + + Offset + 偏移 + + + + + + + + + + + Multiplier + 係數 + + + + + + + + + + + Auto Offset + 自動偏移 + + + + + + + + + + + Filter + 過濾器 + + + + + + + + + + + Persistent + 保持 + + + + + + + + + + + Positive + 正向 + + + + + + + + + + + Logs + LOG記錄 + + + + TelemetrySensorPanel + + + Lowest + 最低 + + + + Cell %1 + 第%1片 + + + + Highest + 最高 + + + + Delta + 每片電壓差 + + + + TelemetrySimulator + + + + + + + + + + + + Telemetry Simulator + 回傳模擬器 + + + + + + + + + + + + + When enabled, sends any non-blank values as simulated telemetry data. + 如果允许 =, 發送任何非空值作為回傳模擬數據. + + + + + + + + + + + + + Simulate + 模擬 + + + + + + + + + + + + + Replay SD Log File + 重播 SD Log 文件 + + + + + + + + + + + + + Replay rate + + + + + + + + + + + + + + |> + + + + + + + + + + + + + + <| + + + + + + + + + + + + + + > + + + + + + + + + + + + + + <- + + + + + + + + + + + + + + X + + + + + + + + + + + + + + 1/5x + 1/5x + + + + + + + + + + + + + 5x + 5x + + + + + + + + + + + + + No Log File Currently Loaded + 現在沒有載入任何 log 文件 + + + + + + + + + + + + + Setting RSSI to zero simulates telemetry and radio link loss. + + + + + + + + + + + + + + Set RSSI to zero when paused. + + + + + + + + + + + + + + Stop sending telemetry data when the Telemetry Simulator window is hidden. + + + + + + + + + + + + + + Pause simulation when hidden. + + + + + + + + + + + + + + Load + 載入 + + + + + + + + + + + + + Row # +Timestamp + 行數 +時間戳 + + + + + + + + + + + + + RxBt + RxBt 接收機電壓 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + V / ratio + 伏 / 比值 + + + + + + + + + + + + + RAS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <html><head/><body><p><br/></p></body></html> + + + + + + + + + + + + + + VFAS + VFAS FAS傳感器電壓 + + + + + + + + + + + + + Lat,Lon +(dec.deg.) + + + + + + + + + + + + + + dd-MM-yyyy +hh:mm:ss + + + + + + + + + + + + + + + + + + + + + + + + Volts + V + + + + + + + + + + + + + RSSI + RSSI 信號強度 + + + + + + + + + + + + + Db + + + + + + + + + + + + + + Curr + Curr 電流 + + + + + + + + + + + + + Amps + A + + + + + + + + + + + + + Cels + Cells 鋰電電壓 + + + + + + + + + + + + + A1 + A1 模擬值1 + + + + + + + + + + + + + A2 + A2 模擬值2 + + + + + + + + + + + + + ASpd + ASpd 空速 + + + + + + + + + + + + + + + + + + + + + + + km/h + + + + + + + + + + + + + + A3 + A3 模擬值3 + + + + + + + + + + + + + GAlt + GALT GPS高度 + + + + + + + + + + + + + + + + + + + + + + + Meters + m + + + + + + + + + + + + + A4 + A4 模擬值4 + + + + + + + + + + + + + GSpd + GSpd GPS速度 + + + + + + + + + + + + + Tmp1 + Tmp1 温度1 + + + + + + + + + + + + + Hdg + Hdg 航向角 + + + + + + + + + + + + + Degrees + ° + + + + + + + + + + + + + Tmp2 + Tmp2 温度2 + + + + + + + + + + + + + + + + + + + + + + + °C + + + + + + + + + + + + + + Date + Date 日期 + + + + + + + + + + + + + + + + + + + + + + + RPM + Rpm + + + + + + + + + + + + + GPS + + + + + + + + + + + + + + Fuel + Fule 燃油 + + + + + + + + + + + + + % + + + + + + + + + + + + + + AccX + AccX X軸加速度 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + G + G + + + + + + + + + + + + + Fuel Qty + Fule Qty 油量 + + + + + + + + + + + + + ml + + + + + + + + + + + + + + AccY + AccY Y軸加速度 + + + + + + + + + + + + + VSpd + VSpd 垂直速度 + + + + + + + + + + + + + m/s + + + + + + + + + + + + + + AccZ + AccZ Z軸加速度 + + + + + + + + + + + + + Alt + Alt 高度 + + + + Log File + Log 文件 + + + + LOG Files (*.csv) + LOG文件 (*.csv) + + + + ERROR - invalid file + 錯誤 無效的文件 + + + + ThrottlePage + + + Yes + 使用油門通道 + + + + No + 不使用油門通道 + + + + <br>Throttle Channel: + <br>油門通道: + + + + Timer + + + + + + + + + + Countdown + 倒數報數 + + + + + + + + + + + Minute Call + 分鐘提示 + + + + TimerData + + + TMR + + + + + Timer %1 + 計時器[Timer] %1 + + + + TimerEdit + + + Use mouse scroll or UP/DOWN arrow keys to change time in small steps. +CTRL + scroll or PAGE UP/DOWN keys to change time in larger steps. + + + + + m + + + + + h + + + + + s + + + + + TimerPanel + + + Silent + 静音 [Silent] + + + + Beeps + 蜂鳴 [Beeps] + + + + Voice + 語音 [Voice] + + + + Haptic + 振動 [Haptic] + + + + Not persistent + 關機不記憶 [Not persistent] + + + + Persistent (flight) + 關機記憶 隨Flight重設 [Flight] + + + + Persistent (manual reset) + 關機記憶 手動重設 [manual reset] + + + + Trainer + + + + + + + + + + Form + 表單 + + + + + + + + + + + Mode + 模式 + + + + + + + + + + + Input + 輸入 + + + + + + + + + + + Weight + 比例 + + + + + + + + + + + Rud + 方向通道 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Beeper volume + +0 - Quiet. No beeps at all. +1 - No Keys. Normal beeps but menu keys do not beep. +2 - Normal. +3 - Loud. +4 - Extra loud. + 蜂鳴音量 + +0 - 靜音 沒有蜂鳴聲 +1 - 除菜單鍵外都有有蜂鳴聲. +2 - 普通音量. +3 - 大音量. +4 - 超大音量. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Off + 關閉 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + += (Sum) + += (相加) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + := (Replace) + := (取代) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + chn1 + 通道1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + chn2 + 通道2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + chn3 + 通道3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + chn4 + 通道4 + + + + + + + + + + + Ele + 升降通道 + + + + + + + + + + + Thr + 油門通道 + + + + + + + + + + + Ail + 副翼通道 + + + + TrainerSimulator + + + + + + + + + + + + Trainer simulator + 教練功能模擬 + + + + TreeModel + + + Index + 模型編號 + + + + Name + + + + + Size + 佔用內存 + + + + RX # + + + + + Models + Translators do NOT use accent for this, this is the default category name on Horus. + + + + + Model %1 + Translators: do NOT use accents here, this is a default model name. + + + + + VTailPage + + + First Tail Channel: + 第一個V尾通道: + + + + Second Tail Channel: + 第二個V尾通道: + + + + VirtualJoystickWidget + + + Hld Y + + + + + Hold Vertical stick position. + + + + + Fix Y + 固定 Y + + + + Prevent Vertical movement of stick. + + + + + Fix X + 固定 X + + + + Prevent Horizontal movement of stick. + + + + + Hld X + + + + + Hold Horizontal stick position. + + + + + WingtypeSelectionPage + + + Standard Wing + 標準機翼 + + + + Flying Wing / Deltawing + 飛翼 / 三角翼 + + + + WizardDialog + + + Model Wizard + 模型嚮導 + + + + Model Type + 模型種類 + + + + Enter model name and model type. + 輸入模型名稱和模型種類. + + + + Throttle + 油門 + + + + Has your model got a motor or an engine? + 你的模型裝有馬達或引擎嗎? + + + + Wing Type + 機翼類型 + + + + Is your model a flying wing/deltawing or has it a standard wing configuration? + 你的模型是是標準機翼, 還是飛翼/三角翼? + + + + Ailerons + 副翼 + + + + Has your model got ailerons? + 你的模型有副翼嗎? + + + + Flaps + 襟翼 + + + + Has your model got flaps? + 你的模型有襟翼嗎? + + + + Airbrakes + 空氣剎車 + + + + Has your model got airbrakes? + 你的模型有空氣剎車嗎? + + + + Flying-wing / Delta-wing + 飛翼 / 三角翼 + + + + Select the elevons channels + 指定升降副翼通道 + + + + Rudder + 方向舵 + + + + Does your model have a rudder? + 你的模型有方向舵嗎? + + + + Tail Type + 尾翼類型 + + + + Select which type of tail your model is equiped with. + 選擇你的飛機裝置何種尾翼類型. + + + + + Tail + 尾翼 + + + + + Select channels for tail control. + 選擇尾翼通道. + + + + V-Tail + V尾 + + + + Select elevator channel. + 選擇升降舵通道. + + + + Cyclic + 傾斜盤 + + + + Which type of swash control is installed in your helicopter? + 你的直升機使用何種十字盤? + + + + Tail Gyro + 鎖尾陀螺儀 + + + + Has your helicopter got an adjustable gyro for the tail? + 你的直升機裝有感度可調的鎖尾陀螺嗎? + + + + Rotor Type + 旋翼類型 + + + + Has your helicopter got a flybar? + 你的直升機有副翼嗎? + + + + + Helicopter + 直升機 + + + + + Select the controls for your helicopter + 選擇你的直升機的控制通道 + + + + Multirotor + 多軸 + + + + Select the control channels for your multirotor + 選擇你的多旋翼的控制通道 + + + + Model Options + 模型選項 + + + + Select additional options + + + + + Save Changes + + + + + Manually check the direction of each control surface and reverse any channels that make controls move in the wrong direction. Remove the propeller/propellers before you try to control your model for the first time.<br>Please note that continuing removes all old model settings! + 飛機通電後, 請人工檢查每個舵面的運動方向, 如果舵面運動方向錯誤請將此舵機設置成反向. 第一次通電前請卸下螺旋槳. <br>經常把不用的的模型配置刪除是好習慣! + + + + Enter a name for your model and select model type. + 請輸入模型名字和模型種類. + + + + Select the receiver channel that is connected to your ESC or throttle servo.<br><br>Throttle - Spektrum: CH1, Futaba: CH3 + 選擇電調或油門舵機插在哪個通道上.<br><br>Spektrum接收機:通道1, Futaba接收機: 通道3 + + + + Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and pitch. This surface is called an elevon. + 大多數固定翼的控制舵面分別安裝在機翼和尾翼上. 飛翼或三角翼只有一個機翼. 一般固定翼的主機翼上的舵面控制飛機繞縱軸的滾轉, 這些舵面叫做副翼.<br>飛翼機翼後緣的舵面控制飛機繞縱軸的滾轉和繞橫軸的仰俯. 這些舵面叫做升降副翼. + + + + Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect a single receiver channel to two separate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 + 模型使用一個或兩個通道來控制副翼.<br>如果使用一個通道, 則需要使用Y線來控制兩個副翼舵機.<br><br>副翼通道 - Spektrum接收機: 通道2, Futaba接收機: 通道1 + + + + This wizard assumes that your flaps are controlled by a switch. If your flaps are controlled by a potentiometer you can change that manually later. + 此嚮導假定你使用開關來控制襟翼. 如果你使用旋鈕控制襟翼, 你可以在嚮導完成後手動更改配置. + + + + Air brakes are used to reduce the speed of advanced sail planes.<br>They are very uncommon on other types of planes. + 空氣剎車在高級滑翔機中用來降低空速, 它們很少見於普通固定翼中. + + + + Models use two channels to control the elevons.<br>Select these two channels + 模型使用2個通道控制升降副翼 <br>選擇這兩個通道 + + + + Select the receiver channel that is connected to your rudder.<br><br>Rudder - Spektrum: CH4, Futaba: CH4 + 選擇方向舵通道.<br><br>Spektrum接收機: 通道4, Futaba接收機: 通道4 + + + + Select the tail type of your plane. + 選擇你的飛機的尾翼類型. + + + + + Select the Rudder and Elevator channels.<br><br>Rudder - Spektrum: CH4, Futaba: CH4<br>Elevator - Spektrum: CH3, Futaba: CH2 + 選擇方向舵或升降舵通道.<br><br>方向舵: Spektrum接收機: 通道4, Futaba接收機: 通道4<br>升降舵: Spektrum接收機: 通道3, Futaba接收機: 通道2 + + + + Select the Elevator channel.<br><br>Elevator - Spektrum: CH3, Futaba: CH2 + 選擇升降舵通道.<br><br>Spektrum接收機: 通道3, Futaba接收機: 通道2 + + + + + + + + + + TBD. + TBD. + + + + Select the control channels for your multirotor.<br><br>Throttle - Spektrum: CH1, Futaba: CH3<br>Yaw - Spektrum: CH4, Futaba: CH4<br>Pitch - Spektrum: CH3, Futaba: CH2<br>Roll - Spektrum: CH2, Futaba: CH1 + 選擇你的多旋翼的控制通道.<br><br>油门 - Spektrum: 通道1, Futaba: 通道3<br>偏航 - Spektrum: 通道4, Futaba: 通道4<br>仰俯 - Spektrum: 通道3, Futaba: 通道2<br>滚转 - Spektrum: 通道2, Futaba: 通道1 + + + + There is no help available for the current page. + 當前頁面沒有幫助信息. + + + + Model Wizard Help + 模型嚮導幫助 + + + + WizardPrinter + + + Plane + 固定翼 + + + + Multicopter + 多軸 + + + + Helicopter + 直升機 + + + + Model Name: + 模型名稱: + + + + Model Type: + 模型種類: + + + + Options: + 選項: + + + + Channel %1: + 通道 %1: + + + + burnConfigDialog + + + + + + + + + + Programmer Configuration + 編程器配置 + + + + + + + + + + + + + + + + + + + Location of sam-ba executable + 定位 sam-ba 可執行文件 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The location of the AVRDUDE executable. + AVRDUDE可執行文件位置. + + + + + + + + + + + DFU-Util Location + DFU-Util 軟體位置 + + + + + + + + + + + Location of AVRDUDE executable + AVRDUDE可執行文件位置 + + + + + + + + + + + + + + + + + + + + + + + + + + + Use this button to browse and look for the AVRDUDE executable file. + 使用這個按鈕定位AVRDUDE可執行文件. + + + + + + + + + + + + + + + + + + + + + + + + + + + Browse... + 瀏覽... + + + + + + + + + + + Programmer + 編程器 + + + + + + + + + + + Programmer used for communicating with the controller. +Please consult the programmer's documentation and the AVRDUDE documentation to select the appropriate programmer. + 與遙控器通訊用的編程器. +請參考編程器文檔和AVRDUDE文檔來選擇合適的編程器. + + + + + + + + + + + List all available programmers. + 列出所有可用的编程器. + + + + + + + + + + + List Available + 列出可用 + + + + + + + + + + + + + + + + + + + Extra arguments that will be passed to AVRDUDE on every call + 每次調用時將會把更多的參數將會傳到給AVRDUDE + + + + + + + + + + + + + + + + + + + Extra arguments used in AVRDUDE. +This can be used for providing extra information to AVRDUDE. + +Please only use this if you know what you are doing. There are no error checks and you could cripple your controller. + 用於AVRDUDE的更多參數. +可用來為AVRDUDE提供更多的信息. + +僅當你知道在做什麼時使用. 這裡不進行錯誤檢查所以你可能把遙控器變磚. + + + + + + + + + + + Extra Arguments + 更多參數 + + + + + + + + + + + Show AVRDUDE help + 顯示AVRDUDE幫助 + + + + + + + + + + + Show Help + 顯示幫助 + + + + + + + + + + + Communication port to the programmer. + + 編程器通訊端口. + + + + + + + + + + + + + + + + + + + + Port + 端口 + + + + + + + + + + + AVRDUDE Location + AVRDUDE 位置 + + + + + + + + + + + MCU + MCU + + + + + + + + + + + + + + + + + + + CPU of your TX + 你的遥控器所用CPU + + + + + + + + + + + + + + + + + + + CPU present on your 9x radio +Should be m64 for stock radios +m2560 for v4.1 boards + 你的9x遙控器的CPU +零售版遙控器應為m64 +v4.1版電路板應為m2560 + + + + + + + + + + + at91sam3s8-9xr + at91sam3s8-9xr + + + + + + + + + + + SAM-BA Location + SAM-BA 位置 + + + + + + + + + + + ARM MCU + ARM MCU + + + + + + + + + + + sam-ba serial port + sam-ba 串口 + + + + + + + + + + + Alternate device + 其他設備 + + + + + + + + + + + Use advanced controls + 使用高級控制項 + + + + DFU-UTIL Configuration + DFU-UTIL 配置 + + + + SAM-BA Configuration + SAM-BA 配置 + + + + AVRDUDE Configuration + AVRDUDE 配置 + + + + + + Select Location + 選擇位置 + + + + List available programmers + 列出可用的编程器 + + + + Avrdude help + AVRDUDE 幫助 + + + + <b><u>WARNING!</u></b><br>Normally CPU type is automatically selected according to the chosen firmware.<br>If you change the CPU type the resulting eeprom could be inconsistent. + <b><u>警告</u></b><br>一般來說CPU類型將會根據固件文件自動選擇<br>如果你更改CPU類型, EEPROM可能會不兼容. + + + + joystickDialog + + + + + + + + + + + + Configure Joystick + 配置遊戲桿 + + + + + + + + + + + + + Ch2 + 遊戲桿通道2 + + + + + + + + + + + + + Ch1 + 遊戲桿通道1 + + + + + + + + + + + + + Ch4 + 遊戲桿通道4 + + + + + + + + + + + + + Ch6 + 遊戲桿通道6 + + + + + + + + + + + + + Ch3 + 遊戲桿通道3 + + + + + + + + + + + + + Ch5 + 遊戲桿通道5 + + + + + + + + + + + + + Ch7 + 遊戲桿通道7 + + + + + + + + + + + + + Ch8 + 遊戲桿通道8 + + + + + + + + + + + + + Instructions + 指令 + + + + + + + + + + + + + Enable + + + + + + + + + + + + + + Cancel + 取消 + + + + + + + + + + + + + Back + + + + + + + + + + + + + + Start + 開始通道 [CH] + + + + Next + 下一步 + + + + + + + + + + + + + Ok + 確定 + + + + Not Assigned + + + + + Stick + + + + + Knob/Slider %1 + + + + + No joysticks found + 找不到遊戲桿 + + + + Cannot open joystick. + 找不到遊戲桿. + + + + Press the Start button to start the stick range calibration procedure. +You may change the channel assignments or inversion at any time. + + + + + Move sticks and pots in every direction making full movement +Press Next when finished + + + + + Place sticks and pots in middle position. +Press Next when done + + + + + Map joystick channels to controls using comboboxes. +Press Next when done. + + + + + Check inversion checkbox to if necessary to reverse direction. +Press Next when done. + + + + + Press OK to save configuration +Press Cancel to abort joystick calibration without saving. + + + + + Calibration not complete, save anyway? + + + + + preferencesDialog + + + Preferences + 偏好設置 + + + + Simu BackLight + 模擬器背光 + + + + Simulator capture folder + 模擬器截圖保存目錄 + + + + Joystick + 遊戲桿 + + + + Remember simulator switches + + + + + Enable + 允许 + + + + Use clipboard only + 抓圖僅保存在剪貼板中 + + + + Calibrate + 校準 + + + + Blue + 藍色 + + + + Green + 绿色 + + + + Red + 红色 + + + + Orange + 橙色 + + + + Yellow + 黄色 + + + + + Open Folder + 打開文件夾 + + + + Personal splash library + 個人開機畫面庫 + + + + Include companion splashes + + + + + Only user defined splashes + 只顯示用戶自定義啟動畫面 + + + + Splash library behaviour + 開機圖片庫行為 + + + + Custom TX splash screen + 自定義遙控器開機畫面 + + + + Open Image + 打開圖片 + + + + + ... + + + + + Invert Pixels + 負片效果 + + + diff --git a/radio/src/audio.cpp b/radio/src/audio.cpp index ac7294877..3013fc449 100644 --- a/radio/src/audio.cpp +++ b/radio/src/audio.cpp @@ -518,8 +518,6 @@ AudioQueue::AudioQueue() #if !defined(SIMU) void audioTask(void * pdata) { - audioWaitReady(); - while (!audioQueue.started()) { RTOS_WAIT_TICKS(1); } diff --git a/radio/src/dataconstants.h b/radio/src/dataconstants.h index c63d21709..39354f3f8 100644 --- a/radio/src/dataconstants.h +++ b/radio/src/dataconstants.h @@ -214,7 +214,13 @@ enum ModuleIndex { }; #endif -#if defined(RADIO_FAMILY_T16) || (defined(RADIO_T12) && defined(INTERNAL_MODULE_MULTI)) || defined(ALLOW_TRAINER_MULTI) +#if defined(RADIO_T16) && !defined(INTERNAL_MODULE_MULTI) +#if defined(BLUETOOTH) + #define TRAINER_MODE_MAX() TRAINER_MODE_SLAVE_BLUETOOTH +#else + #define TRAINER_MODE_MAX() TRAINER_MODE_SLAVE +#endif +#elif defined(INTERNAL_MODULE_MULTI) || defined(ALLOW_TRAINER_MULTI) #define TRAINER_MODE_MAX() TRAINER_MODE_MULTI #elif defined(BLUETOOTH) #define TRAINER_MODE_MAX() TRAINER_MODE_SLAVE_BLUETOOTH diff --git a/radio/src/gui/128x64/model_curve_edit.cpp b/radio/src/gui/128x64/model_curve_edit.cpp index dbdc09eb1..e8272de3c 100644 --- a/radio/src/gui/128x64/model_curve_edit.cpp +++ b/radio/src/gui/128x64/model_curve_edit.cpp @@ -165,8 +165,13 @@ void menuModelCurveOne(event_t event) } break; -#if defined(NAVIGATION_X7) - case EVT_KEY_LONG(KEY_MENU): +#if defined(NAVIGATION_X7_TX12) + case EVT_KEY_FIRST(KEY_MODEL): + pushMenu(menuChannelsView); + killEvents(event); + break; +#elif defined(NAVIGATION_X7) + case EVT_KEY_FIRST(KEY_MENU): pushMenu(menuChannelsView); killEvents(event); break; diff --git a/radio/src/gui/128x64/model_input_edit.cpp b/radio/src/gui/128x64/model_input_edit.cpp index 077d84cb3..f3208f194 100644 --- a/radio/src/gui/128x64/model_input_edit.cpp +++ b/radio/src/gui/128x64/model_input_edit.cpp @@ -49,8 +49,13 @@ enum ExposFields { void menuModelExpoOne(event_t event) { -#if defined(NAVIGATION_X7) - if (event == EVT_KEY_LONG(KEY_MENU)) { +#if defined(NAVIGATION_X7_TX12) + if (event == EVT_KEY_FIRST(KEY_MODEL)) { + pushMenu(menuChannelsView); + killEvents(event); + } +#elif defined(NAVIGATION_X7) + if (event == EVT_KEY_FIRST(KEY_MENU)) { pushMenu(menuChannelsView); killEvents(event); } diff --git a/radio/src/gui/128x64/model_mix_edit.cpp b/radio/src/gui/128x64/model_mix_edit.cpp index a0168b0d7..f03e34a9c 100644 --- a/radio/src/gui/128x64/model_mix_edit.cpp +++ b/radio/src/gui/128x64/model_mix_edit.cpp @@ -85,8 +85,13 @@ void drawOffsetBar(uint8_t x, uint8_t y, MixData * md) void menuModelMixOne(event_t event) { -#if defined(NAVIGATION_X7) - if (event == EVT_KEY_LONG(KEY_MENU)) { +#if defined(NAVIGATION_X7_TX12) + if (event == EVT_KEY_FIRST(KEY_MODEL)) { + pushMenu(menuChannelsView); + killEvents(event); + } +#elif defined(NAVIGATION_X7) + if (event == EVT_KEY_FIRST(KEY_MENU)) { pushMenu(menuChannelsView); killEvents(event); } diff --git a/radio/src/gui/128x64/model_select.cpp b/radio/src/gui/128x64/model_select.cpp index 24f2b39fc..c7e1a1313 100644 --- a/radio/src/gui/128x64/model_select.cpp +++ b/radio/src/gui/128x64/model_select.cpp @@ -203,7 +203,16 @@ void menuModelSelect(event_t event) } break; -#if defined(NAVIGATION_X7) +#if defined(NAVIGATION_X7_TX12) + case EVT_KEY_FIRST(KEY_PAGEUP): + chainMenu(menuTabModel[DIM(menuTabModel)-1]); + killEvents(event); + break; + + case EVT_KEY_FIRST(KEY_PAGEDN): + chainMenu(menuModelSetup); + break; +#elif defined(NAVIGATION_X7) case EVT_KEY_LONG(KEY_PAGE): chainMenu(menuTabModel[DIM(menuTabModel)-1]); killEvents(event); diff --git a/radio/src/gui/128x64/model_telemetry.cpp b/radio/src/gui/128x64/model_telemetry.cpp index 23f1e6230..49a749533 100644 --- a/radio/src/gui/128x64/model_telemetry.cpp +++ b/radio/src/gui/128x64/model_telemetry.cpp @@ -236,14 +236,7 @@ void menuModelTelemetry(event_t event) break; case ITEM_TELEMETRY_RSSI_LABEL: -#if defined(MULTIMODULE) - if (telemetryProtocol == PROTOCOL_TELEMETRY_MULTIMODULE && (g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol() == MODULE_SUBTYPE_MULTI_FS_AFHDS2A || g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol() == MODULE_SUBTYPE_MULTI_HOTT)) - lcdDrawTextAlignedLeft(y, "RQly"); - else - lcdDrawTextAlignedLeft(y, "RSSI"); -#else - lcdDrawTextAlignedLeft(y, "RSSI"); -#endif + lcdDrawTextAlignedLeft(y, getRssiLabel()); break; case ITEM_TELEMETRY_RSSI_SOURCE: { diff --git a/radio/src/gui/128x64/view_about.cpp b/radio/src/gui/128x64/view_about.cpp index aaec50b32..02e8e4508 100644 --- a/radio/src/gui/128x64/view_about.cpp +++ b/radio/src/gui/128x64/view_about.cpp @@ -42,7 +42,10 @@ enum AboutScreens { #define ABOUT_X 2 #define ABOUT_INDENT 4 -#if defined(NAVIGATION_X7) +#if defined(NAVIGATION_X7_TX12) +#define EVT_KEY_PREVIOUS_VIEW EVT_KEY_BREAK(KEY_PAGEUP) +#define EVT_KEY_NEXT_VIEW EVT_KEY_BREAK(KEY_PAGEDN) +#elif defined(NAVIGATION_X7) #define EVT_KEY_PREVIOUS_VIEW EVT_KEY_LONG(KEY_PAGE) #define EVT_KEY_NEXT_VIEW EVT_KEY_BREAK(KEY_PAGE) #else diff --git a/radio/src/gui/128x64/view_channels.cpp b/radio/src/gui/128x64/view_channels.cpp index ccd8fc9b3..f71d833c1 100644 --- a/radio/src/gui/128x64/view_channels.cpp +++ b/radio/src/gui/128x64/view_channels.cpp @@ -26,7 +26,12 @@ constexpr coord_t CHANNEL_GAUGE_OFFSET = CHANNEL_VALUE_OFFSET; constexpr coord_t CHANNEL_BAR_WIDTH = 70; constexpr coord_t CHANNEL_PROPERTIES_OFFSET = CHANNEL_GAUGE_OFFSET + CHANNEL_BAR_WIDTH + 2; -#if defined(NAVIGATION_X7) +#if defined(NAVIGATION_X7_TX12) +#define EVT_KEY_PREVIOUS_VIEW EVT_KEY_BREAK(KEY_PAGEUP) +#define EVT_KEY_NEXT_VIEW EVT_KEY_BREAK(KEY_PAGEDN) +#define EVT_KEY_NEXT_PAGE EVT_ROTARY_RIGHT +#define EVT_KEY_PREVIOUS_PAGE EVT_ROTARY_LEFT +#elif defined(NAVIGATION_X7) #define EVT_KEY_PREVIOUS_VIEW EVT_KEY_LONG(KEY_PAGE) #define EVT_KEY_NEXT_VIEW EVT_KEY_BREAK(KEY_PAGE) #define EVT_KEY_NEXT_PAGE EVT_ROTARY_RIGHT @@ -54,7 +59,7 @@ void menuChannelsViewCommon(event_t event) memclear(&reusableBuffer.viewChannels, sizeof(reusableBuffer.viewChannels)); break; - case EVT_KEY_FIRST(KEY_ENTER): + case EVT_KEY_BREAK(KEY_ENTER): reusableBuffer.viewChannels.mixersView = !reusableBuffer.viewChannels.mixersView; break; } diff --git a/radio/src/gui/128x64/view_main.cpp b/radio/src/gui/128x64/view_main.cpp index f90474ad8..111c6bee7 100644 --- a/radio/src/gui/128x64/view_main.cpp +++ b/radio/src/gui/128x64/view_main.cpp @@ -286,7 +286,16 @@ void displayVoltageOrAlarm() #define displayVoltageOrAlarm() displayBattVoltage() #endif -#if defined(NAVIGATION_X7) || defined(NAVIGATION_TBS) +#if defined(NAVIGATION_X7_TX12) +#define EVT_KEY_CONTEXT_MENU EVT_KEY_LONG(KEY_ENTER) +#define EVT_KEY_PREVIOUS_VIEW EVT_KEY_FIRST(KEY_PAGEUP) +#define EVT_KEY_NEXT_VIEW EVT_KEY_FIRST(KEY_PAGEDN) +#define EVT_KEY_NEXT_PAGE EVT_ROTARY_RIGHT +#define EVT_KEY_PREVIOUS_PAGE EVT_ROTARY_LEFT +#define EVT_KEY_MODEL_MENU EVT_KEY_LONG(KEY_MODEL) +#define EVT_KEY_GENERAL_MENU EVT_KEY_LONG(KEY_SYS) +#define EVT_KEY_TELEMETRY EVT_KEY_FIRST(KEY_TELE) +#elif defined(NAVIGATION_X7) || defined(NAVIGATION_TBS) #define EVT_KEY_CONTEXT_MENU EVT_KEY_LONG(KEY_ENTER) #define EVT_KEY_NEXT_VIEW EVT_KEY_BREAK(KEY_PAGE) #define EVT_KEY_NEXT_PAGE EVT_ROTARY_RIGHT diff --git a/radio/src/gui/128x64/view_statistics.cpp b/radio/src/gui/128x64/view_statistics.cpp index 2296e93b0..2b46be36e 100644 --- a/radio/src/gui/128x64/view_statistics.cpp +++ b/radio/src/gui/128x64/view_statistics.cpp @@ -31,14 +31,21 @@ void menuStatisticsView(event_t event) switch (event) { case EVT_KEY_FIRST(KEY_UP): -#if defined(NAVIGATION_X7) +#if defined(NAVIGATION_X7_TX12) + case EVT_KEY_BREAK(KEY_PAGEDN): +#elif defined(NAVIGATION_X7) case EVT_KEY_BREAK(KEY_PAGE): #endif + chainMenu(menuStatisticsDebug); break; case EVT_KEY_FIRST(KEY_DOWN): -#if defined(NAVIGATION_X7) +#if defined(NAVIGATION_X7_TX12) + case EVT_KEY_BREAK(KEY_PAGEUP): + killEvents(event); + chainMenu(menuStatisticsDebug2); +#elif defined(NAVIGATION_X7) case EVT_KEY_LONG(KEY_PAGE): killEvents(event); chainMenu(menuStatisticsDebug2); @@ -133,7 +140,12 @@ void menuStatisticsDebug(event_t event) break; case EVT_KEY_FIRST(KEY_UP): -#if defined(NAVIGATION_X7) +#if defined(NAVIGATION_X7_TX12) + case EVT_KEY_BREAK(KEY_PAGEDN): + disableVBatBridge(); + chainMenu(menuStatisticsDebug2); + break; +#elif defined(NAVIGATION_X7) case EVT_KEY_BREAK(KEY_PAGE): disableVBatBridge(); chainMenu(menuStatisticsDebug2); @@ -141,7 +153,9 @@ void menuStatisticsDebug(event_t event) #endif case EVT_KEY_FIRST(KEY_DOWN): -#if defined(NAVIGATION_X7) +#if defined(NAVIGATION_X7_TX12) + case EVT_KEY_BREAK(KEY_PAGEUP): +#elif defined(NAVIGATION_X7) case EVT_KEY_LONG(KEY_PAGE): #endif killEvents(event); @@ -264,14 +278,18 @@ void menuStatisticsDebug2(event_t event) break; case EVT_KEY_FIRST(KEY_UP): -#if defined(NAVIGATION_X7) +#if defined(NAVIGATION_X7_TX12) + case EVT_KEY_BREAK(KEY_PAGEDN): +#elif defined(NAVIGATION_X7) case EVT_KEY_BREAK(KEY_PAGE): #endif chainMenu(menuStatisticsView); return; case EVT_KEY_FIRST(KEY_DOWN): -#if defined(NAVIGATION_X7) +#if defined(NAVIGATION_X7_TX12) + case EVT_KEY_BREAK(KEY_PAGEUP): +#elif defined(NAVIGATION_X7) case EVT_KEY_LONG(KEY_PAGE): #endif killEvents(event); diff --git a/radio/src/gui/212x64/model_telemetry.cpp b/radio/src/gui/212x64/model_telemetry.cpp index fc35f0024..3d4ef894a 100644 --- a/radio/src/gui/212x64/model_telemetry.cpp +++ b/radio/src/gui/212x64/model_telemetry.cpp @@ -227,14 +227,7 @@ void menuModelTelemetry(event_t event) break; case ITEM_TELEMETRY_RSSI_LABEL: -#if defined(MULTIMODULE) - if (telemetryProtocol == PROTOCOL_TELEMETRY_MULTIMODULE && (g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol() == MODULE_SUBTYPE_MULTI_FS_AFHDS2A || g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol() == MODULE_SUBTYPE_MULTI_HOTT)) - lcdDrawTextAlignedLeft(y, "RQly"); - else - lcdDrawTextAlignedLeft(y, "RSSI"); -#else - lcdDrawTextAlignedLeft(y, "RSSI"); -#endif + lcdDrawTextAlignedLeft(y, getRssiLabel()); break; case ITEM_TELEMETRY_RSSI_SOURCE: { diff --git a/radio/src/gui/colorlcd/model_telemetry.cpp b/radio/src/gui/colorlcd/model_telemetry.cpp index 14c999274..9c711c39d 100644 --- a/radio/src/gui/colorlcd/model_telemetry.cpp +++ b/radio/src/gui/colorlcd/model_telemetry.cpp @@ -393,11 +393,7 @@ void ModelTelemetryPage::build(FormWindow * window, int8_t focusSensorIndex) this->window = window; // RSSI - if (g_model.moduleData[EXTERNAL_MODULE].type == MODULE_TYPE_MULTIMODULE && - g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol() == MODULE_SUBTYPE_MULTI_FS_AFHDS2A) - new Subtitle(window, grid.getLineSlot(), "RSNR"); - else - new Subtitle(window, grid.getLineSlot(), "RSSI"); + new Subtitle(window, grid.getLineSlot(), getRssiLabel()); grid.nextLine(); new StaticText(window, grid.getLabelSlot(true), STR_LOWALARM); diff --git a/radio/src/gui/common/stdlcd/model_mixes.cpp b/radio/src/gui/common/stdlcd/model_mixes.cpp index d5324e509..103083486 100644 --- a/radio/src/gui/common/stdlcd/model_mixes.cpp +++ b/radio/src/gui/common/stdlcd/model_mixes.cpp @@ -479,6 +479,13 @@ void menuModelMixAll(event_t event) s_currCh = ch; if (!s_copyMode) { attr = INVERS; + displayHeaderChannelName(ch - 1); +#if LCD_W >= 212 + if (g_model.limitData[ch - 1].name[0] != '\0') { + coord_t xPos = MIX_HDR_GAUGE_POS_X - FWNUM * 5 - 50; + lcdDrawFilledRect(lcdNextPos, 0, lcdNextPos - xPos, MENU_HEADER_HEIGHT, SOLID, FILL_WHITE | GREY_DEFAULT); + } +#endif } } if (cur-menuVerticalOffset >= 0 && cur-menuVerticalOffset < NUM_BODY_LINES) { diff --git a/radio/src/gui/common/stdlcd/radio_hardware.cpp b/radio/src/gui/common/stdlcd/radio_hardware.cpp index caedaa074..eb90a4705 100644 --- a/radio/src/gui/common/stdlcd/radio_hardware.cpp +++ b/radio/src/gui/common/stdlcd/radio_hardware.cpp @@ -262,6 +262,8 @@ void onHardwareAntennaSwitchConfirm(const char * result) #define SWITCH_TYPE_MAX(sw) (SWITCH_3POS) #elif defined(PCBX9E) #define SWITCH_TYPE_MAX(sw) ((MIXSRC_SF - MIXSRC_FIRST_SWITCH == sw || MIXSRC_SH - MIXSRC_FIRST_SWITCH == sw) ? SWITCH_2POS : SWITCH_3POS) +#elif defined(RADIO_TX12) + #define SWITCH_TYPE_MAX(sw) ((MIXSRC_SA - MIXSRC_FIRST_SWITCH == sw || MIXSRC_SD - MIXSRC_FIRST_SWITCH == sw) ? SWITCH_2POS : SWITCH_3POS) #else #define SWITCH_TYPE_MAX(sw) ((MIXSRC_SF - MIXSRC_FIRST_SWITCH == sw || MIXSRC_SH - MIXSRC_FIRST_SWITCH <= sw) ? SWITCH_2POS : SWITCH_3POS) #endif diff --git a/radio/src/gui/common/stdlcd/view_telemetry.cpp b/radio/src/gui/common/stdlcd/view_telemetry.cpp index 61b506269..d4b2bac0b 100644 --- a/radio/src/gui/common/stdlcd/view_telemetry.cpp +++ b/radio/src/gui/common/stdlcd/view_telemetry.cpp @@ -34,6 +34,9 @@ enum NavigationDirection { #if defined(NAVIGATION_XLITE) #define EVT_KEY_PREVIOUS_VIEW(evt) (evt == EVT_KEY_LONG(KEY_LEFT) && IS_SHIFT_PRESSED()) #define EVT_KEY_NEXT_VIEW(evt) (evt == EVT_KEY_LONG(KEY_RIGHT) && IS_SHIFT_PRESSED()) +#elif defined(NAVIGATION_X7_TX12) + #define EVT_KEY_PREVIOUS_VIEW(evt) (evt == EVT_KEY_FIRST(KEY_UP)) + #define EVT_KEY_NEXT_VIEW(evt) (evt == EVT_KEY_FIRST(KEY_DOWN)) #elif defined(NAVIGATION_X7) || defined(NAVIGATION_X9D) #define EVT_KEY_PREVIOUS_VIEW(evt) (evt == EVT_KEY_LONG(KEY_PAGE)) #define EVT_KEY_NEXT_VIEW(evt) (evt == EVT_KEY_BREAK(KEY_PAGE)) diff --git a/radio/src/gui/navigation/navigation_x7.cpp b/radio/src/gui/navigation/navigation_x7.cpp index bc835a375..ac4a4bbdd 100644 --- a/radio/src/gui/navigation/navigation_x7.cpp +++ b/radio/src/gui/navigation/navigation_x7.cpp @@ -217,7 +217,11 @@ void check(event_t event, uint8_t curr, const MenuHandlerFunc * menuTab, uint8_t if (menuTab) { int cc = curr; switch (event) { +#if defined(NAVIGATION_X7_TX12) + case EVT_KEY_FIRST(KEY_PAGEUP): +#else case EVT_KEY_LONG(KEY_PAGE): +#endif if (s_editMode>0) break; @@ -228,7 +232,11 @@ void check(event_t event, uint8_t curr, const MenuHandlerFunc * menuTab, uint8_t killEvents(event); break; +#if defined(NAVIGATION_X7_TX12) + case EVT_KEY_FIRST(KEY_PAGEDN): +#else case EVT_KEY_BREAK(KEY_PAGE): +#endif if (s_editMode>0) break; diff --git a/radio/src/lua/CMakeLists.txt b/radio/src/lua/CMakeLists.txt index eb31f6b36..afd583ab2 100644 --- a/radio/src/lua/CMakeLists.txt +++ b/radio/src/lua/CMakeLists.txt @@ -28,5 +28,6 @@ if(PYTHONINTERP_FOUND) add_lua_export_target(x10 ${LUA_INCLUDES} -DPCBHORUS -DPCBX10) add_lua_export_target(x12s ${LUA_INCLUDES} -DPCBHORUS -DPCBX12S) add_lua_export_target(t12 ${LUA_INCLUDES} -DPCBTARANIS -DPCBX7 -DRADIO_T12) + add_lua_export_target(tx12 ${LUA_INCLUDES} -DPCBTARANIS -DPCBX7 -DRADIO_TX12) add_lua_export_target(t16 ${LUA_INCLUDES} -DPCBHORUS -DPCBX10 -DRADIO_T16) endif() diff --git a/radio/src/lua/api_general.cpp b/radio/src/lua/api_general.cpp index 6ade36501..2e8a22f95 100644 --- a/radio/src/lua/api_general.cpp +++ b/radio/src/lua/api_general.cpp @@ -40,6 +40,8 @@ #include "lua/lua_exports_x7.inc" #elif defined(RADIO_T12) #include "lua/lua_exports_t12.inc" +#elif defined(RADIO_TX12) + #include "lua/lua_exports_tx12.inc" #elif defined(PCBX9LITES) #include "lua/lua_exports_x9lites.inc" #elif defined(PCBX9LITE) @@ -1788,7 +1790,9 @@ const luaR_value_entry opentxConstants[] = { #endif #if !defined(PCBXLITE) && !defined(PCBX9LITE) { "MIXSRC_SF", MIXSRC_SF }, +#if !defined(RADIO_TX12) { "MIXSRC_SH", MIXSRC_SH }, +#endif #endif { "MIXSRC_CH1", MIXSRC_CH1 }, { "SWSRC_LAST", SWSRC_LAST_LOGICAL_SWITCH }, @@ -1876,10 +1880,17 @@ const luaR_value_entry opentxConstants[] = { { "EVT_VIRTUAL_ENTER_LONG", EVT_KEY_LONG(KEY_ENTER) }, { "EVT_VIRTUAL_EXIT", EVT_KEY_BREAK(KEY_EXIT) }, #elif defined(NAVIGATION_X7) || defined(NAVIGATION_X9D) +#if defined(RADIO_TX12) + { "EVT_VIRTUAL_PREV_PAGE", EVT_KEY_BREAK(KEY_PAGEUP) }, + { "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_BREAK(KEY_PAGEDN) }, + { "EVT_VIRTUAL_MENU", EVT_KEY_BREAK(KEY_MODEL) }, + { "EVT_VIRTUAL_MENU_LONG", EVT_KEY_LONG(KEY_MODEL) }, +#else { "EVT_VIRTUAL_PREV_PAGE", EVT_KEY_LONG(KEY_PAGE) }, { "EVT_VIRTUAL_NEXT_PAGE", EVT_KEY_BREAK(KEY_PAGE) }, { "EVT_VIRTUAL_MENU", EVT_KEY_BREAK(KEY_MENU) }, { "EVT_VIRTUAL_MENU_LONG", EVT_KEY_LONG(KEY_MENU) }, +#endif { "EVT_VIRTUAL_ENTER", EVT_KEY_BREAK(KEY_ENTER) }, { "EVT_VIRTUAL_ENTER_LONG", EVT_KEY_LONG(KEY_ENTER) }, { "EVT_VIRTUAL_EXIT", EVT_KEY_BREAK(KEY_EXIT) }, diff --git a/radio/src/opentx.h b/radio/src/opentx.h index 7161c48a8..fe84d0bbd 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -553,6 +553,8 @@ bool setTrimValue(uint8_t phase, uint8_t idx, int trim); #define ROTARY_ENCODER_GRANULARITY (2 << g_eeGeneral.rotarySteps) #elif defined(RADIO_FAMILY_T16) && !defined(RADIO_T18) #define ROTARY_ENCODER_GRANULARITY (1) +#elif defined(RADIO_TX12) + #define ROTARY_ENCODER_GRANULARITY (1) #else #define ROTARY_ENCODER_GRANULARITY (2) #endif diff --git a/radio/src/pulses/ghost.cpp b/radio/src/pulses/ghost.cpp index 478202b57..03f098fe2 100755 --- a/radio/src/pulses/ghost.cpp +++ b/radio/src/pulses/ghost.cpp @@ -52,7 +52,7 @@ uint8_t createGhostChannelsFrame(uint8_t * frame, int16_t * pulses) uint32_t bits = 0; uint8_t bitsavailable = 0; for (int i = 0; i < 4; i++) { - uint32_t value = limit(0, GHST_RC_CTR_VAL_12BIT + (((pulses[i]) << 3) / 5), 2 * GHST_RC_CTR_VAL_12BIT); + uint32_t value = limit(0, GHST_RC_CTR_VAL_12BIT + (((pulses[i] + 2 * PPM_CH_CENTER(i) - 2 * PPM_CENTER) << 3) / 5), 2 * GHST_RC_CTR_VAL_12BIT); bits |= value << bitsavailable; bitsavailable += GHST_CH_BITS_12; while (bitsavailable >= 8) { @@ -64,7 +64,8 @@ uint8_t createGhostChannelsFrame(uint8_t * frame, int16_t * pulses) // second 4 lower speed, 8 bit channels for (int i = 4; i < 8; ++i) { - *buf++ = limit(0, GHST_RC_CTR_VAL_8BIT + (((pulses[i + ghostUpper4Offset]) >> 1) / 5), 2 * GHST_RC_CTR_VAL_8BIT); + uint8_t channelIndex = i + ghostUpper4Offset; + *buf++ = limit(0, GHST_RC_CTR_VAL_8BIT + (((pulses[channelIndex] + 2 * PPM_CH_CENTER(channelIndex) - 2 * PPM_CENTER) >> 1) / 5), 2 * GHST_RC_CTR_VAL_8BIT); } *buf++ = crc8(crc_start, GHST_UL_RC_CHANS_SIZE - 1); diff --git a/radio/src/pulses/modules_helpers.h b/radio/src/pulses/modules_helpers.h index ee2b1157a..da72601e9 100644 --- a/radio/src/pulses/modules_helpers.h +++ b/radio/src/pulses/modules_helpers.h @@ -715,4 +715,20 @@ inline void getMultiOptionValues(int8_t multi_proto, int8_t & min, int8_t & max) } #endif +inline const char * getRssiLabel() +{ +#if defined(MULTIMODULE) + if (telemetryProtocol == PROTOCOL_TELEMETRY_MULTIMODULE && (g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol() == MODULE_SUBTYPE_MULTI_FS_AFHDS2A + || g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol() == MODULE_SUBTYPE_MULTI_HOTT)) { + return "RQly"; + } +#endif +#if defined(GHOST) + if (telemetryProtocol == PROTOCOL_TELEMETRY_GHOST) { + return "RQly"; + } +#endif + return "RSSI"; +} + #endif // _MODULES_HELPERS_H_ diff --git a/radio/src/sdcard.h b/radio/src/sdcard.h index 6f390068e..d13ef205f 100644 --- a/radio/src/sdcard.h +++ b/radio/src/sdcard.h @@ -144,6 +144,8 @@ const char * getBasename(const char * path); #define OTX_FOURCC 0x3978746F // otx for Taranis X-Lite #elif defined(RADIO_T12) #define OTX_FOURCC 0x3D78746F // otx for Jumper T12 +#elif defined(RADIO_TX12) + #define OTX_FOURCC 0x4178746F // otx for Radiomaster TX12 #elif defined(PCBX7) #define OTX_FOURCC 0x3678746F // otx for Taranis X7 / X7S / X7 Express / X7S Express #elif defined(PCBX9LITES) diff --git a/radio/src/simu.cpp b/radio/src/simu.cpp index 9e18ef0f9..613f6a53c 100644 --- a/radio/src/simu.cpp +++ b/radio/src/simu.cpp @@ -334,6 +334,14 @@ void OpenTxSim::updateKeysAndSwitches(bool start) KEY_Left, KEY_LEFT, KEY_Up, KEY_UP, KEY_Down, KEY_DOWN, +#elif defined(RADIO_TX12) + KEY_Page_Up, KEY_PAGEUP, + KEY_Page_Down, KEY_PAGEDN, + KEY_Return, KEY_ENTER, + KEY_Up, KEY_MODEL, + KEY_Down, KEY_EXIT, + KEY_Right, KEY_TELE, + KEY_Left, KEY_SYS, #elif defined(PCBTARANIS) KEY_Page_Up, KEY_MENU, #if defined(KEYS_GPIO_REG_PAGE) diff --git a/radio/src/storage/storage_common.cpp b/radio/src/storage/storage_common.cpp index 81af2c299..0bf0f3b25 100644 --- a/radio/src/storage/storage_common.cpp +++ b/radio/src/storage/storage_common.cpp @@ -51,8 +51,9 @@ void preModelLoad() if (pulsesStarted()) { pausePulses(); } - pauseMixerCalculations(); + + stopTrainer(); } void postRadioSettingsLoad() diff --git a/radio/src/strhelpers.cpp b/radio/src/strhelpers.cpp index 3667ec077..4694ab849 100644 --- a/radio/src/strhelpers.cpp +++ b/radio/src/strhelpers.cpp @@ -313,7 +313,7 @@ char * getSwitchName(char * dest, swsrc_t idx) } else { *dest++ = 'S'; -#if defined(PCBX7) +#if defined(PCBX7) && !defined(RADIO_TX12) if (swinfo.quot >= 5) *dest++ = 'H' + swinfo.quot - 5; else if (swinfo.quot == 4) diff --git a/radio/src/switches.cpp b/radio/src/switches.cpp index 8657b9b8c..06b14f7a7 100644 --- a/radio/src/switches.cpp +++ b/radio/src/switches.cpp @@ -126,9 +126,15 @@ uint64_t check3PosSwitchPosition(uint8_t idx, uint8_t sw, bool startup) void getSwitchesPosition(bool startup) { uint64_t newPos = 0; +#if defined(RADIO_TX12) + CHECK_2POS(SW_SA); + CHECK_3POS(0, SW_SB); + CHECK_3POS(1, SW_SC); +#else CHECK_3POS(0, SW_SA); CHECK_3POS(1, SW_SB); CHECK_3POS(2, SW_SC); +#endif #if defined(PCBX9LITES) CHECK_2POS(SW_SD); @@ -146,6 +152,10 @@ void getSwitchesPosition(bool startup) #elif defined(PCBXLITE) CHECK_3POS(3, SW_SD); // no SWE, SWF, SWG and SWH on XLITE +#elif defined(RADIO_TX12) + CHECK_2POS(SW_SD); + CHECK_3POS(2, SW_SE); + CHECK_3POS(3, SW_SF); #elif defined(PCBX7) CHECK_3POS(3, SW_SD); CHECK_2POS(SW_SF); diff --git a/radio/src/targets/common/arm/stm32/adc_driver.cpp b/radio/src/targets/common/arm/stm32/adc_driver.cpp index 62eb5a7eb..c6f5ee182 100644 --- a/radio/src/targets/common/arm/stm32/adc_driver.cpp +++ b/radio/src/targets/common/arm/stm32/adc_driver.cpp @@ -44,6 +44,8 @@ const int8_t adcDirection[NUM_ANALOGS] = {1,-1,1,-1, 1,1,-1, 1,1, 1, 1}; #elif defined(PCBX9D) const int8_t adcDirection[NUM_ANALOGS] = {1,-1,1,-1, 1,1,0, 1,1, 1, 1}; +#elif defined(RADIO_TX12) + const int8_t adcDirection[NUM_ANALOGS] = {-1,1,-1,1, -1,-1, 1, 1}; #elif defined(PCBX7) const int8_t adcDirection[NUM_ANALOGS] = {-1,1,-1,1, 1,1, 1, 1}; #elif defined(PCBX9LITE) diff --git a/radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt b/radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt index 17a18dbcc..4896f90c1 100644 --- a/radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt +++ b/radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt @@ -95,7 +95,7 @@ if(PCB STREQUAL X12S OR PCB STREQUAL X10 OR PCB STREQUAL X9E OR (PCB STREQUAL X9 ) endif() -if(PCB STREQUAL X7 OR PCB STREQUAL XLITE OR PCB STREQUAL XLITES) +if(BLUETOOTH) set(BOOTLOADER_SRC ${BOOTLOADER_SRC} ../../../../../targets/common/arm/stm32/bluetooth_driver.cpp diff --git a/radio/src/targets/common/arm/stm32/bootloader/boot.cpp b/radio/src/targets/common/arm/stm32/bootloader/boot.cpp index 83a07d9d2..cf63d3f2e 100644 --- a/radio/src/targets/common/arm/stm32/bootloader/boot.cpp +++ b/radio/src/targets/common/arm/stm32/bootloader/boot.cpp @@ -247,7 +247,7 @@ int main() backlightInit(); backlightEnable(); -#if defined(PCBX7) || defined(PCBXLITE) +#if defined(BLUETOOTH) // we shutdown the bluetooth module now to be sure it will be detected on firmware start bluetoothInit(BLUETOOTH_DEFAULT_BAUDRATE, false); #endif diff --git a/radio/src/targets/common/arm/stm32/rotary_encoder_driver.cpp b/radio/src/targets/common/arm/stm32/rotary_encoder_driver.cpp index 00b3c76f8..570e134b1 100644 --- a/radio/src/targets/common/arm/stm32/rotary_encoder_driver.cpp +++ b/radio/src/targets/common/arm/stm32/rotary_encoder_driver.cpp @@ -71,7 +71,7 @@ void rotaryEncoderInit() void rotaryEncoderCheck() { -#if defined(RADIO_FAMILY_T16) && !defined(RADIO_T18) +#if (defined(RADIO_FAMILY_T16) && !defined(RADIO_T18)) || defined(RADIO_TX12) static uint8_t state = 0; uint8_t pins = ROTARY_ENCODER_POSITION(); diff --git a/radio/src/targets/horus/board.h b/radio/src/targets/horus/board.h index 3122c130c..6d240c126 100644 --- a/radio/src/targets/horus/board.h +++ b/radio/src/targets/horus/board.h @@ -576,9 +576,9 @@ void usbJoystickUpdate(); #define USB_MANUFACTURER 'J', 'u', 'm', 'p', 'e', 'r', ' ', ' ' /* 8 bytes */ #define USB_PRODUCT 'T', '1', '8', ' ', ' ', ' ', ' ', ' ' /* 8 Bytes */ #elif defined(RADIO_TX16S) - #define USB_NAME "RadioMas TX16S" - #define USB_MANUFACTURER 'R', 'a', 'd', 'i', 'o', 'M', 'a', 's' /* 8 bytes */ - #define USB_PRODUCT 'T', 'X', '1', '6', 'S', ' ', ' ', ' ' /* 8 Bytes */ + #define USB_NAME "RM TX16S" + #define USB_MANUFACTURER 'R', 'M', '_', 'T', 'X', ' ', ' ', ' ' /* 8 bytes */ + #define USB_PRODUCT 'R', 'M', ' ', 'T', 'X', '1', '6', 'S' /* 8 Bytes */ #elif defined(PCBX10) #define USB_NAME "FrSky X10" #define USB_MANUFACTURER 'F', 'r', 'S', 'k', 'y', ' ', ' ', ' ' /* 8 bytes */ @@ -596,7 +596,6 @@ void audioConsumeCurrentBuffer(); #define audioEnableIrq() // interrupts must stay enabled on Horus #if defined(PCBX12S) #define setSampleRate(freq) -void audioWaitReady(); #else void setSampleRate(uint32_t frequency); #define audioWaitReady() diff --git a/radio/src/targets/nv14/board.h b/radio/src/targets/nv14/board.h index d08e002b3..db90d841d 100644 --- a/radio/src/targets/nv14/board.h +++ b/radio/src/targets/nv14/board.h @@ -443,7 +443,6 @@ void audioOn(); void audioOff(); bool isAudioReady(); bool audioChipReset(); -void audioWaitReady(); #define SPI_SPEED_2 0 #define SPI_SPEED_4 1 diff --git a/radio/src/targets/taranis/CMakeLists.txt b/radio/src/targets/taranis/CMakeLists.txt index a5ef72185..51c24d920 100644 --- a/radio/src/targets/taranis/CMakeLists.txt +++ b/radio/src/targets/taranis/CMakeLists.txt @@ -130,6 +130,18 @@ elseif(PCB STREQUAL X7) set(LUA_EXPORT lua_export_t12) add_definitions(-DRADIO_T12) add_definitions(-DEEPROM_VARIANT=0x4001) + elseif(PCBREV STREQUAL TX12) + option(INTERNAL_MODULE_MULTI "Support for MULTI internal module" ON) + set(FLAVOUR tx12) + set(NAVIGATION_TYPE x7) + set(CPU_TYPE STM32F2) + set(CPU_TYPE_FULL STM32F205xE) # for size report + set(LINKER_SCRIPT targets/taranis/stm32f2_flash.ld) + set(ROTARY_ENCODER YES) + set(LUA_EXPORT lua_export_tx12) + set(BLUETOOTH NO) + add_definitions(-DRADIO_TX12) + add_definitions(-DEEPROM_VARIANT=0x4002) elseif(PCBREV STREQUAL ACCESS) option(INTERNAL_MODULE_PXX1 "Support for PXX1 internal module" OFF) option(INTERNAL_MODULE_PXX2 "Support for PXX2 internal module" ON) @@ -308,7 +320,7 @@ if(INTERNAL_MODULE_SERIAL) ${TARGET_SRC} ../common/arm/stm32/intmodule_serial_driver.cpp ) -elseif(NOT (PCB STREQUAL X7 AND PCBREV STREQUAL T12)) +elseif(INTERNAL_MODULE_PXX1 OR INTERNAL_MODULE_PXX2) set(TARGET_SRC ${TARGET_SRC} intmodule_pulses_driver.cpp diff --git a/radio/src/targets/taranis/board.cpp b/radio/src/targets/taranis/board.cpp index 521ab1d9b..b038fc0f7 100644 --- a/radio/src/targets/taranis/board.cpp +++ b/radio/src/targets/taranis/board.cpp @@ -265,10 +265,16 @@ void boardOff() // this function must not return! } +#if defined (RADIO_TX12) + #define BATTERY_DIVIDER 22830 +#else + #define BATTERY_DIVIDER 26214 +#endif + uint16_t getBatteryVoltage() { int32_t instant_vbat = anaIn(TX_VOLTAGE); // using filtered ADC value on purpose - instant_vbat = (instant_vbat * BATT_SCALE * (128 + g_eeGeneral.txVoltageCalibration) ) / 26214; + instant_vbat = (instant_vbat * BATT_SCALE * (128 + g_eeGeneral.txVoltageCalibration) ) / BATTERY_DIVIDER; instant_vbat += 20; // add 0.2V because of the diode TODO check if this is needed, but removal will break existing calibrations! return (uint16_t)instant_vbat; } diff --git a/radio/src/targets/taranis/board.h b/radio/src/targets/taranis/board.h index 0ac977e57..d9092fcdc 100644 --- a/radio/src/targets/taranis/board.h +++ b/radio/src/targets/taranis/board.h @@ -24,8 +24,12 @@ #include #include "definitions.h" #include "opentx_constants.h" -#include "hal.h" #include "board_common.h" +#include "hal.h" + +#if defined(RADIO_TX12) + #define NAVIGATION_X7_TX12 +#endif #if defined(ROTARY_ENCODER_NAVIGATION) // Rotary Encoder driver @@ -238,6 +242,26 @@ enum EnumKeys KEY_PAGE, #endif +#if defined(KEYS_GPIO_REG_PAGEUP) + KEY_PAGEUP, +#endif + +#if defined(KEYS_GPIO_REG_PAGEDN) + KEY_PAGEDN, +#endif + +#if defined(KEYS_GPIO_REG_SYS) + KEY_SYS, +#endif + +#if defined(KEYS_GPIO_REG_MDL) + KEY_MODEL, +#endif + +#if defined(KEYS_GPIO_REG_TELE) + KEY_TELE, +#endif + #if defined(KEYS_GPIO_REG_PLUS) KEY_PLUS, KEY_MINUS, @@ -307,8 +331,11 @@ enum EnumSwitches SW_SG, SW_SH }; -#define IS_3POS(x) ((x) != SW_SF && (x) != SW_SH) - +#if defined(RADIO_TX12) + #define IS_3POS(x) ((x) != SW_SA && (x) != SW_SD) +#else + #define IS_3POS(x) ((x) != SW_SF && (x) != SW_SH) +#endif enum EnumSwitchesPositions { SW_SA0, @@ -323,7 +350,7 @@ enum EnumSwitchesPositions SW_SD0, SW_SD1, SW_SD2, -#if defined(PCBX9) || defined(PCBXLITES) || defined(PCBX9LITES) +#if defined(PCBX9) || defined(PCBXLITES) || defined(PCBX9LITES) || defined(RADIO_TX12) SW_SE0, SW_SE1, SW_SE2, @@ -338,7 +365,7 @@ enum EnumSwitchesPositions SW_SG1, SW_SG2, #endif -#if defined(PCBX9D) || defined(PCBX9DP) || defined(PCBX9E) || defined(PCBX7) +#if defined(PCBX9D) || defined(PCBX9DP) || defined(PCBX9E) || (defined(PCBX7) && !defined(RADIO_TX12)) SW_SH0, SW_SH1, SW_SH2, @@ -410,6 +437,11 @@ enum EnumSwitchesPositions #define STORAGE_NUM_SWITCHES NUM_SWITCHES #define DEFAULT_SWITCH_CONFIG (SWITCH_2POS << 10) + (SWITCH_2POS << 8) + (SWITCH_3POS << 6) + (SWITCH_3POS << 4) + (SWITCH_3POS << 2) + (SWITCH_3POS << 0) #define DEFAULT_POTS_CONFIG (POT_WITHOUT_DETENT << 0) + (POT_WITHOUT_DETENT << 2); // S1 = pot without detent, S2 = pot with detent +#elif defined(RADIO_TX12) + #define NUM_SWITCHES 8 + #define STORAGE_NUM_SWITCHES NUM_SWITCHES + #define DEFAULT_SWITCH_CONFIG (SWITCH_3POS << 10) + (SWITCH_3POS << 8) + (SWITCH_TOGGLE << 6) + (SWITCH_3POS << 4) + (SWITCH_3POS << 2) + (SWITCH_TOGGLE << 0) + #define DEFAULT_POTS_CONFIG (POT_WITH_DETENT << 0) + (POT_WITH_DETENT << 2); #elif defined(PCBX7ACCESS) #define NUM_SWITCHES 7 #define STORAGE_NUM_SWITCHES 8 @@ -434,8 +466,8 @@ enum EnumSwitchesPositions #define NUM_SWITCHES 18 // yes, it's perfect like that ! #define STORAGE_NUM_SWITCHES NUM_SWITCHES #define DEFAULT_SWITCH_CONFIG (SWITCH_TOGGLE << 14) + (SWITCH_3POS << 12) + (SWITCH_2POS << 10) + (SWITCH_3POS << 8) + (SWITCH_3POS << 6) + (SWITCH_3POS << 4) + (SWITCH_3POS << 2) + (SWITCH_3POS << 0) - #define DEFAULT_POTS_CONFIG (POT_WITH_DETENT << 0) + (POT_WITH_DETENT << 2); - #define DEFAULT_SLIDERS_CONFIG (SLIDER_WITH_DETENT << 3) + (SLIDER_WITH_DETENT << 2) + (SLIDER_WITH_DETENT << 3) + (SLIDER_WITH_DETENT << 2) + (SLIDER_WITH_DETENT << 1) + (SLIDER_WITH_DETENT << 0) + #define DEFAULT_POTS_CONFIG (POT_WITH_DETENT << 0) + (POT_WITH_DETENT << 2); // S1 = pot without detent, S2 = pot with detent + #define DEFAULT_SLIDERS_CONFIG (SLIDER_WITH_DETENT << 3) + (SLIDER_WITH_DETENT << 2) + (SLIDER_WITH_DETENT << 1) + (SLIDER_WITH_DETENT << 0) #elif defined(RADIO_X9DP2019) #define NUM_SWITCHES 9 #define STORAGE_NUM_SWITCHES NUM_SWITCHES @@ -674,9 +706,15 @@ uint8_t isBacklightEnabled(); #if !defined(SIMU) void usbJoystickUpdate(); #endif -#define USB_NAME "FrSky Taranis" -#define USB_MANUFACTURER 'F', 'r', 'S', 'k', 'y', ' ', ' ', ' ' /* 8 bytes */ -#define USB_PRODUCT 'T', 'a', 'r', 'a', 'n', 'i', 's', ' ' /* 8 Bytes */ +#if defined(RADIO_TX12) + #define USB_NAME "Radiomaster TX12" + #define USB_MANUFACTURER 'R', 'M', '_', 'T', 'X', ' ', ' ', ' ' /* 8 bytes */ + #define USB_PRODUCT 'R', 'M', ' ', 'T', 'X', '1', '2', ' ' /* 8 Bytes */ +#else + #define USB_NAME "FrSky Taranis" + #define USB_MANUFACTURER 'F', 'r', 'S', 'k', 'y', ' ', ' ', ' ' /* 8 bytes */ + #define USB_PRODUCT 'T', 'a', 'r', 'a', 'n', 'i', 's', ' ' /* 8 Bytes */ +#endif #if defined(__cplusplus) && !defined(SIMU) } @@ -744,7 +782,6 @@ void audioEnd() ; void dacStart(); void dacStop(); void setSampleRate(uint32_t frequency); -#define audioWaitReady() #define VOLUME_LEVEL_MAX 23 #define VOLUME_LEVEL_DEF 12 #if !defined(SOFTWARE_VOLUME) @@ -848,7 +885,11 @@ void ledBlue(); #define IS_LCD_RESET_NEEDED() true #define LCD_CONTRAST_MIN 10 #define LCD_CONTRAST_MAX 30 -#define LCD_CONTRAST_DEFAULT 15 +#if defined(RADIO_TX12) + #define LCD_CONTRAST_DEFAULT 21 +#else + #define LCD_CONTRAST_DEFAULT 15 +#endif #endif #if defined(PCBX9D) || defined(PCBX9E) || (defined(PCBX9DP) && PCBREV < 2019) diff --git a/radio/src/targets/taranis/hal.h b/radio/src/targets/taranis/hal.h index 41d9ef1bf..eb6880d09 100644 --- a/radio/src/targets/taranis/hal.h +++ b/radio/src/targets/taranis/hal.h @@ -65,6 +65,21 @@ #define KEYS_GPIO_PIN_LEFT GPIO_Pin_7 // PD.07 #define KEYS_GPIO_REG_RIGHT GPIOD->IDR #define KEYS_GPIO_PIN_RIGHT GPIO_Pin_3 // PD.03 +#elif defined(RADIO_TX12) + #define KEYS_GPIO_REG_PAGEUP GPIOD->IDR + #define KEYS_GPIO_PIN_PAGEUP GPIO_Pin_3 // PD.03 + #define KEYS_GPIO_REG_PAGEDN GPIOD->IDR + #define KEYS_GPIO_PIN_PAGEDN GPIO_Pin_7 // PD.07 + #define KEYS_GPIO_REG_EXIT GPIOB->IDR + #define KEYS_GPIO_PIN_EXIT GPIO_Pin_3 // PB.03 + #define KEYS_GPIO_REG_ENTER GPIOA->IDR + #define KEYS_GPIO_PIN_ENTER GPIO_Pin_13 // PA.13 + #define KEYS_GPIO_REG_SYS GPIOB->IDR + #define KEYS_GPIO_PIN_SYS GPIO_Pin_4 // PB.04 + #define KEYS_GPIO_REG_MDL GPIOE->IDR + #define KEYS_GPIO_PIN_MDL GPIO_Pin_11 // PE.11 + #define KEYS_GPIO_REG_TELE GPIOD->IDR + #define KEYS_GPIO_PIN_TELE GPIO_Pin_2 // PD.02 #elif defined(PCBX7) #define KEYS_GPIO_REG_PAGE GPIOD->IDR #define KEYS_GPIO_PIN_PAGE GPIO_Pin_3 // PD.03 @@ -162,7 +177,23 @@ #define ROTARY_ENCODER_EXTI_PortSource EXTI_PortSourceGPIOE #define ROTARY_ENCODER_EXTI_PinSource1 EXTI_PinSource10 #define ROTARY_ENCODER_EXTI_PinSource2 EXTI_PinSource12 +#elif defined(RADIO_TX12) + #define ROTARY_ENCODER_NAVIGATION + #define ROTARY_ENCODER_GPIO GPIOE + #define ROTARY_ENCODER_GPIO_PIN_A GPIO_Pin_9 // PE.9 + #define ROTARY_ENCODER_GPIO_PIN_B GPIO_Pin_10 // PE.10 + #define ROTARY_ENCODER_POSITION() ((ROTARY_ENCODER_GPIO->IDR >> 9) & 0x03) + #define ROTARY_ENCODER_EXTI_LINE1 EXTI_Line9 + #define ROTARY_ENCODER_EXTI_LINE2 EXTI_Line10 + #define ROTARY_ENCODER_EXTI_IRQn1 EXTI9_5_IRQn + #define ROTARY_ENCODER_EXTI_IRQHandler1 EXTI9_5_IRQHandler + #define ROTARY_ENCODER_EXTI_IRQn2 EXTI15_10_IRQn + #define ROTARY_ENCODER_EXTI_IRQHandler2 EXTI15_10_IRQHandler + #define ROTARY_ENCODER_EXTI_PortSource EXTI_PortSourceGPIOE + #define ROTARY_ENCODER_EXTI_PinSource1 EXTI_PinSource9 + #define ROTARY_ENCODER_EXTI_PinSource2 EXTI_PinSource10 #endif + #if defined(ROTARY_ENCODER_NAVIGATION) #define ROTARY_ENCODER_RCC_APB1Periph RCC_APB1Periph_TIM5 #define ROTARY_ENCODER_TIMER TIM5 @@ -302,6 +333,11 @@ #define SWITCHES_GPIO_PIN_A_H GPIO_Pin_1 // PE.01 #define SWITCHES_GPIO_REG_A_L GPIOE->IDR #define SWITCHES_GPIO_PIN_A_L GPIO_Pin_0 // PE.00 +#elif defined(RADIO_TX12) + #define STORAGE_SWITCH_A + #define HARDWARE_SWITCH_A + #define SWITCHES_GPIO_REG_A GPIOC->IDR + #define SWITCHES_GPIO_PIN_A GPIO_Pin_13 // PC.13 #elif defined(PCBX7) #define STORAGE_SWITCH_A #define HARDWARE_SWITCH_A @@ -369,6 +405,13 @@ #define SWITCHES_GPIO_PIN_C_L GPIO_Pin_2 // PE.02 #define SWITCHES_GPIO_REG_C_H GPIOE->IDR #define SWITCHES_GPIO_PIN_C_H GPIO_Pin_3 // PE.03 +#elif defined(RADIO_TX12) + #define STORAGE_SWITCH_C + #define HARDWARE_SWITCH_C + #define SWITCHES_GPIO_REG_C_L GPIOD->IDR + #define SWITCHES_GPIO_PIN_C_L GPIO_Pin_11 // PD.11 + #define SWITCHES_GPIO_REG_C_H GPIOE->IDR + #define SWITCHES_GPIO_PIN_C_H GPIO_Pin_0 // PE.00 #elif defined(PCBX7) #define STORAGE_SWITCH_C #define HARDWARE_SWITCH_C @@ -411,6 +454,11 @@ #define SWITCHES_GPIO_PIN_D_L GPIO_Pin_4 // PB.04 #define SWITCHES_GPIO_REG_D_H GPIOB->IDR #define SWITCHES_GPIO_PIN_D_H GPIO_Pin_5 // PB.05 +#elif defined(RADIO_TX12) + #define STORAGE_SWITCH_D + #define HARDWARE_SWITCH_D + #define SWITCHES_GPIO_REG_D GPIOE->IDR + #define SWITCHES_GPIO_PIN_D GPIO_Pin_8 // PE.08 #elif defined(PCBX7) #define STORAGE_SWITCH_D #define HARDWARE_SWITCH_D @@ -452,6 +500,13 @@ #define HARDWARE_SWITCH_E #define SWITCHES_GPIO_REG_E GPIOA->IDR #define SWITCHES_GPIO_PIN_E GPIO_Pin_5 // PA.05 +#elif defined(RADIO_TX12) + #define STORAGE_SWITCH_E + #define HARDWARE_SWITCH_E + #define SWITCHES_GPIO_REG_E_H GPIOE->IDR + #define SWITCHES_GPIO_PIN_E_H GPIO_Pin_13 // PE.13 + #define SWITCHES_GPIO_REG_E_L GPIOE->IDR + #define SWITCHES_GPIO_PIN_E_L GPIO_Pin_7 // PE.07 #elif defined(PCBX7) // no SWE #else @@ -483,6 +538,13 @@ #define SWITCHES_GPIO_PIN_F GPIO_Pin_3 // PC.03 #elif defined(PCBX9LITE) // no SWF +#elif defined(RADIO_TX12) + #define STORAGE_SWITCH_F + #define HARDWARE_SWITCH_F + #define SWITCHES_GPIO_REG_F_L GPIOE->IDR + #define SWITCHES_GPIO_PIN_F_L GPIO_Pin_1 // PE.01 + #define SWITCHES_GPIO_REG_F_H GPIOE->IDR + #define SWITCHES_GPIO_PIN_F_H GPIO_Pin_2 // PE.02 #elif defined(PCBX7) #define STORAGE_SWITCH_F #define HARDWARE_SWITCH_F @@ -530,6 +592,7 @@ #define SWITCHES_GPIO_PIN_H GPIO_Pin_14 // PD.14 #elif defined(PCBXLITE) || defined(PCBX9LITE) // no SWH +#elif defined(RADIO_TX12) #elif defined(PCBX7) #define STORAGE_SWITCH_H #define HARDWARE_SWITCH_H @@ -558,7 +621,16 @@ #define SWITCHES_GPIO_REG_I GPIOC->IDR #define SWITCHES_GPIO_PIN_I GPIO_Pin_13 // PC.13 #define STORAGE_SWITCH_J -#elif defined(PCBX7) +#elif defined(RADIO_TX12) + #define STORAGE_SWITCH_I + #define HARDWARE_SWITCH_I + #define SWITCHES_GPIO_REG_I GPIOE->IDR + #define SWITCHES_GPIO_PIN_I GPIO_Pin_14 // PE.14 + #define STORAGE_SWITCH_J + #define HARDWARE_SWITCH_J + #define SWITCHES_GPIO_REG_J GPIOD->IDR + #define SWITCHES_GPIO_PIN_J GPIO_Pin_14 // PD.14 +#elif defined(PCBX7) #define STORAGE_SWITCH_I #define HARDWARE_SWITCH_I #define SWITCHES_GPIO_REG_I GPIOC->IDR @@ -668,11 +740,18 @@ #define KEYS_GPIOC_PINS (GPIO_Pin_4 | GPIO_Pin_5) #define KEYS_GPIOE_PINS (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14) #elif defined(RADIO_T12) - #define KEYS_RCC_AHB1Periph (RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOE) + #define KEYS_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOE) #define KEYS_GPIOA_PINS GPIO_Pin_5 #define KEYS_GPIOC_PINS (GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3) #define KEYS_GPIOD_PINS (GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_7 | GPIO_Pin_11 | GPIO_Pin_14 | GPIO_Pin_15) #define KEYS_GPIOE_PINS (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15) +#elif defined(RADIO_TX12) + #define KEYS_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOE) + #define KEYS_GPIOA_PINS (GPIO_Pin_13 | GPIO_Pin_5) + #define KEYS_GPIOB_PINS (GPIO_Pin_3 | GPIO_Pin_4) + #define KEYS_GPIOC_PINS (GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3|GPIO_Pin_13) + #define KEYS_GPIOD_PINS (GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_7 | GPIO_Pin_11 | GPIO_Pin_14 | GPIO_Pin_15) + #define KEYS_GPIOE_PINS (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 |GPIO_Pin_8| GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15) #elif defined(RADIO_X7ACCESS) #define KEYS_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOE) #define KEYS_GPIOA_PINS GPIO_Pin_5 @@ -1079,8 +1158,10 @@ #define INTMODULE_DMA_STREAM_IRQHandler DMA2_Stream5_IRQHandler #define INTMODULE_DMA_FLAG_TC DMA_IT_TCIF5 #define INTMODULE_TIMER_FREQ (PERI2_FREQUENCY * TIMER_MULT_APB2) -#elif defined(RADIO_T12) +#elif defined(RADIO_T12) || defined(RADIO_TX12) #define INTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_DMA1) + #define INTMODULE_RCC_APB1Periph (RCC_APB1Periph_USART3 | RCC_APB1Periph_TIM2) + #define INTMODULE_RCC_APB2Periph 0 #define INTMODULE_PWR_GPIO GPIOC #define INTMODULE_PWR_GPIO_PIN GPIO_Pin_6 // PC.06 #define INTMODULE_GPIO GPIOB @@ -1092,8 +1173,6 @@ #define INTMODULE_GPIO_AF GPIO_AF_USART3 #define INTMODULE_USART_IRQn USART3_IRQn #define INTMODULE_USART_IRQHandler USART3_IRQHandler - #define INTMODULE_RCC_APB1Periph RCC_APB1Periph_TIM2 - #define INTMODULE_RCC_APB2Periph RCC_APB1Periph_USART3 #define INTMODULE_TIMER TIM2 #define INTMODULE_TIMER_IRQn TIM2_IRQn #define INTMODULE_TIMER_IRQHandler TIM2_IRQHandler @@ -1169,30 +1248,6 @@ #define EXTMODULE_USART_TX_DMA_STREAM DMA2_Stream6 #define EXTMODULE_USART_RX_DMA_CHANNEL DMA_Channel_5 #define EXTMODULE_USART_RX_DMA_STREAM DMA2_Stream1 -#elif defined(RADIO_T12) - //Jumper T12v2 external module configured - #define EXTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_DMA2) - #define EXTMODULE_RCC_APB2Periph RCC_APB2Periph_TIM8 - #define EXTMODULE_PWR_GPIO GPIOD - #define EXTMODULE_PWR_GPIO_PIN GPIO_Pin_8 // JUMPER EXT PD.08 // X7 EXT is PD.08 - #define EXTERNAL_MODULE_PWR_ON() GPIO_SetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) - #define EXTERNAL_MODULE_PWR_OFF() GPIO_ResetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) - #define IS_EXTERNAL_MODULE_ON() (GPIO_ReadInputDataBit(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) == Bit_SET) - #define EXTMODULE_TX_GPIO GPIOA - #define EXTMODULE_TX_GPIO_PIN GPIO_Pin_7 // JUMPER EXT PA.07 // X7 EXT is PA.07 - #define EXTMODULE_TX_GPIO_PinSource GPIO_PinSource7 - #define EXTMODULE_TIMER TIM8 - #define EXTMODULE_TIMER_TX_GPIO_AF GPIO_AF_TIM8 // TIM8_CH1N - #define EXTMODULE_TIMER_CC_IRQn TIM8_CC_IRQn - #define EXTMODULE_TIMER_CC_IRQHandler TIM8_CC_IRQHandler - #define EXTMODULE_TIMER_DMA_CHANNEL DMA_Channel_7 - #define EXTMODULE_TIMER_DMA_STREAM DMA2_Stream1 - #define EXTMODULE_TIMER_DMA_STREAM_IRQn DMA2_Stream1_IRQn - #define EXTMODULE_TIMER_DMA_STREAM_IRQHandler DMA2_Stream1_IRQHandler - #define EXTMODULE_TIMER_DMA_FLAG_TC DMA_IT_TCIF1 - #define EXTMODULE_TIMER_OUTPUT_ENABLE TIM_CCER_CC1NE - #define EXTMODULE_TIMER_OUTPUT_POLARITY TIM_CCER_CC1NP - #define EXTMODULE_TIMER_FREQ (PERI2_FREQUENCY * TIMER_MULT_APB2) #elif defined(RADIO_X9DP2019) #define EXTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_DMA2) #define EXTMODULE_RCC_APB2Periph (RCC_APB2Periph_TIM8 | RCC_APB2Periph_USART6) @@ -1217,22 +1272,22 @@ #define EXTMODULE_TIMER_OUTPUT_POLARITY TIM_CCER_CC2NP #define EXTMODULE_TIMER_FREQ (PERI2_FREQUENCY * TIMER_MULT_APB2) #else - #define EXTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_DMA2) - #define EXTMODULE_RCC_APB2Periph RCC_APB2Periph_TIM8 - #define EXTMODULE_PWR_GPIO GPIOD - #define EXTMODULE_PWR_GPIO_PIN GPIO_Pin_8 // PD.08 - #define EXTERNAL_MODULE_PWR_ON() GPIO_SetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) - #define EXTERNAL_MODULE_PWR_OFF() GPIO_ResetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) - #define IS_EXTERNAL_MODULE_ON() (GPIO_ReadInputDataBit(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) == Bit_SET) - #define EXTMODULE_TX_GPIO GPIOA - #define EXTMODULE_TX_GPIO_PIN GPIO_Pin_7 // PA.07 - #define EXTMODULE_TX_GPIO_PinSource GPIO_PinSource7 - #define EXTMODULE_TIMER TIM8 - #define EXTMODULE_TIMER_TX_GPIO_AF GPIO_AF_TIM8 // TIM8_CH1N - #define EXTMODULE_TIMER_CC_IRQn TIM8_CC_IRQn - #define EXTMODULE_TIMER_CC_IRQHandler TIM8_CC_IRQHandler - #define EXTMODULE_TIMER_DMA_CHANNEL DMA_Channel_7 // TIM8_UP - #define EXTMODULE_TIMER_DMA_STREAM DMA2_Stream1 // TIM8_UP + #define EXTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_DMA2) + #define EXTMODULE_RCC_APB2Periph RCC_APB2Periph_TIM8 + #define EXTMODULE_PWR_GPIO GPIOD + #define EXTMODULE_PWR_GPIO_PIN GPIO_Pin_8 // PD.08 + #define EXTERNAL_MODULE_PWR_ON() GPIO_SetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) + #define EXTERNAL_MODULE_PWR_OFF() GPIO_ResetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) + #define IS_EXTERNAL_MODULE_ON() (GPIO_ReadInputDataBit(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) == Bit_SET) + #define EXTMODULE_TX_GPIO GPIOA + #define EXTMODULE_TX_GPIO_PIN GPIO_Pin_7 + #define EXTMODULE_TX_GPIO_PinSource GPIO_PinSource7 // PA.07 + #define EXTMODULE_TIMER TIM8 + #define EXTMODULE_TIMER_TX_GPIO_AF GPIO_AF_TIM8 // TIM8_CH1N + #define EXTMODULE_TIMER_CC_IRQn TIM8_CC_IRQn + #define EXTMODULE_TIMER_CC_IRQHandler TIM8_CC_IRQHandler + #define EXTMODULE_TIMER_DMA_CHANNEL DMA_Channel_7 + #define EXTMODULE_TIMER_DMA_STREAM DMA2_Stream1 #define EXTMODULE_TIMER_DMA_STREAM_IRQn DMA2_Stream1_IRQn #define EXTMODULE_TIMER_DMA_STREAM_IRQHandler DMA2_Stream1_IRQHandler #define EXTMODULE_TIMER_DMA_FLAG_TC DMA_IT_TCIF1 @@ -1376,7 +1431,7 @@ #define TELEMETRY_EXTI_IRQn EXTI9_5_IRQn #define TELEMETRY_EXTI_TRIGGER EXTI_Trigger_Rising -#if defined(RADIO_X7) || defined(RADIO_X7ACCESS) +#if defined(RADIO_X7) || defined(RADIO_X7ACCESS) || defined(RADIO_TX12) #define TELEMETRY_EXTI_REUSE_INTERRUPT_ROTARY_ENCODER #elif defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_X9DP2019) #define TELEMETRY_EXTI_IRQHandler EXTI9_5_IRQHandler @@ -1389,7 +1444,7 @@ #define TELEMETRY_TIMER_IRQHandler TIM1_TRG_COM_TIM11_IRQHandler // PCBREV -#if defined(PCBX7) +#if defined(RADIO_X7) #define PCBREV_RCC_AHB1Periph RCC_AHB1Periph_GPIOA #define PCBREV_GPIO GPIOA #define PCBREV_GPIO_PIN GPIO_Pin_14 // PA.14 @@ -1472,7 +1527,7 @@ #define INTMODULE_HEARTBEAT_EXTI_PinSource GPIO_PinSource7 #define INTMODULE_HEARTBEAT_EXTI_LINE EXTI_Line7 #define INTMODULE_HEARTBEAT_EXTI_IRQn EXTI9_5_IRQn -#elif defined(RADIO_X7) +#elif defined(RADIO_X7) || defined(RADIO_TX12) #define INTMODULE_HEARTBEAT #define INTMODULE_HEARTBEAT_REUSE_INTERRUPT_ROTARY_ENCODER #define INTMODULE_HEARTBEAT_RCC_AHB1Periph RCC_AHB1Periph_GPIOC @@ -1657,6 +1712,9 @@ #define KEYS_BACKLIGHT_RCC_AHB1Periph 0 // LCD driver +#if defined(RADIO_TX12) || defined(RADIO_T12) + #define LCD_VERTICAL_INVERT +#endif #if defined(PCBX9E) #define LCD_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_DMA1) #define LCD_RCC_APB1Periph RCC_APB1Periph_SPI3 @@ -1849,6 +1907,12 @@ #define AUDIO_SPEAKER_ENABLE_GPIO_PIN GPIO_Pin_14 // PD.14 #define HEADPHONE_TRAINER_SWITCH_GPIO GPIOD #define HEADPHONE_TRAINER_SWITCH_GPIO_PIN GPIO_Pin_9 // PD.09 +#elif defined(RADIO_TX12) + #define AUDIO_RCC_AHB1Periph (RCC_AHB1Periph_GPIOE | RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_DMA1) + #define AUDIO_MUTE_GPIO GPIOE + #define AUDIO_MUTE_GPIO_PIN GPIO_Pin_12 // PE.12 + #define AUDIO_UNMUTE_DELAY 150 // ms + #define AUDIO_MUTE_DELAY 500 // ms #else #define AUDIO_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_DMA1) #endif @@ -1937,7 +2001,7 @@ #define BT_TX_GPIO_PinSource GPIO_PinSource14 #define BT_RX_GPIO_PinSource GPIO_PinSource9 #define BT_USART_IRQHandler USART6_IRQHandler -#elif defined(PCBX7) || defined(PCBXLITE) || defined(PCBX9LITES) || defined(RADIO_X9DP2019) +#elif defined(RADIO_X7) || defined(RADIO_X7ACCESS) || defined(PCBXLITE) || defined(PCBX9LITES) || defined(RADIO_X9DP2019) #define STORAGE_BLUETOOTH #define BT_RCC_APB1Periph RCC_APB1Periph_USART3 #define BT_RCC_APB2Periph 0 @@ -1969,7 +2033,7 @@ #define BT_USART_IRQn USART3_IRQn // #define BT_DMA_Stream_RX DMA1_Stream1 // #define BT_DMA_Channel_RX DMA_Channel_4 -#elif defined(PCBX9D) || defined(PCBX9DP) +#elif defined(PCBX9D) || defined(PCBX9DP) || defined(RADIO_T12) || defined(RADIO_TX12) #define STORAGE_BLUETOOTH #define BT_RCC_AHB1Periph 0 #define BT_RCC_APB1Periph 0 diff --git a/radio/src/targets/taranis/keys_driver.cpp b/radio/src/targets/taranis/keys_driver.cpp index 0699a1c50..6883740c4 100644 --- a/radio/src/targets/taranis/keys_driver.cpp +++ b/radio/src/targets/taranis/keys_driver.cpp @@ -37,6 +37,31 @@ uint32_t readKeys() result |= 1 << KEY_PAGE; #endif +#if defined(KEYS_GPIO_PIN_PAGEUP) + if (~KEYS_GPIO_REG_PAGEUP & KEYS_GPIO_PIN_PAGEUP) + result |= 1 << KEY_PAGEUP; +#endif + +#if defined(KEYS_GPIO_PIN_PAGEDN) + if (~KEYS_GPIO_REG_PAGEDN & KEYS_GPIO_PIN_PAGEDN) + result |= 1 << KEY_PAGEDN; +#endif + +#if defined(KEYS_GPIO_PIN_SYS) + if (~KEYS_GPIO_REG_SYS & KEYS_GPIO_PIN_SYS) + result |= 1 << KEY_SYS; +#endif + +#if defined(KEYS_GPIO_PIN_MDL) + if (~KEYS_GPIO_REG_MDL & KEYS_GPIO_PIN_MDL) + result |= 1 << KEY_MODEL; +#endif + +#if defined(KEYS_GPIO_PIN_TELE) + if (~KEYS_GPIO_REG_TELE & KEYS_GPIO_PIN_TELE) + result |= 1 << KEY_TELE; +#endif + if (~KEYS_GPIO_REG_EXIT & KEYS_GPIO_PIN_EXIT) result |= 1 << KEY_EXIT; @@ -115,7 +140,7 @@ void readKeysAndTrims() { uint8_t index = 0; uint32_t keys_input = readKeys(); - for (uint8_t i = 1; i != uint8_t(1 << TRM_BASE); i <<= 1) { + for (unsigned i = 1; i != unsigned(1 << TRM_BASE); i <<= 1) { keys[index++].input(keys_input & i); } @@ -175,10 +200,15 @@ uint32_t switchState(uint8_t index) uint32_t xxx = 0; switch (index) { +#if defined(RADIO_TX12) + ADD_2POS_CASE(A); + ADD_3POS_CASE(B, 1); + ADD_3POS_CASE(C, 2); +#else ADD_3POS_CASE(A, 0); ADD_3POS_CASE(B, 1); ADD_3POS_CASE(C, 2); - +#endif #if defined(PCBX9LITES) ADD_2POS_CASE(D); ADD_2POS_CASE(E); @@ -201,6 +231,10 @@ uint32_t switchState(uint8_t index) ADD_2POS_CASE(H); ADD_2POS_CASE(I); // no SWJ on XLITE +#elif defined(RADIO_TX12) + ADD_2POS_CASE(D); + ADD_3POS_CASE(E, 4); + ADD_3POS_CASE(F, 5); #elif defined(PCBX7) ADD_3POS_CASE(D, 3); ADD_2POS_CASE(F); diff --git a/radio/src/targets/taranis/lcd_driver_spi.cpp b/radio/src/targets/taranis/lcd_driver_spi.cpp index 6936ae85f..e1efa8e15 100644 --- a/radio/src/targets/taranis/lcd_driver_spi.cpp +++ b/radio/src/targets/taranis/lcd_driver_spi.cpp @@ -20,7 +20,7 @@ #include "opentx.h" -#if defined(RADIO_T12) +#if defined(RADIO_T12) || defined(RADIO_TX12) #define LCD_CONTRAST_OFFSET -10 #else #define LCD_CONTRAST_OFFSET 160 @@ -107,8 +107,8 @@ void lcdHardwareInit() #if LCD_W == 128 void lcdStart() { -#if defined(RADIO_T12) - // Jumper has the screen inverted. +#if defined(LCD_VERTICAL_INVERT) + // T12 and TX12 have the screen inverted. lcdWriteCommand(0xe2); // (14) Soft reset lcdWriteCommand(0xa0); // Set seg lcdWriteCommand(0xc8); // Set com @@ -201,7 +201,7 @@ void lcdRefresh(bool wait) for (uint8_t y=0; y < 8; y++, p+=LCD_W) { lcdWriteCommand(0x10); // Column addr 0 lcdWriteCommand(0xB0 | y); // Page addr y -#if !defined(RADIO_T12) +#if !defined(LCD_VERTICAL_INVERT) lcdWriteCommand(0x04); #endif diff --git a/radio/src/targets/taranis/telemetry_driver.cpp b/radio/src/targets/taranis/telemetry_driver.cpp index f0068232b..c16d6feca 100644 --- a/radio/src/targets/taranis/telemetry_driver.cpp +++ b/radio/src/targets/taranis/telemetry_driver.cpp @@ -122,8 +122,8 @@ void telemetryPortInvertedInit(uint32_t baudrate) probeTimeFromStartBit = 25; break; case 57600: - bitLength = 35; //34 was used before - I prefer to use use 35 because of lower error - probeTimeFromStartBit = 52; //round down - 48 used in original implementation + bitLength = 35; + probeTimeFromStartBit = 48; break; default: bitLength = 2000000/baudrate; //because of 0,5 us tick diff --git a/radio/src/telemetry/crossfire.cpp b/radio/src/telemetry/crossfire.cpp index 265045130..b81a7487e 100644 --- a/radio/src/telemetry/crossfire.cpp +++ b/radio/src/telemetry/crossfire.cpp @@ -178,10 +178,9 @@ void processCrossfireTelemetryFrame() case FLIGHT_MODE_ID: { const CrossfireSensor & sensor = crossfireSensors[FLIGHT_MODE_INDEX]; - for (int i=0; i(16, telemetryRxBuffer[1]-2); i+=4) { - uint32_t value = *((uint32_t *)&telemetryRxBuffer[3+i]); - setTelemetryValue(PROTOCOL_TELEMETRY_CROSSFIRE, sensor.id, 0, sensor.subId, value, sensor.unit, i); - } + auto textLength = min(16, telemetryRxBuffer[1]); + telemetryRxBuffer[textLength] = '\0'; + setTelemetryText(PROTOCOL_TELEMETRY_CROSSFIRE, sensor.id, 0, sensor.subId, (const char *)telemetryRxBuffer + 3); break; } diff --git a/radio/src/telemetry/telemetry_sensors.cpp b/radio/src/telemetry/telemetry_sensors.cpp index 398c15961..e88807062 100644 --- a/radio/src/telemetry/telemetry_sensors.cpp +++ b/radio/src/telemetry/telemetry_sensors.cpp @@ -204,6 +204,7 @@ void TelemetryItem::setValue(const TelemetrySensor & sensor, int32_t val, uint32 } } else if (unit == UNIT_TEXT) { + // Should be handled at telemetry protocol level return; } else { diff --git a/radio/src/telemetry/telemetry_sensors.h b/radio/src/telemetry/telemetry_sensors.h index e2fbcd498..8a44ae547 100644 --- a/radio/src/telemetry/telemetry_sensors.h +++ b/radio/src/telemetry/telemetry_sensors.h @@ -26,6 +26,7 @@ constexpr int8_t TELEMETRY_SENSOR_TIMEOUT_UNAVAILABLE = -2; constexpr int8_t TELEMETRY_SENSOR_TIMEOUT_OLD = -1; constexpr int8_t TELEMETRY_SENSOR_TIMEOUT_START = 125; // * 160ms = 20s +constexpr uint8_t TELEMETRY_SENSOR_TEXT_LENGTH = 16; class TelemetryItem { @@ -74,7 +75,7 @@ class TelemetryItem // pilot latitude is stored in max // distFromEarthAxis is stored in value } gps; - char text[16]; + char text[TELEMETRY_SENSOR_TEXT_LENGTH]; }; TelemetryItem() diff --git a/radio/src/trainer.cpp b/radio/src/trainer.cpp index 209af5d77..78b0ef60a 100644 --- a/radio/src/trainer.cpp +++ b/radio/src/trainer.cpp @@ -48,6 +48,11 @@ void checkTrainerSignalWarning() } #if defined(PCBSKY9X) +void stopTrainer() +{ + stop_trainer_capture(); +} + void checkTrainerSettings() { uint8_t requiredTrainerMode = SLAVE_MODE(); @@ -55,50 +60,59 @@ void checkTrainerSettings() if (requiredTrainerMode != currentTrainerMode) { currentTrainerMode = requiredTrainerMode; if (requiredTrainerMode) - stop_trainer_capture(); + stopTrainer(); else init_trainer_capture(); } } #else +void stopTrainer() +{ + switch (currentTrainerMode) { + case TRAINER_MODE_MASTER_TRAINER_JACK: + stop_trainer_capture(); + break; + + case TRAINER_MODE_SLAVE: + stop_trainer_ppm(); + break; + +#if defined(TRAINER_MODULE_CPPM) + case TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE: + stop_trainer_module_cppm(); + break; +#endif + +#if defined(TRAINER_MODULE_SBUS) + case TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE: + stop_trainer_module_sbus(); + break; +#endif + +#if defined(TRAINER_BATTERY_COMPARTMENT) + case TRAINER_MODE_MASTER_BATTERY_COMPARTMENT: +#if defined(AUX_SERIAL) + if (g_eeGeneral.auxSerialMode == UART_MODE_SBUS_TRAINER) + auxSerialStop(); +#endif +#if defined(AUX2_SERIAL) + if (g_eeGeneral.aux2SerialMode == UART_MODE_SBUS_TRAINER) + aux2SerialStop(); +#endif + break; +#endif + } + + currentTrainerMode = 0xFF; +} + void checkTrainerSettings() { uint8_t requiredTrainerMode = g_model.trainerData.mode; if (requiredTrainerMode != currentTrainerMode) { - switch (currentTrainerMode) { - case TRAINER_MODE_MASTER_TRAINER_JACK: - stop_trainer_capture(); - break; - - case TRAINER_MODE_SLAVE: - stop_trainer_ppm(); - break; - -#if defined(TRAINER_MODULE_CPPM) - case TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE: - stop_trainer_module_cppm(); - break; -#endif - -#if defined(TRAINER_MODULE_SBUS) - case TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE: - stop_trainer_module_sbus(); - break; -#endif - -#if defined(HARDWARE_TRAINER_AUX_SERIAL) - case TRAINER_MODE_MASTER_BATTERY_COMPARTMENT: -#if defined(AUX_SERIAL) - if (g_eeGeneral.auxSerialMode == UART_MODE_SBUS_TRAINER) - auxSerialStop(); -#endif -#if defined(AUX2_SERIAL) - if (g_eeGeneral.aux2SerialMode == UART_MODE_SBUS_TRAINER) - aux2SerialStop(); -#endif - break; -#endif + if (currentTrainerMode != 0xFF) { + stopTrainer(); } currentTrainerMode = requiredTrainerMode; @@ -120,7 +134,7 @@ void checkTrainerSettings() break; #endif -#if defined(HARDWARE_TRAINER_AUX_SERIAL) +#if defined(TRAINER_BATTERY_COMPARTMENT) case TRAINER_MODE_MASTER_BATTERY_COMPARTMENT: #if defined(AUX_SERIAL) if (g_eeGeneral.auxSerialMode == UART_MODE_SBUS_TRAINER) diff --git a/radio/src/trainer.h b/radio/src/trainer.h index e3c67acac..1222d4f55 100644 --- a/radio/src/trainer.h +++ b/radio/src/trainer.h @@ -35,6 +35,7 @@ extern uint8_t currentTrainerMode; void checkTrainerSignalWarning(); void checkTrainerSettings(); +void stopTrainer(); void forceResetTrainerSettings(); // Needs to be inlined to avoid slow function calls in ISR routines diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 405357146..c69fb2a0f 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -291,6 +291,9 @@ #elif defined(RADIO_T12) #define LEN_VKEYS "\005" #define TR_VKEYS "Exit\0""Enter""Dolů\0""Nhoru""Vprvo""Vlevo" +#elif defined(RADIO_TX12) + #define LEN_VKEYS "\005" + #define TR_VKEYS "Exit\0""Enter""Up\0 ""Down\0""SYS\0 ""MDL\0 ""TELE\0" #elif defined(PCBTARANIS) #define LEN_VKEYS "\005" #define TR_VKEYS "Menu\0""Exit\0""Enter""Page\0""Plus\0""Mínus" diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 7857a73d6..09507c3ea 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -300,6 +300,9 @@ #elif defined(RADIO_T12) #define LEN_VKEYS "\005" #define TR_VKEYS "Exit\0""Enter""Down\0""Up\0 ""Right""Left\0" +#elif defined(RADIO_TX12) + #define LEN_VKEYS "\005" + #define TR_VKEYS "Exit\0""Enter""Up\0 ""Down\0""SYS\0 ""MDL\0 ""TELE\0" #elif defined(PCBTARANIS) #define LEN_VKEYS "\005" #define TR_VKEYS "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 00fdc3c4d..26f69a06e 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -300,6 +300,9 @@ #elif defined(RADIO_T12) #define LEN_VKEYS "\005" #define TR_VKEYS "Exit\0""Enter""Down\0""Up\0 ""Right""Left\0" +#elif defined(RADIO_TX12) + #define LEN_VKEYS "\005" + #define TR_VKEYS "Exit\0""Enter""Up\0 ""Down\0""SYS\0 ""MDL\0 ""TELE\0" #elif defined(PCBTARANIS) #define LEN_VKEYS "\005" #define TR_VKEYS "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index e14407ad5..c312a285d 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -297,6 +297,9 @@ #elif defined(RADIO_T12) #define LEN_VKEYS "\005" #define TR_VKEYS "Exit\0""Enter""Down\0""Up\0 ""Right""Left\0" +#elif defined(RADIO_TX12) + #define LEN_VKEYS "\005" + #define TR_VKEYS "Exit\0""Enter""Up\0 ""Down\0""SYS\0 ""MDL\0 ""TELE\0" #elif defined(PCBTARANIS) #define LEN_VKEYS "\005" #define TR_VKEYS "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 22f762ca1..cc5cd85aa 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -318,6 +318,9 @@ #elif defined(RADIO_T12) #define LEN_VKEYS "\005" #define TR_VKEYS "Exit\0""Enter""Down\0""Up\0 ""Right""Left\0" +#elif defined(RADIO_TX12) + #define LEN_VKEYS "\005" + #define TR_VKEYS "Exit\0""Enter""Up\0 ""Down\0""SYS\0 ""MDL\0 ""TELE\0" #elif defined(PCBTARANIS) #define LEN_VKEYS "\005" #define TR_VKEYS "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index fce9f02f9..d3d10c169 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -320,6 +320,9 @@ #elif defined(RADIO_T12) #define LEN_VKEYS "\005" #define TR_VKEYS "Exit\0""Enter""Down\0""Up\0 ""Right""Left\0" +#elif defined(RADIO_TX12) + #define LEN_VKEYS "\005" + #define TR_VKEYS "Exit\0""Enter""Up\0 ""Down\0""SYS\0 ""MDL\0 ""TELE\0" #elif defined(PCBTARANIS) #define LEN_VKEYS "\005" #define TR_VKEYS "Menu\0""Exit\0""Enter""Page\0""Plus\0""Moins" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 52b3533bf..e763ed311 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -324,6 +324,9 @@ #elif defined(RADIO_T12) #define LEN_VKEYS "\005" #define TR_VKEYS "Exit\0""Enter""Down\0""Up\0 ""Right""Left\0" +#elif defined(RADIO_TX12) + #define LEN_VKEYS "\005" + #define TR_VKEYS "Exit\0""Enter""Up\0 ""Down\0""SYS\0 ""MDL\0 ""TELE\0" #elif defined(PCBTARANIS) #define LEN_VKEYS "\005" #define TR_VKEYS "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus" diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index 8703e420e..b29a4a94a 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -298,6 +298,9 @@ #elif defined(RADIO_T12) #define LEN_VKEYS "\005" #define TR_VKEYS "Exit\0""Enter""Down\0""Up\0 ""Right""Left\0" +#elif defined(RADIO_TX12) + #define LEN_VKEYS "\005" + #define TR_VKEYS "Exit\0""Enter""Up\0 ""Down\0""SYS\0 ""MDL\0 ""TELE\0" #elif defined(PCBTARANIS) #define LEN_VKEYS "\005" #define TR_VKEYS "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 81730567d..594b4b901 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -318,6 +318,9 @@ #elif defined(RADIO_T12) #define LEN_VKEYS "\005" #define TR_VKEYS "Exit\0""Enter""Down\0""Up\0 ""Right""Left\0" +#elif defined(RADIO_TX12) + #define LEN_VKEYS "\005" + #define TR_VKEYS "Exit\0""Enter""Up\0 ""Down\0""SYS\0 ""MDL\0 ""TELE\0" #elif defined(PCBTARANIS) #define LEN_VKEYS "\005" #define TR_VKEYS "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 0095604d3..1041db2fa 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -305,8 +305,22 @@ #define LEN_VSWASHTYPE "\004" #define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0" -#define LEN_VKEYS "\005" -#define TR_VKEYS TR("Menu\0""Sair\0""Desce""Sobe\0""Direi""Esqda", "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus") +#if defined(PCBHORUS) + #define LEN_VKEYS "\005" + #define TR_VKEYS "PGUP\0""PGDN\0""ENTER""MDL\0 ""RTN\0 ""TELE\0""SYS\0 " +#elif defined(RADIO_T12) + #define LEN_VKEYS "\005" + #define TR_VKEYS "Exit\0""Enter""Down\0""Up\0 ""Right""Left\0" +#elif defined(RADIO_TX12) + #define LEN_VKEYS "\005" + #define TR_VKEYS "Exit\0""Enter""Up\0 ""Down\0""SYS\0 ""MDL\0 ""TELE\0" +#elif defined(PCBTARANIS) + #define LEN_VKEYS "\005" + #define TR_VKEYS "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus" +#else + #define LEN_VKEYS "\005" + #define TR_VKEYS "Menu\0""Exit\0""Ned\0 ""Upp\0 ""Höger""Vänst" +#endif #define LEN_VSWITCHES "\003" #define LEN_VSRCRAW "\004" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index d44058c7d..12ffb51fc 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -310,11 +310,14 @@ #define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0 " #if defined(PCBHORUS) - #define LEN_VKEYS "\005" - #define TR_VKEYS "PGUP\0""PGDN\0""ENTER""MDL\0 ""RTN\0 ""TELE\0""SYS\0 " + #define LEN_VKEYS "\005" + #define TR_VKEYS "PGUP\0""PGDN\0""ENTER""MDL\0 ""RTN\0 ""TELE\0""SYS\0 " #elif defined(RADIO_T12) #define LEN_VKEYS "\005" #define TR_VKEYS "Exit\0""Enter""Down\0""Up\0 ""Right""Left\0" +#elif defined(RADIO_TX12) + #define LEN_VKEYS "\005" + #define TR_VKEYS "Exit\0""Enter""Up\0 ""Down\0""SYS\0 ""MDL\0 ""TELE\0" #elif defined(PCBTARANIS) #define LEN_VKEYS "\005" #define TR_VKEYS "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus" diff --git a/radio/src/translations/untranslated.h b/radio/src/translations/untranslated.h index 602cc171d..3f66d013b 100644 --- a/radio/src/translations/untranslated.h +++ b/radio/src/translations/untranslated.h @@ -44,6 +44,9 @@ #elif defined(RADIO_T12) #define TR_POTS_VSRCRAW STR_CHAR_POT"S1\0" STR_CHAR_POT"S2\0" #define TR_SW_VSRCRAW STR_CHAR_SWITCH"SA\0" STR_CHAR_SWITCH"SB\0" STR_CHAR_SWITCH"SC\0" STR_CHAR_SWITCH"SD\0" STR_CHAR_SWITCH"SG\0" STR_CHAR_SWITCH"SH\0" STR_CHAR_SWITCH"SI\0" STR_CHAR_SWITCH"SJ\0" +#elif defined(RADIO_TX12) + #define TR_POTS_VSRCRAW "\310S1\0""\310S2\0" + #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SI\0""\312SJ\0" #elif defined(PCBX7) #define TR_POTS_VSRCRAW STR_CHAR_POT"S1\0" STR_CHAR_POT"S2\0" #define TR_SW_VSRCRAW STR_CHAR_SWITCH"SA\0" STR_CHAR_SWITCH"SB\0" STR_CHAR_SWITCH"SC\0" STR_CHAR_SWITCH"SD\0" STR_CHAR_SWITCH"SF\0" STR_CHAR_SWITCH"SH\0" STR_CHAR_SWITCH"SI\0" STR_CHAR_SWITCH"SJ\0" diff --git a/radio/util/build-firmware.py b/radio/util/build-firmware.py index c27e6b58a..907e358dd 100755 --- a/radio/util/build-firmware.py +++ b/radio/util/build-firmware.py @@ -146,6 +146,11 @@ def main(): cmake_options["PCBREV"] = "T12" firmware_options = options_jumper_t12 maxsize = 65536 * 8 + elif board_name == "tx12": + cmake_options["PCB"] = "X7" + cmake_options["PCBREV"] = "TX12" + firmware_options = options_radiomaster_tx12 + maxsize = 65536 * 8 elif board_name == "t16": cmake_options["PCB"] = "X10" cmake_options["PCBREV"] = "T16" diff --git a/radio/util/fwoptions.py b/radio/util/fwoptions.py index 8b34e6bf6..f4438db44 100755 --- a/radio/util/fwoptions.py +++ b/radio/util/fwoptions.py @@ -246,6 +246,18 @@ options_jumper_t18 = { "bluetooth": ("BLUETOOTH", "YES", "NO"), } +options_radiomaster_tx12 = { + "noheli": ("HELI", "NO", "YES"), + "ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"), + "lua": ("LUA", "YES", "NO_MODEL_SCRIPTS"), + "nogvars": ("GVARS", "NO", "YES"), + "faimode": ("FAI", "YES", None), + "faichoice": ("FAI", "CHOICE", None), + "nooverridech": ("OVERRIDE_CHANNEL_FUNCTION", "NO", "YES"), + "flexr9m": ("MODULE_PROTOCOL_FLEX", "YES", None), + "afhds3": ("AFHDS3", "YES", "NO") +} + options_radiomaster_tx16s = { "noheli": ("HELI", "NO", "YES"), "ppmus": ("PPM_UNIT", "US", "PERCENT_PREC1"), diff --git a/tools/build-companion-nightly.sh b/tools/build-companion-nightly.sh index fbf8f7166..a0406f691 100755 --- a/tools/build-companion-nightly.sh +++ b/tools/build-companion-nightly.sh @@ -70,6 +70,10 @@ cmake ${COMMON_OPTIONS} -DPCB=X7 -DPCBREV=T12 ${SRCDIR} make -j${JOBS} libsimulator rm CMakeCache.txt +cmake ${COMMON_OPTIONS} -DPCB=X7 -DPCBREV=TX12 ${SRCDIR} +make -j${JOBS} libsimulator +rm CMakeCache.txt + cmake ${COMMON_OPTIONS} -DPCB=X9D ${SRCDIR} make -j${JOBS} libsimulator rm CMakeCache.txt diff --git a/tools/build-companion-release.sh b/tools/build-companion-release.sh index b73ce8ed2..463645dc2 100755 --- a/tools/build-companion-release.sh +++ b/tools/build-companion-release.sh @@ -70,6 +70,10 @@ cmake ${COMMON_OPTIONS} -DPCB=X7 -DPCBREV=T12 ${SRCDIR} make -j${JOBS} libsimulator rm CMakeCache.txt +cmake ${COMMON_OPTIONS} -DPCB=X7 -DPCBREV=TX12 ${SRCDIR} +make -j${JOBS} libsimulator +rm CMakeCache.txt + cmake ${COMMON_OPTIONS} -DPCB=X9D ${SRCDIR} make -j${JOBS} libsimulator rm CMakeCache.txt diff --git a/tools/build-radiomaster.py b/tools/build-radiomaster.py index 83faa31bb..985bc705a 100755 --- a/tools/build-radiomaster.py +++ b/tools/build-radiomaster.py @@ -18,6 +18,16 @@ boards = { "PCB": "X10", "PCBREV": "TX16S", "DEFAULT_MODE": "2", + }, + "TX12_1": { + "PCB": "X7", + "PCBREV": "TX12", + "DEFAULT_MODE": "1", + }, + "TX12_2": { + "PCB": "X7", + "PCBREV": "TX12", + "DEFAULT_MODE": "2", } } diff --git a/tools/commit-tests.sh b/tools/commit-tests.sh index a9c7090ea..b9a336b01 100755 --- a/tools/commit-tests.sh +++ b/tools/commit-tests.sh @@ -112,6 +112,15 @@ if [[ " X7 ALL " =~ \ ${FLAVOR}\ ]] ; then make -j"${CORES}" tests-radio fi +if [[ " X7ACCESS X7 ALL " =~ \ ${FLAVOR}\ ]] ; then + # OpenTX on X7 ACCESS + rm -rf ./* + cmake "${COMMON_OPTIONS}" -DPCB=X7 -DPCBREV=ACCESS -DHELI=YES -DGVARS=YES "${SRCDIR}" + make -j"${CORES}" ${FIRMARE_TARGET} + make -j"${CORES}" libsimulator + make -j"${CORES}" tests-radio +fi + if [[ " T12 X7 ALL " =~ \ ${FLAVOR}\ ]] ; then # OpenTX on T12 rm -rf ./* || true @@ -121,6 +130,15 @@ if [[ " T12 X7 ALL " =~ \ ${FLAVOR}\ ]] ; then make -j"${CORES}" tests-radio fi +if [[ " TX12 X7 ALL " =~ \ ${FLAVOR}\ ]] ; then + # OpenTX on TX12 + rm -rf ./* + cmake "${COMMON_OPTIONS}" -DPCB=X7 -DPCBREV=TX12 -DHELI=YES -DGVARS=YES "${SRCDIR}" + make -j"${CORES}" ${FIRMARE_TARGET} + make -j"${CORES}" libsimulator + make -j"${CORES}" tests-radio +fi + if [[ " XLITE ALL " =~ \ ${FLAVOR}\ ]] ; then # OpenTX on X-Lite rm -rf ./* || true