1
0
Fork 0
mirror of https://github.com/EdgeTX/edgetx.git synced 2025-07-23 16:25:12 +03:00

[Taranis X9E] Wrong import of model settings in Companion

This commit is contained in:
bsongis 2015-07-03 23:24:09 +02:00
parent 9cedd8364c
commit ae4fc0888a
3 changed files with 29 additions and 11 deletions

View file

@ -1550,6 +1550,7 @@ void registerEEpromInterfaces()
eepromInterfaces.push_back(new OpenTxEepromInterface(BOARD_9XRPRO)); eepromInterfaces.push_back(new OpenTxEepromInterface(BOARD_9XRPRO));
eepromInterfaces.push_back(new OpenTxEepromInterface(BOARD_TARANIS)); eepromInterfaces.push_back(new OpenTxEepromInterface(BOARD_TARANIS));
eepromInterfaces.push_back(new OpenTxEepromInterface(BOARD_TARANIS_PLUS)); eepromInterfaces.push_back(new OpenTxEepromInterface(BOARD_TARANIS_PLUS));
eepromInterfaces.push_back(new OpenTxEepromInterface(BOARD_TARANIS_X9E));
eepromInterfaces.push_back(new Gruvin9xInterface(BOARD_STOCK)); eepromInterfaces.push_back(new Gruvin9xInterface(BOARD_STOCK));
eepromInterfaces.push_back(new Gruvin9xInterface(BOARD_GRUVIN9X)); eepromInterfaces.push_back(new Gruvin9xInterface(BOARD_GRUVIN9X));
eepromInterfaces.push_back(new Ersky9xInterface()); eepromInterfaces.push_back(new Ersky9xInterface());

View file

@ -22,14 +22,15 @@
#include "eepromimportexport.h" #include "eepromimportexport.h"
#include <qbytearray.h> #include <qbytearray.h>
#define GVARS_VARIANT 0x0001 #define GVARS_VARIANT 0x0001
#define FRSKY_VARIANT 0x0002 #define FRSKY_VARIANT 0x0002
#define POS3_VARIANT 0x0004 #define POS3_VARIANT 0x0004
#define MAVLINK_VARIANT 0x0008 #define MAVLINK_VARIANT 0x0008
#define M128_VARIANT 0x8000 #define M128_VARIANT 0x8000
#define TARANIS_X9E_VARIANT 0x8000
#define SIMU_STOCK_VARIANTS (GVARS_VARIANT|FRSKY_VARIANT) #define SIMU_STOCK_VARIANTS (GVARS_VARIANT|FRSKY_VARIANT)
#define SIMU_M128_VARIANTS (M128_VARIANT|SIMU_STOCK_VARIANTS) #define SIMU_M128_VARIANTS (M128_VARIANT|SIMU_STOCK_VARIANTS)
class OpenTxGeneralData: public TransformedField { class OpenTxGeneralData: public TransformedField {
public: public:

View file

@ -401,6 +401,9 @@ int OpenTxEepromInterface::save(uint8_t *eeprom, RadioData &radioData, uint32_t
if (board == BOARD_M128) { if (board == BOARD_M128) {
variant |= M128_VARIANT; variant |= M128_VARIANT;
} }
else if (board == BOARD_TARANIS_X9E) {
variant |= TARANIS_X9E_VARIANT;
}
int result = saveGeneral<OpenTxGeneralData>(radioData.generalSettings, board, version, variant); int result = saveGeneral<OpenTxGeneralData>(radioData.generalSettings, board, version, variant);
if (!result) { if (!result) {
@ -757,6 +760,8 @@ int OpenTxFirmware::getCapability(const Capability capability)
return SIMU_STOCK_VARIANTS; return SIMU_STOCK_VARIANTS;
else if (board == BOARD_M128) else if (board == BOARD_M128)
return SIMU_M128_VARIANTS; return SIMU_M128_VARIANTS;
else if (board == BOARD_TARANIS_X9E)
return TARANIS_X9E_VARIANT;
else else
return 0; return 0;
case MavlinkTelemetry: case MavlinkTelemetry:
@ -949,7 +954,7 @@ bool OpenTxEepromInterface::checkVersion(unsigned int version)
bool OpenTxEepromInterface::checkVariant(unsigned int version, unsigned int variant) bool OpenTxEepromInterface::checkVariant(unsigned int version, unsigned int variant)
{ {
if (board == BOARD_M128 && !(variant & 0x8000)) { if (board == BOARD_M128 && !(variant & M128_VARIANT)) {
if (version == 212) { if (version == 212) {
uint8_t tmp[1000]; uint8_t tmp[1000];
for (int i=1; i<31; i++) { for (int i=1; i<31; i++) {
@ -961,12 +966,23 @@ bool OpenTxEepromInterface::checkVariant(unsigned int version, unsigned int vari
} }
} }
} }
std::cout << " error when loading M128 general settings (wrong variant)"; std::cout << " wrong variant (" << variant << ")";
return false; return false;
} }
else { else if (board == BOARD_TARANIS_X9E) {
return true; if (variant != TARANIS_X9E_VARIANT) {
std::cout << " wrong variant (" << variant << ")";
return false;
}
} }
else if (IS_TARANIS(board)) {
if (variant != 0) {
std::cout << " wrong variant (" << variant << ")";
return false;
}
}
return true;
} }
bool OpenTxEepromInterface::loadBackup(RadioData &radioData, uint8_t *eeprom, int esize, int index) bool OpenTxEepromInterface::loadBackup(RadioData &radioData, uint8_t *eeprom, int esize, int index)