1 #include "converteeprom.h"
2 #include "eeprominterface.h"
3 #include "firmwareinterface.h"
6 bool convertEEprom(const QString
&sourceEEprom
, const QString
&destinationEEprom
, const QString
&firmwareFilename
)
8 Firmware
*currentFirmware
= GetCurrentFirmware();
9 FirmwareInterface
firmware(firmwareFilename
);
10 if (!firmware
.isValid())
13 unsigned int version
= firmware
.getEEpromVersion();
14 unsigned int variant
= firmware
.getEEpromVariant();
16 QFile
sourceFile(sourceEEprom
);
17 int eeprom_size
= sourceFile
.size();
21 if (!sourceFile
.open(QIODevice::ReadOnly
))
24 QByteArray
eeprom(eeprom_size
, 0);
25 long result
= sourceFile
.read(eeprom
.data(), eeprom_size
);
28 QSharedPointer
<RadioData
> radioData
= QSharedPointer
<RadioData
>(new RadioData());
29 if (!loadEEprom(*radioData
, (uint8_t *)eeprom
.data(), eeprom_size
) || !currentFirmware
->saveEEPROM((uint8_t *)eeprom
.data(), *radioData
, variant
, version
))
32 QFile
destinationFile(destinationEEprom
);
33 if (!destinationFile
.open(QIODevice::WriteOnly
))
36 result
= destinationFile
.write(eeprom
.constData(), eeprom_size
);
37 destinationFile
.close();
38 if (result
!= eeprom_size
)