Companion T12 support (#6480)
* Introduce T12 own variant, radio side * T12 Companion support continued * Remove warnings * Cosmetics
This commit is contained in:
@@ -148,6 +148,7 @@ const int Boards::getFlashSize(Type board)
|
||||
case BOARD_TARANIS_X9D:
|
||||
case BOARD_TARANIS_X9DP:
|
||||
case BOARD_TARANIS_X9E:
|
||||
case BOARD_JUMPER_T12:
|
||||
return FSIZE_TARANIS;
|
||||
case BOARD_X12S:
|
||||
case BOARD_X10:
|
||||
@@ -200,6 +201,18 @@ const SwitchInfo Boards::getSwitchInfo(Board::Type board, int index)
|
||||
if (index < DIM(switches))
|
||||
return switches[index];
|
||||
}
|
||||
else if (IS_JUMPER_T12(board)) {
|
||||
const Board::SwitchInfo switches[] = {
|
||||
{SWITCH_3POS, "SA"},
|
||||
{SWITCH_3POS, "SB"},
|
||||
{SWITCH_3POS, "SC"},
|
||||
{SWITCH_3POS, "SD"},
|
||||
{SWITCH_2POS, "SG"},
|
||||
{SWITCH_2POS, "SH"}
|
||||
};
|
||||
if (index < DIM(switches))
|
||||
return switches[index];
|
||||
}
|
||||
else if (IS_HORUS_OR_TARANIS(board)) {
|
||||
const Board::SwitchInfo switches[] = {
|
||||
{SWITCH_3POS, "SA"},
|
||||
@@ -224,18 +237,6 @@ const SwitchInfo Boards::getSwitchInfo(Board::Type board, int index)
|
||||
if (index < DIM(switches))
|
||||
return switches[index];
|
||||
}
|
||||
else if (IS_JUMPER_T12(board)) {
|
||||
const Board::SwitchInfo switches[] = {
|
||||
{SWITCH_3POS, "SA"},
|
||||
{SWITCH_3POS, "SB"},
|
||||
{SWITCH_3POS, "SC"},
|
||||
{SWITCH_3POS, "SD"},
|
||||
{SWITCH_2POS, "SG"},
|
||||
{SWITCH_2POS, "SH"}
|
||||
};
|
||||
if (index < DIM(switches))
|
||||
return switches[index];
|
||||
}
|
||||
else {
|
||||
const Board::SwitchInfo switches[] = {
|
||||
{SWITCH_3POS, "3POS"},
|
||||
@@ -311,14 +312,14 @@ const int Boards::getCapability(Board::Type board, Board::Capability capability)
|
||||
return 5;
|
||||
else if (IS_TARANIS_X7(board))
|
||||
return 8;
|
||||
else if (IS_JUMPER_T12(board))
|
||||
return 6;
|
||||
else if (IS_TARANIS_XLITES(board))
|
||||
return 6;
|
||||
else if (IS_TARANIS_XLITE(board))
|
||||
return 4;
|
||||
else if (IS_HORUS_OR_TARANIS(board))
|
||||
return 8;
|
||||
else if (IS_JUMPER_T12(board))
|
||||
return 6;
|
||||
else
|
||||
return 7;
|
||||
|
||||
@@ -472,7 +473,9 @@ const QString Boards::getBoardName(Board::Type board)
|
||||
return "MEGA2560";
|
||||
case BOARD_TARANIS_X7:
|
||||
return "Taranis X7/X7S";
|
||||
case BOARD_TARANIS_XLITE:
|
||||
case BOARD_JUMPER_T12:
|
||||
return "Jumper T12";
|
||||
case BOARD_TARANIS_XLITE:
|
||||
return "Taranis X-Lite";
|
||||
case BOARD_TARANIS_XLITES:
|
||||
return "Taranis X-Lite S/PRO";
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace Board {
|
||||
BOARD_JUMPER_T12
|
||||
};
|
||||
|
||||
constexpr int BOARD_TYPE_MAX = BOARD_TARANIS_X9LITE ;
|
||||
constexpr int BOARD_TYPE_MAX = BOARD_JUMPER_T12 ;
|
||||
|
||||
enum PotType
|
||||
{
|
||||
@@ -200,8 +200,8 @@ class Boards
|
||||
#define IS_TARANIS_X9D(board) (board==Board::BOARD_TARANIS_X9D || board==Board::BOARD_TARANIS_X9DP)
|
||||
#define IS_TARANIS_PLUS(board) (board==Board::BOARD_TARANIS_X9DP || board==Board::BOARD_TARANIS_X9E)
|
||||
#define IS_TARANIS_X9E(board) (board==Board::BOARD_TARANIS_X9E)
|
||||
#define IS_TARANIS(board) (IS_TARANIS_X9(board) || IS_TARANIS_X7(board) || IS_TARANIS_X9LITE(board) || IS_TARANIS_XLITE(board))
|
||||
#define IS_TARANIS_SMALL(board) (IS_TARANIS_X7(board) || IS_TARANIS_XLITE(board) || IS_TARANIS_X9LITE(board))
|
||||
#define IS_TARANIS(board) (IS_TARANIS_X9(board) || IS_TARANIS_X7(board) || IS_TARANIS_X9LITE(board) || IS_TARANIS_XLITE(board) || IS_JUMPER_T12(board))
|
||||
#define IS_TARANIS_SMALL(board) (IS_TARANIS_X7(board) || IS_TARANIS_XLITE(board) || IS_TARANIS_X9LITE(board) || IS_JUMPER_T12(board))
|
||||
#define IS_HORUS_X12S(board) (board==Board::BOARD_X12S)
|
||||
#define IS_HORUS_X10(board) (board==Board::BOARD_X10)
|
||||
#define IS_HORUS(board) (IS_HORUS_X12S(board) || IS_HORUS_X10(board))
|
||||
|
||||
@@ -107,6 +107,7 @@ enum Capability {
|
||||
HasFailsafe,
|
||||
HasSoundMixer,
|
||||
NumModules,
|
||||
NumFirstUsableModule,
|
||||
HasModuleR9MFlex,
|
||||
HasModuleR9MMini,
|
||||
PPMCenter,
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
#define TARANIS_XLITE_VARIANT 0x2000
|
||||
#define TARANIS_XLITES_VARIANT 0x1000
|
||||
#define TARANIS_X9LITE_VARIANT 0x0800
|
||||
#define JUMPER_T12_VARIANT TARANIS_X7_VARIANT
|
||||
#define JUMPER_T12_VARIANT 0x4001
|
||||
|
||||
#define SIMU_STOCK_VARIANTS (GVARS_VARIANT|FRSKY_VARIANT)
|
||||
#define SIMU_M128_VARIANTS (M128_VARIANT|SIMU_STOCK_VARIANTS)
|
||||
|
||||
@@ -624,6 +624,8 @@ int OpenTxFirmware::getCapability(::Capability capability)
|
||||
return (IS_ARM(board) ? 32 : 0);
|
||||
case NumModules:
|
||||
return (IS_ARM(board) ? 2 : 1);
|
||||
case NumFirstUsableModule:
|
||||
return (IS_JUMPER_T12(board) ? 1 : 0);
|
||||
case HasModuleR9MFlex:
|
||||
return id.contains("flexr9m");
|
||||
case HasModuleR9MMini:
|
||||
@@ -789,7 +791,10 @@ int OpenTxFirmware::isAvailable(PulsesProtocol proto, int port)
|
||||
case PULSES_SBUS:
|
||||
return 1;
|
||||
case PULSES_MULTIMODULE:
|
||||
return id.contains("multimodule") ? 1 : 0;
|
||||
if(IS_JUMPER_T12(board))
|
||||
return 1;
|
||||
else
|
||||
return id.contains("multimodule") ? 1 : 0;
|
||||
case PULSES_CROSSFIRE:
|
||||
return id.contains("crossfire") ? 1 : 0;
|
||||
case PULSES_ACCESS_R9M_LITE:
|
||||
@@ -975,13 +980,13 @@ bool OpenTxEepromInterface::checkVariant(unsigned int version, unsigned int vari
|
||||
variantError = true;
|
||||
}
|
||||
}
|
||||
else if (IS_TARANIS(board)) {
|
||||
if (variant != 0) {
|
||||
else if (IS_JUMPER_T12(board)) {
|
||||
if (variant != JUMPER_T12_VARIANT) {
|
||||
variantError = true;
|
||||
}
|
||||
}
|
||||
else if (IS_JUMPER_T12(board)) {
|
||||
if (variant != JUMPER_T12_VARIANT) {
|
||||
else if (IS_TARANIS(board)) {
|
||||
if (variant != 0) {
|
||||
variantError = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1051,7 +1051,7 @@ SetupPanel::SetupPanel(QWidget * parent, ModelData & model, GeneralSettings & ge
|
||||
ui->trimsDisplay->hide();
|
||||
}
|
||||
|
||||
for (int i=0; i<firmware->getCapability(NumModules); i++) {
|
||||
for (int i=firmware->getCapability(NumFirstUsableModule); i<firmware->getCapability(NumModules); i++) {
|
||||
modules[i] = new ModulePanel(this, model, model.moduleData[i], generalSettings, firmware, i);
|
||||
ui->modulesLayout->addWidget(modules[i]);
|
||||
connect(modules[i], &ModulePanel::modified, this, &SetupPanel::modified);
|
||||
|
||||
@@ -269,6 +269,7 @@ void convertModelData_218_to_219(ModelData &model)
|
||||
void convertRadioData_218_to_219(RadioData & settings)
|
||||
{
|
||||
settings.version = 219;
|
||||
settings.variant = EEPROM_VARIANT;
|
||||
|
||||
#if defined(PCBHORUS)
|
||||
RadioData_v218 settings_v218 = (RadioData_v218 &)settings;
|
||||
|
||||
@@ -776,7 +776,19 @@ bool eeLoadGeneral()
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
#if defined(RADIO_T12)
|
||||
if (g_eeGeneral.variant != (EEPROM_VARIANT & 0xFFFE)) {
|
||||
TRACE("EEPROM variant %d instead of %d", g_eeGeneral.variant, EEPROM_VARIANT);
|
||||
return false;
|
||||
}
|
||||
else if (g_eeGeneral.variant != EEPROM_VARIANT && g_eeGeneral.version == 218) {
|
||||
TRACE("V218 T12/X7 detected, allowing use", g_eeGeneral.variant, EEPROM_VARIANT); // Production firmware use v218 X7 variant
|
||||
}
|
||||
else {
|
||||
TRACE("EEPROM variant %d instead of %d", g_eeGeneral.variant, EEPROM_VARIANT);
|
||||
return false;
|
||||
}
|
||||
#elif defined(PCBTARANIS)
|
||||
if (g_eeGeneral.variant != EEPROM_VARIANT) {
|
||||
TRACE("EEPROM variant %d instead of %d", g_eeGeneral.variant, EEPROM_VARIANT);
|
||||
return false;
|
||||
|
||||
@@ -80,14 +80,15 @@ elseif(PCB STREQUAL X7)
|
||||
set(NAVIGATION_TYPE 9x)
|
||||
set(MULTIMODULE ON)
|
||||
add_definitions(-DRADIO_T12)
|
||||
add_definitions(-DEEPROM_VARIANT=0x4001)
|
||||
else()
|
||||
set(LUA_EXPORT lua_export_x7)
|
||||
set(FLAVOUR x7)
|
||||
set(NAVIGATION_TYPE x7)
|
||||
add_definitions(-DRADIO_X7)
|
||||
add_definitions(-DEEPROM_VARIANT=0x4000)
|
||||
endif()
|
||||
add_definitions(-DPCBX7 -DSOFTWARE_VOLUME)
|
||||
add_definitions(-DEEPROM_VARIANT=0x4000)
|
||||
add_definitions(-DPWR_BUTTON_${PWR_BUTTON})
|
||||
set(GUI_DIR 128x64)
|
||||
set(BITMAPS_TARGET 9x_bitmaps)
|
||||
|
||||
Reference in New Issue
Block a user