Simulator always asked for calibration

This commit is contained in:
Bertrand Songis
2014-02-07 07:34:40 +01:00
parent eb80d75ee1
commit 86bd251f74
2 changed files with 19 additions and 4 deletions
@@ -2167,6 +2167,7 @@ Open9xGeneralDataNew::Open9xGeneralDataNew(GeneralSettings & generalData, BoardE
internalField("General Settings"),
generalData(generalData),
board(board),
version(version),
inputsCount(IS_TARANIS(board) ? 8 : 7)
{
generalData.version = version;
@@ -2296,10 +2297,23 @@ Open9xGeneralDataNew::Open9xGeneralDataNew(GeneralSettings & generalData, BoardE
void Open9xGeneralDataNew::beforeExport()
{
uint16_t sum = 0;
for (int i=0; i<inputsCount; i++)
sum += generalData.calibMid[i];
for (int i=0; i<5; i++)
sum += generalData.calibSpanNeg[i];
if (version >= 216) {
int count = 0;
for (int i=0; i<inputsCount; i++) {
sum += generalData.calibMid[i];
if (++count == inputsCount+5) break;
sum += generalData.calibSpanNeg[i];
if (++count == inputsCount+5) break;
sum += generalData.calibSpanPos[i];
if (++count == inputsCount+5) break;
}
}
else {
for (int i=0; i<inputsCount; i++)
sum += generalData.calibMid[i];
for (int i=0; i<5; i++)
sum += generalData.calibSpanNeg[i];
}
chkSum = sum;
}
@@ -64,6 +64,7 @@ class Open9xGeneralDataNew: public TransformedField {
StructField internalField;
GeneralSettings & generalData;
BoardEnum board;
unsigned int version;
int inputsCount;
unsigned int chkSum;
};