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,6 +14,8 @@ MainWindow::MainWindow(QWidget *parent) : | ||
14 | if (!sock->bind(4000)) | 14 | if (!sock->bind(4000)) |
15 | exit(EXIT_FAILURE); | 15 | exit(EXIT_FAILURE); |
16 | 16 | ||
17 | + bzero(&control, sizeof(control)); | ||
18 | + bzero(&state, sizeof(state)); | ||
17 | 19 | ||
18 | connect(sock, SIGNAL(readyRead()), this, SLOT(readPendingDatagrams())); | 20 | connect(sock, SIGNAL(readyRead()), this, SLOT(readPendingDatagrams())); |
19 | 21 | ||
@@ -84,6 +86,12 @@ MainWindow::MainWindow(QWidget *parent) : | @@ -84,6 +86,12 @@ MainWindow::MainWindow(QWidget *parent) : | ||
84 | ui->controlTable->setItem(0x0F, 3, new QTableWidgetItem("Convection RPM")); | 86 | ui->controlTable->setItem(0x0F, 3, new QTableWidgetItem("Convection RPM")); |
85 | ui->controlTable->setItem(0x10, 3, new QTableWidgetItem("Cool Down On/Off")); | 87 | ui->controlTable->setItem(0x10, 3, new QTableWidgetItem("Cool Down On/Off")); |
86 | ui->controlTable->setItem(0x11, 3, new QTableWidgetItem("InterTemp")); | 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 | ui->stateTable->setItem(0x00, 3, new QTableWidgetItem("Firmware V")); | 96 | ui->stateTable->setItem(0x00, 3, new QTableWidgetItem("Firmware V")); |
89 | ui->stateTable->setItem(0x01, 3, new QTableWidgetItem("Firmware Y")); | 97 | ui->stateTable->setItem(0x01, 3, new QTableWidgetItem("Firmware Y")); |
@@ -97,8 +105,8 @@ MainWindow::MainWindow(QWidget *parent) : | @@ -97,8 +105,8 @@ MainWindow::MainWindow(QWidget *parent) : | ||
97 | ui->stateTable->setItem(0x09, 3, new QTableWidgetItem("Current Humidity")); | 105 | ui->stateTable->setItem(0x09, 3, new QTableWidgetItem("Current Humidity")); |
98 | ui->stateTable->setItem(0x0A, 3, new QTableWidgetItem("Current Time")); | 106 | ui->stateTable->setItem(0x0A, 3, new QTableWidgetItem("Current Time")); |
99 | ui->stateTable->setItem(0x0B, 3, new QTableWidgetItem("Wash State")); | 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 | // ui->stateTable->setItem(0x0E, 3, new QTableWidgetItem("Oven Mode")); | 110 | // ui->stateTable->setItem(0x0E, 3, new QTableWidgetItem("Oven Mode")); |
103 | // ui->stateTable->setItem(0x0F, 3, new QTableWidgetItem("Oven Mode")); | 111 | // ui->stateTable->setItem(0x0F, 3, new QTableWidgetItem("Oven Mode")); |
104 | ui->stateTable->setItem(0x10, 3, new QTableWidgetItem("Door Open/Close")); | 112 | ui->stateTable->setItem(0x10, 3, new QTableWidgetItem("Door Open/Close")); |
@@ -161,12 +169,15 @@ void MainWindow::processDatagram(QByteArray &datagram) | @@ -161,12 +169,15 @@ void MainWindow::processDatagram(QByteArray &datagram) | ||
161 | switch (packet->header) | 169 | switch (packet->header) |
162 | { | 170 | { |
163 | case HDR_OVEN_CONTROL: | 171 | case HDR_OVEN_CONTROL: |
172 | + qDebug() << "Received Control"; | ||
164 | processControl((oven_control_t *) packet->body); | 173 | processControl((oven_control_t *) packet->body); |
165 | break; | 174 | break; |
166 | case HDR_OVEN_STATE: | 175 | case HDR_OVEN_STATE: |
176 | + qDebug() << "Received State"; | ||
167 | processState((oven_state_t *) packet->body); | 177 | processState((oven_state_t *) packet->body); |
168 | break; | 178 | break; |
169 | case HDR_ERROR_CODE: | 179 | case HDR_ERROR_CODE: |
180 | + qDebug() << "Received Error"; | ||
170 | break; | 181 | break; |
171 | } | 182 | } |
172 | } | 183 | } |
@@ -189,6 +200,7 @@ void MainWindow::updateControl(oven_control_t *control) | @@ -189,6 +200,7 @@ void MainWindow::updateControl(oven_control_t *control) | ||
189 | U16 *operand = (U16 *) control; | 200 | U16 *operand = (U16 *) control; |
190 | for (int row = 0; row < ui->controlTable->rowCount(); row++) | 201 | for (int row = 0; row < ui->controlTable->rowCount(); row++) |
191 | { | 202 | { |
203 | + qDebug() << "Diff"; | ||
192 | U16 b = *(base + row); | 204 | U16 b = *(base + row); |
193 | U16 o = *(operand + row); | 205 | U16 o = *(operand + row); |
194 | if (b != o) | 206 | if (b != o) |
@@ -225,7 +237,8 @@ void MainWindow::updateState(oven_state_t *state) | @@ -225,7 +237,8 @@ void MainWindow::updateState(oven_state_t *state) | ||
225 | 237 | ||
226 | void MainWindow::on_pushControlButton_clicked() | 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 | for (int row = 0; row < ui->controlTable->rowCount(); row++) | 242 | for (int row = 0; row < ui->controlTable->rowCount(); row++) |
230 | { | 243 | { |
231 | QTableWidgetItem *val = (QTableWidgetItem *) ui->controlTable->item(row, 4); | 244 | QTableWidgetItem *val = (QTableWidgetItem *) ui->controlTable->item(row, 4); |
@@ -235,7 +248,7 @@ void MainWindow::on_pushControlButton_clicked() | @@ -235,7 +248,7 @@ void MainWindow::on_pushControlButton_clicked() | ||
235 | 248 | ||
236 | gui_oven_control_t c; | 249 | gui_oven_control_t c; |
237 | c.header = HDR_OVEN_CONTROL; | 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 | QByteArray datagram = QByteArray::fromRawData((char *) &c, sizeof(c)); | 253 | QByteArray datagram = QByteArray::fromRawData((char *) &c, sizeof(c)); |
241 | sock->writeDatagram(datagram, QHostAddress("192.168.10.139"), 4000); | 254 | sock->writeDatagram(datagram, QHostAddress("192.168.10.139"), 4000); |