Merge pull request #1315 from opentx/projectkk2glider/issue_1310

Fixes #1310 - Vspd V2 value resolution probem in Companion
This commit is contained in:
Damjan Adamic
2014-06-19 15:47:18 +02:00
+8 -8
View File
@@ -222,10 +222,10 @@ void LogicalSwitchesPanel::edited()
{
source = RawSource(model.customSw[i].val1);
RawSourceRange range = source.getRange(model, generalSettings);
int value = source.isTimeBased() ? QTimeS(cswitchTOffset[i]->time()).seconds() : cswitchOffset[i]->value();
double value = source.isTimeBased() ? QTimeS(cswitchTOffset[i]->time()).seconds() : cswitchOffset[i]->value();
if (model.customSw[i].isDeltaFunction()) {
/*TODO: is this delta function value set correctly*/
model.customSw[i].val2 = (value/range.step);
model.customSw[i].val2 = round(value/range.step);
value=model.customSw[i].val2*range.step;
}
else {
@@ -233,7 +233,7 @@ void LogicalSwitchesPanel::edited()
value = model.customSw[i].val2*range.step + range.offset;
}
if (source.isTimeBased())
cswitchTOffset[i]->setTime(QTimeS(value));
cswitchTOffset[i]->setTime(QTimeS(round(value)));
else
cswitchOffset[i]->setValue(value);
break;
@@ -306,12 +306,12 @@ void LogicalSwitchesPanel::setSwitchWidgetVisibility(int i)
int value;
if (model.customSw[i].isDeltaFunction()) {
/*TODO: is this delta function value set correctly*/
maxTime = range.step*127;
value = range.step*model.customSw[i].val2;
}
maxTime = round(range.step*127);
value = round(range.step*model.customSw[i].val2);
}
else {
maxTime = range.max;
value = range.step*(model.customSw[i].val2/* TODO+source.getRawOffset(model)*/)+range.offset;
maxTime = round(range.max);
value = round(range.step*(model.customSw[i].val2/* TODO+source.getRawOffset(model)*/)+range.offset);
}
cswitchTOffset[i]->setMaximumTime(QTimeS(maxTime));
cswitchTOffset[i]->setDisplayFormat((maxTime>=3600)?"hh:mm:ss":"mm:ss");