diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml index 35ff91170..f642bf742 100644 --- a/.github/workflows/actions.yml +++ b/.github/workflows/actions.yml @@ -101,7 +101,7 @@ jobs: - t12;t12max - t15;t16;t18 - t8;zorro;pocket;mt12;commando8 - - tlite;tpro;tprov2;lr3pro + - tlite;tpro;tprov2;tpros;lr3pro - t20;t20v2;t14 - tx12;tx12mk2;boxer - tx16s diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 68fa7cc8c..3b3a96bb0 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -21,7 +21,7 @@ jobs: - t12;t12max - t15;t16;t18 - t8;zorro;pocket;mt12;commando8 - - tlite;tpro;tprov2;lr3pro + - tlite;tpro;tprov2;tpros;lr3pro - t20;t20v2;t14 - tx12;tx12mk2;boxer - tx16s diff --git a/companion/src/companion.qrc b/companion/src/companion.qrc index 63d60eff0..285775e71 100644 --- a/companion/src/companion.qrc +++ b/companion/src/companion.qrc @@ -212,6 +212,14 @@ images/simulator/JumperTPRO/left.png images/simulator/JumperTPRO/right.png images/simulator/JumperTPRO/top.png + images/simulator/JumperTPROS/bottom.png + images/simulator/JumperTPROS/left.png + images/simulator/JumperTPROS/right.png + images/simulator/JumperTPROS/right-ent.png + images/simulator/JumperTPROS/top.png + images/simulator/JumperTPROS/exit.png + images/simulator/JumperTPROS/menu.png + images/simulator/JumperTPROS/page.png images/simulator/TX12/left.png images/simulator/TX12/left-pageup.png images/simulator/TX12/left-pagedn.png diff --git a/companion/src/firmwares/boards.cpp b/companion/src/firmwares/boards.cpp index 95e270c0b..5fa92d359 100644 --- a/companion/src/firmwares/boards.cpp +++ b/companion/src/firmwares/boards.cpp @@ -191,6 +191,7 @@ int Boards::getEEpromSize(Board::Type board) case BOARD_JUMPER_TLITE_F4: case BOARD_JUMPER_TPRO: case BOARD_JUMPER_TPROV2: + case BOARD_JUMPER_TPROS: case BOARD_RADIOMASTER_TX12: case BOARD_RADIOMASTER_TX12_MK2: case BOARD_RADIOMASTER_T8: @@ -246,6 +247,7 @@ int Boards::getFlashSize(Type board) case BOARD_JUMPER_TLITE_F4: case BOARD_JUMPER_TPRO: case BOARD_JUMPER_TPROV2: + case BOARD_JUMPER_TPROS: case BOARD_RADIOMASTER_TX12: case BOARD_RADIOMASTER_TX12_MK2: case BOARD_RADIOMASTER_ZORRO: @@ -536,6 +538,8 @@ QString Boards::getBoardName(Board::Type board) return "Jumper T-Pro"; case BOARD_JUMPER_TPROV2: return "Jumper T-Pro V2"; + case BOARD_JUMPER_TPROS: + return "Jumper T-Pro S"; case BOARD_JUMPER_T12MAX: return "Jumper T12 MAX"; case BOARD_JUMPER_T14: @@ -687,6 +691,7 @@ int Boards::getDefaultInternalModules(Board::Type board) case BOARD_JUMPER_T15: case BOARD_JUMPER_T20: case BOARD_JUMPER_T20V2: + case BOARD_JUMPER_TPROS: case BOARD_FATFISH_F16: return (int)MODULE_TYPE_CROSSFIRE; diff --git a/companion/src/firmwares/boards.h b/companion/src/firmwares/boards.h index e6d1a4169..9d977ee4b 100644 --- a/companion/src/firmwares/boards.h +++ b/companion/src/firmwares/boards.h @@ -82,6 +82,7 @@ namespace Board { BOARD_IFLIGHT_COMMANDO8, BOARD_FLYSKY_EL18, BOARD_JUMPER_TPROV2, + BOARD_JUMPER_TPROS, BOARD_RADIOMASTER_POCKET, BOARD_JUMPER_T20V2, BOARD_FATFISH_F16, @@ -424,7 +425,7 @@ inline bool IS_JUMPER_TLITE(Board::Type board) inline bool IS_JUMPER_TPRO(Board::Type board) { - return board == Board::BOARD_JUMPER_TPRO || board == Board::BOARD_JUMPER_TPROV2; + return board == Board::BOARD_JUMPER_TPRO || board == Board::BOARD_JUMPER_TPROV2 || board == Board::BOARD_JUMPER_TPROS; } inline bool IS_JUMPER_TPROV1(Board::Type board) @@ -437,6 +438,11 @@ inline bool IS_JUMPER_TPROV2(Board::Type board) return board == Board::BOARD_JUMPER_TPROV2; } +inline bool IS_JUMPER_TPROS(Board::Type board) +{ + return board == Board::BOARD_JUMPER_TPROS; +} + inline bool IS_JUMPER_T15(Board::Type board) { return board == Board::BOARD_JUMPER_T15; @@ -523,6 +529,7 @@ inline bool IS_FAMILY_T12(Board::Type board) board == Board::BOARD_JUMPER_TLITE_F4 || board == Board::BOARD_JUMPER_TPRO || board == Board::BOARD_JUMPER_TPROV2 || + board == Board::BOARD_JUMPER_TPROS || board == Board::BOARD_RADIOMASTER_TX12 || board == Board::BOARD_RADIOMASTER_TX12_MK2 || board == Board::BOARD_RADIOMASTER_ZORRO || diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index e1c626ba4..a3e2e46d4 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -68,6 +68,8 @@ const char * OpenTxEepromInterface::getName() return "EdgeTX for Jumper T-Pro"; case BOARD_JUMPER_TPROV2: return "EdgeTX for Jumper T-Pro V2"; + case BOARD_JUMPER_TPROS: + return "EdgeTX for Jumper T-Pro S"; case BOARD_JUMPER_T12MAX: return "EdgeTX for Jumper T12 MAX"; case BOARD_JUMPER_T14: @@ -1439,6 +1441,16 @@ void registerOpenTxFirmwares() registerOpenTxFirmware(firmware); addOpenTxRfOptions(firmware, FLEX); + /* Jumper T-Pro S board */ + firmware = new OpenTxFirmware(FIRMWAREID("tpros"), QCoreApplication::translate("Firmware", "Jumper T-Pro S"), BOARD_JUMPER_TPROS); + 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); + /* Jumper T12 board */ firmware = new OpenTxFirmware(FIRMWAREID("t12"), QCoreApplication::translate("Firmware", "Jumper T12 / T12 Pro"), BOARD_JUMPER_T12); addOpenTxCommonOptions(firmware); diff --git a/companion/src/images/simulator/JumperTPROS/bottom.png b/companion/src/images/simulator/JumperTPROS/bottom.png new file mode 100644 index 000000000..5878810b8 Binary files /dev/null and b/companion/src/images/simulator/JumperTPROS/bottom.png differ diff --git a/companion/src/images/simulator/JumperTPROS/exit.png b/companion/src/images/simulator/JumperTPROS/exit.png new file mode 100644 index 000000000..ac187242f Binary files /dev/null and b/companion/src/images/simulator/JumperTPROS/exit.png differ diff --git a/companion/src/images/simulator/JumperTPROS/left.png b/companion/src/images/simulator/JumperTPROS/left.png new file mode 100644 index 000000000..2ec9ade5b Binary files /dev/null and b/companion/src/images/simulator/JumperTPROS/left.png differ diff --git a/companion/src/images/simulator/JumperTPROS/menu.png b/companion/src/images/simulator/JumperTPROS/menu.png new file mode 100644 index 000000000..18e807246 Binary files /dev/null and b/companion/src/images/simulator/JumperTPROS/menu.png differ diff --git a/companion/src/images/simulator/JumperTPROS/page.png b/companion/src/images/simulator/JumperTPROS/page.png new file mode 100644 index 000000000..ee73613e6 Binary files /dev/null and b/companion/src/images/simulator/JumperTPROS/page.png differ diff --git a/companion/src/images/simulator/JumperTPROS/right-ent.png b/companion/src/images/simulator/JumperTPROS/right-ent.png new file mode 100644 index 000000000..f2d9f0770 Binary files /dev/null and b/companion/src/images/simulator/JumperTPROS/right-ent.png differ diff --git a/companion/src/images/simulator/JumperTPROS/right.png b/companion/src/images/simulator/JumperTPROS/right.png new file mode 100644 index 000000000..60eeaad79 Binary files /dev/null and b/companion/src/images/simulator/JumperTPROS/right.png differ diff --git a/companion/src/images/simulator/JumperTPROS/top.png b/companion/src/images/simulator/JumperTPROS/top.png new file mode 100644 index 000000000..eacf96a65 Binary files /dev/null and b/companion/src/images/simulator/JumperTPROS/top.png differ diff --git a/companion/src/simulation/CMakeLists.txt b/companion/src/simulation/CMakeLists.txt index 3b7ddaacb..c53fff881 100644 --- a/companion/src/simulation/CMakeLists.txt +++ b/companion/src/simulation/CMakeLists.txt @@ -43,6 +43,7 @@ set(${PROJECT_NAME}_SRCS simulateduiwidgetJumperT20.cpp simulateduiwidgetJumperTLITE.cpp simulateduiwidgetJumperTPRO.cpp + simulateduiwidgetJumperTPROS.cpp simulateduiwidgetLR3PRO.cpp simulateduiwidgetNV14.cpp simulateduiwidgetPL18.cpp diff --git a/companion/src/simulation/simulateduiwidget.h b/companion/src/simulation/simulateduiwidget.h index fe35db331..3a4f38efe 100644 --- a/companion/src/simulation/simulateduiwidget.h +++ b/companion/src/simulation/simulateduiwidget.h @@ -144,6 +144,7 @@ namespace Ui { class SimulatedUIWidgetJumperT12; class SimulatedUIWidgetJumperTLITE; class SimulatedUIWidgetJumperTPRO; + class SimulatedUIWidgetJumperTPROS; class SimulatedUIWidgetJumperT12max; class SimulatedUIWidgetJumperT14; class SimulatedUIWidgetJumperT15; @@ -334,6 +335,18 @@ class SimulatedUIWidgetJumperTPRO: public SimulatedUIWidget Ui::SimulatedUIWidgetJumperTPRO * ui; }; +class SimulatedUIWidgetJumperTPROS: public SimulatedUIWidget +{ + Q_OBJECT + +public: + explicit SimulatedUIWidgetJumperTPROS(SimulatorInterface * simulator, QWidget * parent = NULL); + virtual ~SimulatedUIWidgetJumperTPROS(); + +private: + Ui::SimulatedUIWidgetJumperTPROS * ui; +}; + class SimulatedUIWidgetJumperT15: public SimulatedUIWidget { Q_OBJECT diff --git a/companion/src/simulation/simulateduiwidgetJumperTPROS.cpp b/companion/src/simulation/simulateduiwidgetJumperTPROS.cpp new file mode 100644 index 000000000..7851999f3 --- /dev/null +++ b/companion/src/simulation/simulateduiwidgetJumperTPROS.cpp @@ -0,0 +1,57 @@ +#include "simulateduiwidget.h" +#include "ui_simulateduiwidgetJumperTPROS.h" +#include "eeprominterface.h" + +// NOTE: RadioUiAction(NUMBER,...): NUMBER relates to enum EnumKeys in the specific board.h + +SimulatedUIWidgetJumperTPROS::SimulatedUIWidgetJumperTPROS(SimulatorInterface *simulator, QWidget * parent): + SimulatedUIWidget(simulator, parent), + ui(new Ui::SimulatedUIWidgetJumperTPROS) +{ + RadioUiAction * act; + + ui->setupUi(this); + + act = new RadioUiAction(0, QList() << Qt::Key_PageUp << Qt::Key_Up, SIMU_STR_HLP_KEYS_GO_UP, SIMU_STR_HLP_ACT_MENU_ICN); + addRadioWidget(ui->leftbuttons->addArea(QRect(85, 85, 70, 70), "JumperTPROS/menu.png", act)); + + act = new RadioUiAction(3, QList() << Qt::Key_PageDown << Qt::Key_Down, SIMU_STR_HLP_KEYS_GO_DN, SIMU_STR_HLP_ACT_PAGE); + addRadioWidget(ui->leftbuttons->addArea(QRect(53, 160, 70, 70), "JumperTPROS/page.png", act)); + + act = new RadioUiAction(1, QList() << Qt::Key_Delete << Qt::Key_Escape << Qt::Key_Backspace, SIMU_STR_HLP_KEYS_EXIT, SIMU_STR_HLP_ACT_EXIT); + addRadioWidget(ui->leftbuttons->addArea(QRect(20, 230, 70, 70), "JumperTPROS/exit.png", act)); + + m_mouseMidClickAction = new RadioUiAction(2, QList() << Qt::Key_Enter << Qt::Key_Return, SIMU_STR_HLP_KEYS_ACTIVATE, SIMU_STR_HLP_ACT_ROT_DN); + addRadioWidget(ui->rightbuttons->addArea(QRect(10, 96, 200, 220), "JumperTPROS/right-ent.png", m_mouseMidClickAction)); + + //addRadioWidget(ui->leftbuttons->addArea(QRect(10, 65, 70, 50), "JumperTPROS/left_scrnshot.png", m_screenshotAction)); + + 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); + + if (getCurrentBoard() == Board::BOARD_JUMPER_TPROV2) { + ui->lcd->setBgDefaultColor(QColor(0, 0, 0)); + ui->lcd->setFgDefaultColor(QColor(255, 255, 255)); + } + + setLcd(ui->lcd); + + QString css = "#radioUiWidget {" + "background-color: rgb(167, 167, 167);" + "}"; + + QTimer * tim = new QTimer(this); + tim->setSingleShot(true); + connect(tim, &QTimer::timeout, [this, css]() { + emit customStyleRequest(css); + }); + tim->start(100); +} + +SimulatedUIWidgetJumperTPROS::~SimulatedUIWidgetJumperTPROS() +{ + delete ui; +} diff --git a/companion/src/simulation/simulateduiwidgetJumperTPROS.ui b/companion/src/simulation/simulateduiwidgetJumperTPROS.ui new file mode 100644 index 000000000..1822ef156 --- /dev/null +++ b/companion/src/simulation/simulateduiwidgetJumperTPROS.ui @@ -0,0 +1,211 @@ + + + SimulatedUIWidgetJumperTPROS + + + + 0 + 0 + 716 + 308 + + + + + 0 + 0 + + + + + 716 + 308 + + + + + 716 + 308 + + + + Jumper TPro S 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 + 230 + 308 + + + + + 0 + 0 + + + + + 230 + 308 + + + + + 230 + 308 + + + + background:url(:/images/simulator/JumperTPROS/left.png); + + + + + + 230 + 90 + 256 + 128 + + + + + 0 + 0 + + + + + 256 + 128 + + + + + 256 + 128 + + + + background-color: rgb(215, 243, 255); + + + + + + 485 + 0 + 230 + 308 + + + + + 0 + 0 + + + + + 230 + 308 + + + + + 230 + 308 + + + + background:url(:/images/simulator/JumperTPROS/right.png) + + + + + + 230 + 0 + 256 + 90 + + + + + 0 + 0 + + + + + 256 + 90 + + + + + 256 + 90 + + + + background:url(:/images/simulator/JumperTPROS/top.png) + + + + + + 230 + 218 + 256 + 90 + + + + + 0 + 0 + + + + + 256 + 90 + + + + + 256 + 90 + + + + background:url(:/images/simulator/JumperTPROS/bottom.png) + + + + + + LcdWidget + QWidget +
lcdwidget.h
+ 1 +
+ + ButtonsWidget + QWidget +
buttonswidget.h
+ 1 +
+
+ + + + +
\ No newline at end of file diff --git a/companion/src/simulation/simulatorwidget.cpp b/companion/src/simulation/simulatorwidget.cpp index a35629649..a630548d3 100644 --- a/companion/src/simulation/simulatorwidget.cpp +++ b/companion/src/simulation/simulatorwidget.cpp @@ -105,6 +105,9 @@ SimulatorWidget::SimulatorWidget(QWidget * parent, SimulatorInterface * simulato case Board::BOARD_JUMPER_TPROV2: radioUiWidget = new SimulatedUIWidgetJumperTPRO(simulator, this); break; + case Board::BOARD_JUMPER_TPROS: + radioUiWidget = new SimulatedUIWidgetJumperTPROS(simulator, this); + break; case Board::BOARD_JUMPER_T12MAX: radioUiWidget = new SimulatedUIWidgetJumperT12max(simulator, this); break; diff --git a/fw.json b/fw.json index b87910ea7..f09b1795c 100644 --- a/fw.json +++ b/fw.json @@ -32,6 +32,7 @@ ["Jumper T-Lite", "tlite-"], ["Jumper T-Pro", "tpro-"], ["Jumper T-Pro V2", "tprov2-"], + ["Jumper T-Pro S", "tpros-"], ["RadioMaster Boxer", "boxer-"], ["RadioMaster MT12","mt12-"], ["RadioMaster Pocket", "pocket-"], diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h index f0e56d65d..b0f3c957a 100644 --- a/radio/src/datastructs.h +++ b/radio/src/datastructs.h @@ -92,6 +92,9 @@ static inline void check_struct() #if defined(RADIO_TPRO) || defined(RADIO_TPROV2) CHKSIZE(ModelData, 6354); +#elif defined(RADIO_T14) || defined(RADIO_T12MAX) + CHKSIZE(RadioData, 869); + CHKSIZE(ModelData, 6329); #elif defined(RADIO_FAMILY_T20) CHKSIZE(ModelData, 6390); #elif defined(PCBX9E) diff --git a/radio/src/simu.cpp b/radio/src/simu.cpp index a5deaed32..f942057d6 100644 --- a/radio/src/simu.cpp +++ b/radio/src/simu.cpp @@ -440,7 +440,7 @@ void OpenTxSim::updateKeysAndSwitches(bool start) SWITCH_KEY(C, 2, 3); SWITCH_KEY(D, 3, 3); - #if defined(RADIO_TPRO) || defined(RADIO_TPROV2) + #if defined(RADIO_TPRO) || defined(RADIO_TPROV2) || defined(RADIO_TPROS) SWITCH_KEY(1, 4, 2); SWITCH_KEY(2, 5, 2); SWITCH_KEY(3, 6, 2); diff --git a/radio/src/targets/taranis/CMakeLists.txt b/radio/src/targets/taranis/CMakeLists.txt index 290a02c72..a379bae71 100644 --- a/radio/src/targets/taranis/CMakeLists.txt +++ b/radio/src/targets/taranis/CMakeLists.txt @@ -143,6 +143,17 @@ elseif(PCB STREQUAL X7) add_definitions(-DRADIO_TPROV2) add_definitions(-DMANUFACTURER_JUMPER) set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough") + elseif(PCBREV STREQUAL TPROS) + set(DEFAULT_INTERNAL_MODULE CROSSFIRE CACHE STRING "Default internal module") + set(INTERNAL_MODULE_SERIAL YES) + set(MODULE_SIZE_SML YES) + set(FLAVOUR tpros) + set(NAVIGATION_TYPE x7) + set(CPU_TYPE_FULL STM32F407xG) + set(ROTARY_ENCODER YES) + add_definitions(-DRADIO_TPROS) + add_definitions(-DMANUFACTURER_JUMPER) + set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough") elseif (PCBREV STREQUAL T14) set(DEFAULT_INTERNAL_MODULE CROSSFIRE CACHE STRING "Default internal module") set(INTERNAL_MODULE_SERIAL YES) diff --git a/radio/src/targets/taranis/board.h b/radio/src/targets/taranis/board.h index 8febe6d30..73190dae7 100644 --- a/radio/src/targets/taranis/board.h +++ b/radio/src/targets/taranis/board.h @@ -418,7 +418,7 @@ void setTopBatteryValue(uint32_t volts); #if defined(RADIO_ZORRO) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12) || defined(RADIO_POCKET) #define VOLTAGE_DROP 45 -#elif defined(RADIO_TPROV2) || defined(RADIO_FAMILY_T20) +#elif defined(RADIO_TPROV2) || defined(RADIO_TPROS) || defined(RADIO_FAMILY_T20) #define VOLTAGE_DROP 60 #else #define VOLTAGE_DROP 20 diff --git a/radio/src/targets/taranis/hal.h b/radio/src/targets/taranis/hal.h index b788e8af8..af1e34a58 100644 --- a/radio/src/targets/taranis/hal.h +++ b/radio/src/targets/taranis/hal.h @@ -69,6 +69,15 @@ #define KEYS_GPIO_PIN_LEFT LL_GPIO_PIN_12 // PE.12 #define KEYS_GPIO_REG_RIGHT GPIOE #define KEYS_GPIO_PIN_RIGHT LL_GPIO_PIN_13 // PE.13 +#elif defined(RADIO_TPROS) + #define KEYS_GPIO_REG_PAGEDN GPIOD + #define KEYS_GPIO_PIN_PAGEDN LL_GPIO_PIN_3 // PD.03 + #define KEYS_GPIO_REG_MENU GPIOD + #define KEYS_GPIO_PIN_MENU LL_GPIO_PIN_7 // PD.07 + #define KEYS_GPIO_REG_EXIT GPIOD + #define KEYS_GPIO_PIN_EXIT LL_GPIO_PIN_2 // PD.02 + #define KEYS_GPIO_REG_ENTER GPIOA + #define KEYS_GPIO_PIN_ENTER LL_GPIO_PIN_13 // PA.13 #elif defined(RADIO_FAMILY_JUMPER_T12) && !defined(RADIO_TPRO) && !defined(RADIO_TPROV2) #define KEYS_GPIO_REG_EXIT GPIOD #define KEYS_GPIO_PIN_EXIT LL_GPIO_PIN_2 // PD.02 @@ -282,7 +291,7 @@ #define USE_EXTI15_10_IRQ #define EXTI15_10_IRQ_Priority 5 #endif -#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_MT12) || defined(RADIO_POCKET) || defined(RADIO_T14) || defined(RADIO_T12MAX) +#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_MT12) || defined(RADIO_POCKET) || defined(RADIO_T14) || defined(RADIO_T12MAX) || defined(RADIO_TPROS) #define ROTARY_ENCODER_NAVIGATION #define ROTARY_ENCODER_GPIO GPIOE #define ROTARY_ENCODER_GPIO_PIN_A LL_GPIO_PIN_9 // PE.9 @@ -303,7 +312,7 @@ #define USE_EXTI15_10_IRQ #define EXTI15_10_IRQ_Priority 5 #endif - #if defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_MT12) || defined(RADIO_POCKET) || defined(RADIO_T14) + #if defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_MT12) || defined(RADIO_POCKET) || defined(RADIO_T14) || defined(RADIO_TPROS) #define ROTARY_ENCODER_INVERTED #endif #endif @@ -419,6 +428,23 @@ #define TRIMS_GPIO_PIN_T5R LL_GPIO_PIN_15 // PE.15 #define TRIMS_GPIO_REG_T5L GPIOE #define TRIMS_GPIO_PIN_T5L LL_GPIO_PIN_14 // PE.14 +#elif defined(RADIO_TPROS) + #define TRIMS_GPIO_REG_LHL GPIOC + #define TRIMS_GPIO_PIN_LHL LL_GPIO_PIN_3 // PC.03 + #define TRIMS_GPIO_REG_LHR GPIOC + #define TRIMS_GPIO_PIN_LHR LL_GPIO_PIN_2 // PC.02 + #define TRIMS_GPIO_REG_LVD GPIOE + #define TRIMS_GPIO_PIN_LVD LL_GPIO_PIN_4 // PE.04 + #define TRIMS_GPIO_REG_LVU GPIOE + #define TRIMS_GPIO_PIN_LVU LL_GPIO_PIN_3 // PE.03 + #define TRIMS_GPIO_REG_RVD GPIOC + #define TRIMS_GPIO_PIN_RVD LL_GPIO_PIN_1 // PC.01 + #define TRIMS_GPIO_REG_RHL GPIOE + #define TRIMS_GPIO_PIN_RHL LL_GPIO_PIN_6 // PE.06 + #define TRIMS_GPIO_REG_RVU GPIOD + #define TRIMS_GPIO_PIN_RVU LL_GPIO_PIN_15 // PD.15 + #define TRIMS_GPIO_REG_RHR GPIOE + #define TRIMS_GPIO_PIN_RHR LL_GPIO_PIN_5 // PE.05 #elif defined(RADIO_T14) || defined(RADIO_T12MAX) #define TRIMS_GPIO_REG_LHL GPIOE #define TRIMS_GPIO_PIN_LHL LL_GPIO_PIN_3 // PE.03 @@ -566,6 +592,13 @@ #define SWITCHES_GPIO_PIN_A_L LL_GPIO_PIN_13 // PE.13 #define SWITCHES_GPIO_REG_A_H GPIOE #define SWITCHES_GPIO_PIN_A_H LL_GPIO_PIN_7 // PE.07 +#elif defined(RADIO_TPROS) + #define STORAGE_SWITCH_A + #define HARDWARE_SWITCH_A + #define SWITCHES_GPIO_REG_A_H GPIOE + #define SWITCHES_GPIO_PIN_A_H LL_GPIO_PIN_0 // PE.00 + #define SWITCHES_GPIO_REG_A_L GPIOD + #define SWITCHES_GPIO_PIN_A_L LL_GPIO_PIN_11 // PD.11 #elif defined(RADIO_FAMILY_T20) #define STORAGE_SWITCH_A #define HARDWARE_SWITCH_A @@ -623,6 +656,13 @@ #define SWITCHES_GPIO_PIN_B_L LL_GPIO_PIN_1 // PE.01 #define SWITCHES_GPIO_REG_B_H GPIOE #define SWITCHES_GPIO_PIN_B_H LL_GPIO_PIN_2 // PE.02 +#elif defined(RADIO_TPROS) + #define STORAGE_SWITCH_B + #define HARDWARE_SWITCH_B + #define SWITCHES_GPIO_REG_B_L GPIOA + #define SWITCHES_GPIO_PIN_B_L LL_GPIO_PIN_5 // PA.05 + #define SWITCHES_GPIO_REG_B_H GPIOE + #define SWITCHES_GPIO_PIN_B_H LL_GPIO_PIN_15 // PE.15 #elif defined(RADIO_FAMILY_T20) #define STORAGE_SWITCH_B #define HARDWARE_SWITCH_B @@ -737,6 +777,11 @@ #define HARDWARE_SWITCH_C #define SWITCHES_GPIO_REG_C GPIOE #define SWITCHES_GPIO_PIN_C LL_GPIO_PIN_14 // PE.14 +#elif defined(RADIO_TPROS) + #define STORAGE_SWITCH_C + #define HARDWARE_SWITCH_C + #define SWITCHES_GPIO_REG_C GPIOE + #define SWITCHES_GPIO_PIN_C LL_GPIO_PIN_8 // PE.08 #elif defined(RADIO_FAMILY_T20) #define STORAGE_SWITCH_C #define HARDWARE_SWITCH_C @@ -811,6 +856,11 @@ #define HARDWARE_SWITCH_D #define SWITCHES_GPIO_REG_D GPIOD #define SWITCHES_GPIO_PIN_D LL_GPIO_PIN_14 // PD.14 +#elif defined(RADIO_TPROS) + #define STORAGE_SWITCH_D + #define HARDWARE_SWITCH_D + #define SWITCHES_GPIO_REG_D GPIOC + #define SWITCHES_GPIO_PIN_D LL_GPIO_PIN_13// PC.13 #elif defined(RADIO_T14) || defined(RADIO_T12MAX) #define STORAGE_SWITCH_D #define HARDWARE_SWITCH_D @@ -902,6 +952,11 @@ #define SWITCHES_GPIO_PIN_E_H LL_GPIO_PIN_14 // PE.14 #define SWITCHES_GPIO_REG_E_L GPIOE #define SWITCHES_GPIO_PIN_E_L LL_GPIO_PIN_7 // PE.07 +#elif defined(RADIO_TPROS) + #define STORAGE_SWITCH_E + #define HARDWARE_SWITCH_E + #define SWITCHES_GPIO_REG_E GPIOC + #define SWITCHES_GPIO_PIN_E LL_GPIO_PIN_5 // PC.05 #elif defined(RADIO_TPROV2) #define STORAGE_SWITCH_E #define HARDWARE_SWITCH_E @@ -974,6 +1029,11 @@ #define SWITCHES_GPIO_PIN_F_L LL_GPIO_PIN_14 // PD.14 #define SWITCHES_GPIO_REG_F_H GPIOE #define SWITCHES_GPIO_PIN_F_H LL_GPIO_PIN_1 // PE.01 +#elif defined(RADIO_TPROS) + #define STORAGE_SWITCH_F + #define HARDWARE_SWITCH_F + #define SWITCHES_GPIO_REG_F GPIOE + #define SWITCHES_GPIO_PIN_F LL_GPIO_PIN_7 // PE.07 #elif defined(RADIO_TPROV2) #define STORAGE_SWITCH_F #define HARDWARE_SWITCH_F @@ -996,7 +1056,7 @@ #define SWITCHES_GPIO_PIN_F LL_GPIO_PIN_5 // PB.05 #elif defined(RADIO_MT12) // ADC based switch/pot -#elif defined(RADIO_T8) || defined(RADIO_TLITE) || defined(RADIO_TPROV2) || defined(RADIO_COMMANDO8) || defined(RADIO_LR3PRO) || defined(RADIO_POCKET) +#elif defined(RADIO_T8) || defined(RADIO_TLITE) || defined(RADIO_TPROV2) || defined(RADIO_TPROS) || defined(RADIO_COMMANDO8) || defined(RADIO_LR3PRO) || defined(RADIO_POCKET) // no SWF #define STORAGE_SWITCH_F #elif defined(RADIO_T12) @@ -1050,7 +1110,7 @@ #define HARDWARE_SWITCH_G #define SWITCHES_GPIO_REG_G GPIOD #define SWITCHES_GPIO_PIN_G LL_GPIO_PIN_15 // PD.15 -#elif defined(PCBX7) || defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_T8) || defined(RADIO_COMMANDO8) || defined(RADIO_MT12) || defined(RADIO_POCKET) || defined(RADIO_T14) || defined(RADIO_T12MAX) +#elif defined(PCBX7) || defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_T8) || defined(RADIO_COMMANDO8) || defined(RADIO_MT12) || defined(RADIO_POCKET) || defined(RADIO_T14) || defined(RADIO_T12MAX) || defined(RADIO_TPROS) // no SWG #else #define STORAGE_SWITCH_G @@ -1097,7 +1157,7 @@ #define HARDWARE_SWITCH_H #define SWITCHES_GPIO_REG_H GPIOF #define SWITCHES_GPIO_PIN_H LL_GPIO_PIN_0 // PF.00 -#elif defined(RADIO_TLITE) || defined(RADIO_TPROV2) || defined(RADIO_LR3PRO) +#elif defined(RADIO_TLITE) || defined(RADIO_TPROV2) || defined(RADIO_TPROS) || defined(RADIO_LR3PRO) // no SWH #define STORAGE_SWITCH_H #elif defined(PCBX7) @@ -1148,7 +1208,7 @@ #define STORAGE_SWITCH_I // no SWJ #define STORAGE_SWITCH_J -#elif defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_T14) || defined(RADIO_T12MAX) +#elif defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_T14) || defined(RADIO_T12MAX) || defined(RADIO_TPROS) // No I/J #elif defined(RADIO_TPROV2) // SW1 @@ -1536,6 +1596,27 @@ #define ADC_CHANNEL_POT2 LL_ADC_CHANNEL_9 // ADC12_IN9 #define ADC_CHANNEL_BATT LL_ADC_CHANNEL_10 #define ADC_VREF_PREC2 330 +#elif defined(RADIO_TPROS) + #define HARDWARE_POT1 + #define HARDWARE_POT2 + #define ADC_GPIO_PIN_STICK_LV LL_GPIO_PIN_1 // PA.01 + #define ADC_GPIO_PIN_STICK_LH LL_GPIO_PIN_0 // PA.00 + #define ADC_GPIO_PIN_STICK_RV LL_GPIO_PIN_3 // PA.03 + #define ADC_GPIO_PIN_STICK_RH LL_GPIO_PIN_2 // PA.02 + #define ADC_CHANNEL_STICK_LV LL_ADC_CHANNEL_1 // ADC1_IN1 + #define ADC_CHANNEL_STICK_LH LL_ADC_CHANNEL_0 // ADC1_IN0 + #define ADC_CHANNEL_STICK_RV LL_ADC_CHANNEL_3 // ADC1_IN3 + #define ADC_CHANNEL_STICK_RH LL_ADC_CHANNEL_2 // ADC1_IN2 + #define ADC_GPIO_PIN_POT1 LL_GPIO_PIN_0 // PB.00 + #define ADC_GPIO_PIN_POT2 LL_GPIO_PIN_1 // PB.01 + #define ADC_GPIO_PIN_BATT LL_GPIO_PIN_0 // PC.00 + #define ADC_GPIOA_PINS (ADC_GPIO_PIN_STICK_RV | ADC_GPIO_PIN_STICK_RH | ADC_GPIO_PIN_STICK_LH | ADC_GPIO_PIN_STICK_LV) + #define ADC_GPIOB_PINS (ADC_GPIO_PIN_POT1 | ADC_GPIO_PIN_POT2) + #define ADC_GPIOC_PINS ADC_GPIO_PIN_BATT + #define ADC_CHANNEL_POT1 LL_ADC_CHANNEL_8 // ADC12_IN8 + #define ADC_CHANNEL_POT2 LL_ADC_CHANNEL_9 // ADC12_IN9 + #define ADC_CHANNEL_BATT LL_ADC_CHANNEL_10 + #define ADC_VREF_PREC2 300 #elif defined(RADIO_T12MAX) #define HARDWARE_POT1 #define HARDWARE_POT2 @@ -1731,9 +1812,9 @@ #define ADC_DIRECTION {-1, 1, 1, -1, -1, 1, 1, 1} #elif defined(RADIO_POCKET) #define ADC_DIRECTION {-1, 1, 1, -1, -1} -#elif defined(RADIO_TPRO) || defined(RADIO_TPROV2) +#elif defined(RADIO_TPRO) || defined(RADIO_TPROV2) || defined(RADIO_TPROS) #define ADC_DIRECTION {1,-1,1,-1, 1,1, 1, 1} -#elif defined(RADIO_T14) +#elif defined(RADIO_T14) || defined(RADIO_TPROS) #define ADC_DIRECTION {1, -1, 1, -1, 1, 1, 1} #elif defined(RADIO_T12MAX) #define ADC_DIRECTION {-1, 1, -1, 1, 1, 1, 1} @@ -1813,14 +1894,14 @@ #define LED_GREEN_GPIO GPIO_PIN(GPIOE, 2) // PE.02 #define LED_RED_GPIO GPIO_PIN(GPIOE, 13) // PE.13 #define LED_BLUE_GPIO GPIO_PIN(GPIOA, 7) // PA.07 -#elif defined(RADIO_T14) || defined(RADIO_T12MAX) +#elif defined(RADIO_T14) || defined(RADIO_T12MAX) || defined(RADIO_TPROS) #define STATUS_LEDS #define GPIO_LED_GPIO_ON gpio_set #define GPIO_LED_GPIO_OFF gpio_clear #define LED_RED_GPIO GPIO_PIN(GPIOE, 2) // PE.02 #define LED_BLUE_GPIO GPIO_PIN(GPIOE, 13) // PE.13 #define LED_GREEN_GPIO GPIO_PIN(GPIOA, 7) // PA.07 -#elif defined(RADIO_TLITE) || defined(RADIO_TPRO) || defined(RADIO_TPROV2) || defined(RADIO_TX12) +#elif defined(RADIO_TLITE) || defined(RADIO_TPRO) || defined(RADIO_TPROV2) || defined(RADIO_TPROS) || defined(RADIO_TX12) #define STATUS_LEDS #define GPIO_LED_GPIO_ON gpio_set #define GPIO_LED_GPIO_OFF gpio_clear @@ -1961,12 +2042,12 @@ #define INTMODULE_DMA_STREAM_IRQ DMA2_Stream7_IRQn #define INTMODULE_DMA_STREAM_IRQHandler DMA2_Stream7_IRQHandler #define INTMODULE_DMA_CHANNEL LL_DMA_CHANNEL_4 -#elif defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12) || defined(RADIO_T20V2) || defined(RADIO_T14) || defined(RADIO_T12MAX) +#elif defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12) || defined(RADIO_T20V2) || defined(RADIO_T14) || defined(RADIO_T12MAX) || defined(RADIO_TPROS) #if defined(RADIO_T20V2) #define INTMODULE_BOOTCMD_GPIO GPIO_PIN(GPIOE, 4) // PE.04 #define INTMODULE_PWR_GPIO GPIO_PIN(GPIOC, 6) // PC.06 #else -#if defined(RADIO_T14) || defined(RADIO_T12MAX) +#if defined(RADIO_T14) || defined(RADIO_T12MAX) || defined(RADIO_TPROS) #define INTMODULE_BOOTCMD_GPIO GPIO_PIN(GPIOE, 14) // PE.14 #else #define INTMODULE_BOOTCMD_GPIO GPIO_PIN(GPIOB, 1) // PB.01 @@ -2001,7 +2082,7 @@ #define INTMODULE_TIMER_DMA_STREAM_IRQn DMA2_Stream5_IRQn #define INTMODULE_TIMER_DMA_IRQHandler DMA2_Stream5_IRQHandler #define INTMODULE_TIMER_FREQ (PERI2_FREQUENCY * TIMER_MULT_APB2) -#elif (defined(RADIO_FAMILY_JUMPER_T12) && defined(HARDWARE_INTERNAL_MODULE)) || defined(RADIO_TX12) || defined(RADIO_T8) || defined(RADIO_TPRO) || defined(RADIO_TPROV2) || defined(RADIO_T20) +#elif (defined(RADIO_FAMILY_JUMPER_T12) && defined(HARDWARE_INTERNAL_MODULE)) || defined(RADIO_TX12) || defined(RADIO_T8) || defined(RADIO_TPRO) || defined(RADIO_TPROV2) || defined(RADIO_TPROS) || defined(RADIO_T20) #define INTMODULE_PWR_GPIO GPIO_PIN(GPIOC, 6) // PC.06 #define INTMODULE_TX_GPIO GPIO_PIN(GPIOB, 10) // PB.10 #define INTMODULE_RX_GPIO GPIO_PIN(GPIOB, 11) // PB.11 @@ -2017,7 +2098,7 @@ #if defined(RADIO_TLITE) #define INTMODULE_BOOTCMD_GPIO GPIO_PIN(GPIOA, 5) // PA.05 #define INTMODULE_BOOTCMD_DEFAULT 0 // RESET - #elif defined(RADIO_TPRO) || defined(RADIO_TPROV2) + #elif defined(RADIO_TPRO) || defined(RADIO_TPROV2) || defined(RADIO_TPROS) #define INTMODULE_BOOTCMD_GPIO GPIO_PIN(GPIOF, 11) // PF.11 #define INTMODULE_BOOTCMD_DEFAULT 0 // RESET #elif defined(RADIO_FAMILY_T20) @@ -2055,7 +2136,7 @@ // External Module #if defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_X9DP2019) || defined(PCBX7ACCESS) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12) || defined(RADIO_T14) || defined(RADIO_T12MAX) - #if defined(RADIO_X9DP2019) || defined(RADIO_X7ACCESS) || defined(RADIO_ZORRO)|| defined(RADIO_POCKET) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12)|| defined(RADIO_T14) || defined(RADIO_T12MAX) + #if defined(RADIO_X9DP2019) || defined(RADIO_X7ACCESS) || defined(RADIO_ZORRO)|| defined(RADIO_POCKET) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12)|| defined(RADIO_T14) || defined(RADIO_T12MAX) || defined(RADIO_TPROS) #define EXTMODULE_PWR_GPIO GPIO_PIN(GPIOD, 8) // PD.08 #elif defined(PCBX9LITE) #define EXTMODULE_PWR_GPIO GPIO_PIN(GPIOA, 8) // PA.08 @@ -2373,7 +2454,7 @@ #define BACKLIGHT_CCMR1 TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2 // Channel 1, PWM #define BACKLIGHT_CCER TIM_CCER_CC1E #define BACKLIGHT_COUNTER_REGISTER BACKLIGHT_TIMER->CCR1 -#elif defined(RADIO_T8) || defined(RADIO_TPROV2) || defined(RADIO_FAMILY_T20) || defined(RADIO_T14) +#elif defined(RADIO_T8) || defined(RADIO_TPROV2) || defined(RADIO_TPROS) || defined(RADIO_FAMILY_T20) || defined(RADIO_T14) || defined(RADIO_TPROS) // No backlight: OLED display #elif defined(RADIO_COMMANDO8) #define BACKLIGHT_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1) @@ -2399,10 +2480,10 @@ #endif // LCD driver -#if defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_FAMILY_JUMPER_T12) || defined(RADIO_T8) || defined(RADIO_COMMANDO8) || defined(RADIO_TPRO) || defined(RADIO_TPROV2) || defined(RADIO_FAMILY_T20) || defined(RADIO_MT12) || defined(RADIO_T12MAX) +#if defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_FAMILY_JUMPER_T12) || defined(RADIO_T8) || defined(RADIO_COMMANDO8) || defined(RADIO_TPRO) || defined(RADIO_TPROV2) || defined(RADIO_TPROS) || defined(RADIO_FAMILY_T20) || defined(RADIO_MT12) || defined(RADIO_T12MAX) #define LCD_VERTICAL_INVERT #endif -#if defined(RADIO_LR3PRO) || defined(RADIO_TPROV2) || defined(RADIO_FAMILY_T20) || defined(RADIO_T14) +#if defined(RADIO_LR3PRO) || defined(RADIO_TPROV2) || defined(RADIO_TPROS) || defined(RADIO_FAMILY_T20) || defined(RADIO_T14) || defined(RADIO_TPROS) #define LCD_HORIZONTAL_INVERT #define OLED_SCREEN #endif @@ -2527,7 +2608,7 @@ #endif // SD - SPI2 -#if defined(RADIO_FAMILY_T20) || defined(RADIO_T14) || defined(RADIO_T12MAX) +#if defined(RADIO_FAMILY_T20) || defined(RADIO_T14) || defined(RADIO_T12MAX) || defined(RADIO_TPROS) // Using chip, so no detect #else #define SD_PRESENT_GPIO GPIOD @@ -2588,7 +2669,7 @@ #endif // Haptic -#if defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_TX12MK2)|| defined(RADIO_BOXER) || defined(RADIO_MT12) || defined(RADIO_T20V2) || defined(RADIO_T14) || defined(RADIO_T12MAX) +#if defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_TX12MK2)|| defined(RADIO_BOXER) || defined(RADIO_MT12) || defined(RADIO_T20V2) || defined(RADIO_T14) || defined(RADIO_T12MAX) || defined(RADIO_TPROS) #define HAPTIC_PWM #define HAPTIC_GPIO GPIO_PIN(GPIOB, 3) // PB.03 #define HAPTIC_GPIO_AF GPIO_AF1 diff --git a/radio/src/targets/taranis/usb_descriptor.h b/radio/src/targets/taranis/usb_descriptor.h index d55e07910..7fa24e07d 100644 --- a/radio/src/targets/taranis/usb_descriptor.h +++ b/radio/src/targets/taranis/usb_descriptor.h @@ -66,6 +66,10 @@ #define USB_NAME "Jumper T12 MAX" #define USB_MANUFACTURER 'J', 'U', 'M', 'P', 'E', 'R', ' ', ' ' /* 8 bytes */ #define USB_PRODUCT 'T', '1', '2', ' ', 'M', 'A', 'X', ' ' /* 8 Bytes */ +#elif defined(RADIO_TPROS) + #define USB_NAME "Jumper T-Pro S" + #define USB_MANUFACTURER 'J', 'U', 'M', 'P', 'E', 'R', ' ', ' ' /* 8 bytes */ + #define USB_PRODUCT 'T', '-', 'P', 'r', 'o', ' ', 'S', ' ' /* 8 Bytes */ #elif defined(RADIO_T14) #define USB_NAME "Jumper T14" #define USB_MANUFACTURER 'J', 'U', 'M', 'P', 'E', 'R', ' ', ' ' /* 8 bytes */ diff --git a/radio/util/hw_defs/legacy_names.py b/radio/util/hw_defs/legacy_names.py index e98a5d690..950df19fc 100644 --- a/radio/util/hw_defs/legacy_names.py +++ b/radio/util/hw_defs/legacy_names.py @@ -387,7 +387,7 @@ LEGACY_NAMES = [ } }, { - "targets": {"t14", "t12max"}, + "targets": {"t14", "t12max", "tpros"}, "inputs": { "LH": { "yaml": "Rud", @@ -431,7 +431,7 @@ LEGACY_NAMES = [ "lr3pro", "nv14", "el18", "t8", "t12", - "tlite", "tlitef4", "tpro", "tprov2", + "tlite", "tlitef4", "tpro", "tprov2", "tpros", "tx12", "tx12mk2", "x7", "x7access", "xlite", "xlites", diff --git a/radio/util/hw_defs/pot_config.py b/radio/util/hw_defs/pot_config.py index f25bfb5b5..084e7b2cb 100644 --- a/radio/util/hw_defs/pot_config.py +++ b/radio/util/hw_defs/pot_config.py @@ -46,6 +46,10 @@ POT_CONFIG = { "P1": {"default": "POT_CENTER"}, "P2": {"default": "POT_CENTER"} }, + "tpros": { + "P1": {"default": "POT_CENTER"}, + "P2": {"default": "POT_CENTER"} + }, "t20": { "P1": {"default": "POT_CENTER"}, "P2": {"default": "POT_CENTER"}, diff --git a/radio/util/hw_defs/switch_config.py b/radio/util/hw_defs/switch_config.py index f5635bcf7..3f91f36fe 100644 --- a/radio/util/hw_defs/switch_config.py +++ b/radio/util/hw_defs/switch_config.py @@ -181,6 +181,16 @@ SWITCH_CONFIG = { "SF": {"default": "2POS", "display": [1, 2]}, "SH": {"default": "NONE", "display": [1, 3]}, }, + "tpros": { + # left side + "SA": {"default": "3POS", "display": [0, 0]}, + "SC": {"default": "TOGGLE", "display": [0, 1]}, + "SE": {"default": "2POS", "display": [0, 2]}, + # right side + "SB": {"default": "3POS", "display": [1, 0]}, + "SD": {"default": "TOGGLE", "display": [1, 1]}, + "SF": {"default": "2POS", "display": [1, 2]}, + }, "t20": { # left side "SA": {"default": "2POS", "display": [0, 0]}, diff --git a/tools/build-companion.sh b/tools/build-companion.sh index b0088f778..39675c199 100755 --- a/tools/build-companion.sh +++ b/tools/build-companion.sh @@ -67,7 +67,7 @@ declare -a simulator_plugins=(x9lite x9lites x7 x7access t8 t12 t12max tx12 tx12mk2 zorro commando8 boxer pocket - tlite tpro tprov2 lr3pro t14 + tlite tpro tprov2 tpros lr3pro t14 x9d x9dp x9dp2019 x9e xlite xlites nv14 el18 pl18 pl18ev @@ -128,6 +128,9 @@ do tprov2) BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=TPROV2" ;; + tpros) + BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=TPROS" + ;; t20) BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T20" ;; diff --git a/tools/build-gh.sh b/tools/build-gh.sh index 7905e3e3e..22c3649ba 100755 --- a/tools/build-gh.sh +++ b/tools/build-gh.sh @@ -140,6 +140,9 @@ do tprov2) BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=TPROV2" ;; + tpros) + BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=TPROS" + ;; t20) BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T20" ;; diff --git a/tools/generate-hw-defs.sh b/tools/generate-hw-defs.sh index 66decd16d..2b60225f2 100755 --- a/tools/generate-hw-defs.sh +++ b/tools/generate-hw-defs.sh @@ -6,7 +6,7 @@ set -e : "${SRCDIR:=$(dirname "$(pwd)/$0")/..}" -: ${FLAVOR:="nv14;t12;t12max;t15;t16;t18;t8;zorro;pocket;commando8;tlite;tpro;tprov2;t20;t20v2;t14;lr3pro;mt12;tx12;tx12mk2;boxer;tx16s;x10;x10express;x12s;x7;x7access;x9d;x9dp;x9dp2019;x9e;x9lite;x9lites;xlite;xlites"} +: ${FLAVOR:="nv14;t12;t12max;t15;t16;t18;t8;zorro;pocket;commando8;tlite;tpro;tprov2;tpros;t20;t20v2;t14;lr3pro;mt12;tx12;tx12mk2;boxer;tx16s;x10;x10express;x12s;x7;x7access;x9d;x9dp;x9dp2019;x9e;x9lite;x9lites;xlite;xlites"} : ${COMMON_OPTIONS:="-DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_RULE_MESSAGES=OFF -Wno-dev -DCMAKE_MESSAGE_LOG_LEVEL=WARNING"} # wipe build directory clean @@ -69,6 +69,9 @@ do tprov2) BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=TPROV2" ;; + tpros) + BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=TPROS" + ;; t20) BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=T20" ;;