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); |