Commit e77a367ac9fd59deacc15206fa7777e8bbadae89
1 parent
4fc65fb819
Exists in
master
and in
2 other branches
모드버스 주소 설명 추가
Showing
1 changed file
with
17 additions
and
4 deletions
Show diff stats
app/gui/packet/mainwindow.cpp
... | ... | @@ -14,6 +14,8 @@ MainWindow::MainWindow(QWidget *parent) : |
14 | 14 | if (!sock->bind(4000)) |
15 | 15 | exit(EXIT_FAILURE); |
16 | 16 | |
17 | + bzero(&control, sizeof(control)); | |
18 | + bzero(&state, sizeof(state)); | |
17 | 19 | |
18 | 20 | connect(sock, SIGNAL(readyRead()), this, SLOT(readPendingDatagrams())); |
19 | 21 | |
... | ... | @@ -84,6 +86,12 @@ MainWindow::MainWindow(QWidget *parent) : |
84 | 86 | ui->controlTable->setItem(0x0F, 3, new QTableWidgetItem("Convection RPM")); |
85 | 87 | ui->controlTable->setItem(0x10, 3, new QTableWidgetItem("Cool Down On/Off")); |
86 | 88 | ui->controlTable->setItem(0x11, 3, new QTableWidgetItem("InterTemp")); |
89 | +// ui->controlTable->setItem(0x12, 3, new QTableWidgetItem("InterTemp")); | |
90 | +// ui->controlTable->setItem(0x13, 3, new QTableWidgetItem("InterTemp")); | |
91 | + ui->controlTable->setItem(0x14, 3, new QTableWidgetItem("Wash Type")); | |
92 | + ui->controlTable->setItem(0x15, 3, new QTableWidgetItem("Wash Total")); | |
93 | + ui->controlTable->setItem(0x16, 3, new QTableWidgetItem("Wash Steps")); | |
94 | + ui->controlTable->setItem(0x17, 3, new QTableWidgetItem("Wash Step Type")); | |
87 | 95 | |
88 | 96 | ui->stateTable->setItem(0x00, 3, new QTableWidgetItem("Firmware V")); |
89 | 97 | ui->stateTable->setItem(0x01, 3, new QTableWidgetItem("Firmware Y")); |
... | ... | @@ -97,8 +105,8 @@ MainWindow::MainWindow(QWidget *parent) : |
97 | 105 | ui->stateTable->setItem(0x09, 3, new QTableWidgetItem("Current Humidity")); |
98 | 106 | ui->stateTable->setItem(0x0A, 3, new QTableWidgetItem("Current Time")); |
99 | 107 | ui->stateTable->setItem(0x0B, 3, new QTableWidgetItem("Wash State")); |
100 | -// ui->stateTable->setItem(0x0C, 3, new QTableWidgetItem("Oven Mode")); | |
101 | -// ui->stateTable->setItem(0x0D, 3, new QTableWidgetItem("Oven Mode")); | |
108 | + ui->stateTable->setItem(0x0C, 3, new QTableWidgetItem("Wash Type")); | |
109 | + ui->stateTable->setItem(0x0D, 3, new QTableWidgetItem("Wash Steps")); | |
102 | 110 | // ui->stateTable->setItem(0x0E, 3, new QTableWidgetItem("Oven Mode")); |
103 | 111 | // ui->stateTable->setItem(0x0F, 3, new QTableWidgetItem("Oven Mode")); |
104 | 112 | ui->stateTable->setItem(0x10, 3, new QTableWidgetItem("Door Open/Close")); |
... | ... | @@ -161,12 +169,15 @@ void MainWindow::processDatagram(QByteArray &datagram) |
161 | 169 | switch (packet->header) |
162 | 170 | { |
163 | 171 | case HDR_OVEN_CONTROL: |
172 | + qDebug() << "Received Control"; | |
164 | 173 | processControl((oven_control_t *) packet->body); |
165 | 174 | break; |
166 | 175 | case HDR_OVEN_STATE: |
176 | + qDebug() << "Received State"; | |
167 | 177 | processState((oven_state_t *) packet->body); |
168 | 178 | break; |
169 | 179 | case HDR_ERROR_CODE: |
180 | + qDebug() << "Received Error"; | |
170 | 181 | break; |
171 | 182 | } |
172 | 183 | } |
... | ... | @@ -189,6 +200,7 @@ void MainWindow::updateControl(oven_control_t *control) |
189 | 200 | U16 *operand = (U16 *) control; |
190 | 201 | for (int row = 0; row < ui->controlTable->rowCount(); row++) |
191 | 202 | { |
203 | + qDebug() << "Diff"; | |
192 | 204 | U16 b = *(base + row); |
193 | 205 | U16 o = *(operand + row); |
194 | 206 | if (b != o) |
... | ... | @@ -225,7 +237,8 @@ void MainWindow::updateState(oven_state_t *state) |
225 | 237 | |
226 | 238 | void MainWindow::on_pushControlButton_clicked() |
227 | 239 | { |
228 | - U16 *base = (U16 *) &this->control; | |
240 | + oven_control_t control = this->control; | |
241 | + U16 *base = (U16 *) &control; | |
229 | 242 | for (int row = 0; row < ui->controlTable->rowCount(); row++) |
230 | 243 | { |
231 | 244 | QTableWidgetItem *val = (QTableWidgetItem *) ui->controlTable->item(row, 4); |
... | ... | @@ -235,7 +248,7 @@ void MainWindow::on_pushControlButton_clicked() |
235 | 248 | |
236 | 249 | gui_oven_control_t c; |
237 | 250 | c.header = HDR_OVEN_CONTROL; |
238 | - memcpy(&c.control, &this->control, sizeof(this->control)); | |
251 | + memcpy(&c.control, &control, sizeof(this->control)); | |
239 | 252 | |
240 | 253 | QByteArray datagram = QByteArray::fromRawData((char *) &c, sizeof(c)); |
241 | 254 | sock->writeDatagram(datagram, QHostAddress("192.168.10.139"), 4000); | ... | ... |