From a94d08606f213a9edeba609bfc7481218bba90e4 Mon Sep 17 00:00:00 2001 From: bsongis Date: Wed, 22 Jul 2015 18:55:54 +0200 Subject: [PATCH] Fixes #2517 --- companion/src/eeprominterface.h | 14 +++++++------- companion/src/firmwares/opentx/opentxinterface.cpp | 9 ++++----- companion/src/flasheepromdialog.cpp | 4 ++-- companion/src/mdichild.cpp | 6 +++--- 4 files changed, 16 insertions(+), 17 deletions(-) diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h index e939ebb7b..f5d3dff35 100644 --- a/companion/src/eeprominterface.h +++ b/companion/src/eeprominterface.h @@ -26,13 +26,13 @@ #include "constants.h" #include "simulatorinterface.h" -#define EESIZE_STOCK 2048 -#define EESIZE_M128 4096 -#define EESIZE_GRUVIN9X 4096 -#define EESIZE_TARANIS (32*1024) -#define EESIZE_SKY9X (128*4096) -#define EESIZE_9XRPRO (128*4096) -#define EESIZE_RLC_MAX EESIZE_TARANIS +#define EESIZE_STOCK 2048 +#define EESIZE_M128 4096 +#define EESIZE_GRUVIN9X 4096 +#define EESIZE_TARANIS (32*1024) +#define EESIZE_SKY9X (128*4096) +#define EESIZE_9XRPRO (128*4096) +#define EESIZE_MAX EESIZE_9XRPRO QString getBoardName(BoardEnum board); diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index 57cf88e3b..5913a5446 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -446,9 +446,8 @@ int OpenTxEepromInterface::getSize(ModelData &model) if (model.isempty()) return 0; - // TODO something better... - uint8_t tmp[EESIZE_RLC_MAX]; - efile->EeFsCreate(tmp, EESIZE_RLC_MAX, board, 255/*version max*/); + QByteArray tmp(EESIZE_MAX, 0); + efile->EeFsCreate((uint8_t *)tmp.data(), EESIZE_MAX, board, 255/*version max*/); OpenTxModelData open9xModel(model, board, 255/*version max*/, GetCurrentFirmware()->getVariantNumber()); @@ -466,8 +465,8 @@ int OpenTxEepromInterface::getSize(GeneralSettings &settings) if (IS_SKY9X(board)) return 0; - uint8_t tmp[EESIZE_RLC_MAX]; - efile->EeFsCreate(tmp, EESIZE_RLC_MAX, board, 255); + QByteArray tmp(EESIZE_MAX, 0); + efile->EeFsCreate((uint8_t *)tmp.data(), EESIZE_MAX, board, 255); OpenTxGeneralData open9xGeneral(settings, board, 255, GetCurrentFirmware()->getVariantNumber()); // open9xGeneral.Dump(); diff --git a/companion/src/flasheepromdialog.cpp b/companion/src/flasheepromdialog.cpp index f7622c3f0..001bb2bc3 100755 --- a/companion/src/flasheepromdialog.cpp +++ b/companion/src/flasheepromdialog.cpp @@ -102,7 +102,7 @@ int FlashEEpromDialog::getEEpromVersion(const QString &filename) return -1; } - QByteArray eeprom(EESIZE_RLC_MAX, 0); + QByteArray eeprom(EESIZE_MAX, 0); int fileType = getFileType(filename); #if 0 @@ -144,7 +144,7 @@ int FlashEEpromDialog::getEEpromVersion(const QString &filename) return -1; } } - eeprom_size = HexInterface(inputStream).load((uint8_t *)eeprom.data(), EESIZE_RLC_MAX); + eeprom_size = HexInterface(inputStream).load((uint8_t *)eeprom.data(), EESIZE_MAX); } else if (fileType==FILE_TYPE_BIN) { //read binary eeprom_size = file.size(); diff --git a/companion/src/mdichild.cpp b/companion/src/mdichild.cpp index 20cc02015..a43005840 100644 --- a/companion/src/mdichild.cpp +++ b/companion/src/mdichild.cpp @@ -282,8 +282,8 @@ bool MdiChild::loadFile(const QString &fileName, bool resetCurrentFile) } } - uint8_t eeprom[EESIZE_RLC_MAX]; - int eeprom_size = HexInterface(inputStream).load(eeprom, EESIZE_RLC_MAX); + QByteArray eeprom(EESIZE_MAX, 0); + int eeprom_size = HexInterface(inputStream).load((uint8_t *)eeprom.data(), EESIZE_MAX); if (!eeprom_size) { QMessageBox::critical(this, tr("Error"), tr("Invalid EEPROM File %1") @@ -294,7 +294,7 @@ bool MdiChild::loadFile(const QString &fileName, bool resetCurrentFile) file.close(); - if (!loadEEprom(radioData, eeprom, eeprom_size)) { + if (!loadEEprom(radioData, (uint8_t *)eeprom.data(), eeprom_size)) { QMessageBox::critical(this, tr("Error"), tr("Invalid EEPROM File %1") .arg(fileName));