85 |
86 |
86 ui->uuidEdit->setText(_uuid); |
87 ui->uuidEdit->setText(_uuid); |
87 ui->systemEdit->setText(_node+"/"+_alias); |
88 ui->systemEdit->setText(_node+"/"+_alias); |
88 ui->codePick->setItemText(0, _alias.toUpper()+" - "+_alias); |
89 ui->codePick->setItemText(0, _alias.toUpper()+" - "+_alias); |
89 ui->alarmLED->setChecked(alarm); |
90 ui->alarmLED->setChecked(alarm); |
|
91 ui->lastEdit->setText(query.value("lastseen").toDateTime().toString("dd MMM HH:mm:ss")); |
|
92 ui->codeEdit->setText(_beercode+" - "+_beername); |
|
93 ui->powerLED->setChecked(mode); |
|
94 ui->modeEdit->show(); |
|
95 ui->modeEdit->setCurrentIndex(mode ? 1:0); |
90 |
96 |
91 if (online) { |
97 if (online) { |
92 ui->statusEdit->setText(tr("Online")); |
98 ui->statusEdit->setText(tr("Online")); |
93 ui->statusEdit->setStyleSheet(""); |
99 ui->statusEdit->setStyleSheet(""); |
94 ui->codeEdit->setText(_beercode+" - "+_beername); |
|
95 ui->thermoMeter->setNominal(query.value("yeast_lo").toDouble()); |
100 ui->thermoMeter->setNominal(query.value("yeast_lo").toDouble()); |
96 ui->thermoMeter->setCritical(query.value("yeast_hi").toDouble()); |
101 ui->thermoMeter->setCritical(query.value("yeast_hi").toDouble()); |
97 |
102 ui->modeEdit->setEnabled(true); |
98 ui->powerLED->setChecked(mode); |
|
99 ui->modeEdit->show(); |
|
100 if (mode) { |
103 if (mode) { |
101 ui->modeEdit->setCurrentIndex(1); |
|
102 ui->codePick->hide(); |
104 ui->codePick->hide(); |
103 } else { |
105 } else { |
104 ui->modeEdit->setCurrentIndex(0); |
|
105 ui->codePick->show(); |
106 ui->codePick->show(); |
106 } |
107 } |
107 |
108 |
|
109 plato = query.value("gravity").toDouble(); |
|
110 angle = query.value("angle").toDouble(); |
|
111 /* |
|
112 * Try to use the calibrate poly to recalcultate the density. |
|
113 */ |
|
114 QJsonParseError parseError; |
|
115 const auto& json = query.value("calibrate").toString(); |
|
116 if (!json.trimmed().isEmpty()) { |
|
117 const auto& formattedJson = QString("%1").arg(json); |
|
118 QJsonDocument jsonResponse = QJsonDocument::fromJson(formattedJson.toUtf8(), &parseError); |
|
119 QJsonObject jsonObj = jsonResponse.object(); |
|
120 QJsonArray polyData = jsonObj.value("polyData").toArray(); |
|
121 if (polyData.size() == 4) { |
|
122 for (int i = 0; i < polyData.size(); i++) { |
|
123 poly[i] = polyData.at(i).toDouble(); |
|
124 } |
|
125 /* New plato from current polynomial */ |
|
126 plato = (poly[0] * pow(angle, 3)) + (poly[1] * pow(angle, 2)) + (poly[2] * angle) + poly[3]; |
|
127 } |
|
128 } |
|
129 sg = Utils::plato_to_sg(plato); |
|
130 |
108 ui->voltEdit->setText(QString("%1").arg(query.value("battery").toDouble(), 4, 'f', 3, '0')); |
131 ui->voltEdit->setText(QString("%1").arg(query.value("battery").toDouble(), 4, 'f', 3, '0')); |
109 ui->tiltEdit->setText(QString("%1").arg(query.value("angle").toDouble(), 6, 'f', 5, '0')); |
132 ui->tiltEdit->setText(QString("%1").arg(angle, 6, 'f', 5, '0')); |
110 ui->platoEdit->setText(QString("%1").arg(query.value("gravity").toDouble(), 4, 'f', 3, '0')); |
133 ui->platoEdit->setText(QString("%1").arg(plato, 4, 'f', 3, '0')); |
111 double sg = Utils::plato_to_sg(query.value("gravity").toDouble()); |
|
112 ui->sgEdit->setText(QString("%1").arg(sg, 5, 'f', 4, '0')); |
134 ui->sgEdit->setText(QString("%1").arg(sg, 5, 'f', 4, '0')); |
113 ui->lastEdit->setText(query.value("lastseen").toDateTime().toString("dd MMM HH:mm:ss")); |
|
114 |
135 |
115 if (query.value("gravity").toDouble()) { |
136 if (query.value("gravity").toDouble()) { |
116 double o_plato = query.value("og_gravity").toDouble(); |
137 double o_plato = query.value("og_gravity").toDouble(); |
117 double og = Utils::plato_to_sg(o_plato); |
138 double og = Utils::plato_to_sg(o_plato); |
118 double svg = Utils::calc_svg(og, sg); |
139 double svg = Utils::calc_svg(og, sg); |