From 89f0ad175e1fff383158ab2303e40e364d14a954 Mon Sep 17 00:00:00 2001 From: victor Date: Wed, 14 Jun 2017 16:25:50 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A0=84=EA=B8=B0=EC=8B=9D=EC=9D=BC=20?= =?UTF-8?q?=EB=95=90=20=EB=AA=A8=EB=93=9C=EB=B2=84=EC=8A=A4=20=ED=85=8C?= =?UTF-8?q?=EC=9D=B4=EB=B8=94=EC=9D=84=20=EC=9E=91=EA=B2=8C=20=EC=9D=B8?= =?UTF-8?q?=EC=8B=9D=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95=20(?= =?UTF-8?q?=EC=A0=84=EA=B8=B0=EC=8B=9D=20=EB=A9=94=EC=9D=B8=20=EB=B3=B4?= =?UTF-8?q?=EB=93=9C=EC=97=90=20=EC=B5=9C=EC=8B=A0=20=ED=94=84=EB=A1=9C?= =?UTF-8?q?=ED=86=A0=EC=BD=9C=EC=9D=B4=20=EA=B5=AC=ED=98=84=EB=90=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EC=95=98=EC=9D=8C)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/gui/oven_control/udphandler.cpp | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/app/gui/oven_control/udphandler.cpp b/app/gui/oven_control/udphandler.cpp index 0a64d99..11d664c 100644 --- a/app/gui/oven_control/udphandler.cpp +++ b/app/gui/oven_control/udphandler.cpp @@ -2,6 +2,8 @@ #include +#include "config.h" + #define IPC_UDP_SYS_HOST "127.0.0.1" #define IPC_UDP_SYS_PORT 4001 #define IPC_UDP_GUI_PORT 4000 @@ -91,10 +93,37 @@ void UdpHandler::processControl(oven_control_t *control) void UdpHandler::processState(oven_state_t *state) { - if (memcmp(&this->state, state, sizeof(this->state))) + Define::config_item item = Config::getInstance()->getConfigValue(Define::config_model); + + bool isElectric = false; + switch (item.d32) { - memcpy(&this->state, state, sizeof(this->state)); - emit changed(); + case Define::model_electric_10: + case Define::model_electric_20: + case Define::model_electric_24: + case Define::model_electric_40: + isElectric = true; + break; + } + + qDebug() << sizeof(this->state); + + if (isElectric) + { + if (memcmp(&this->state, state, 100)) + { + memcpy(&this->state, state, 100); + bzero(((char *) &this->state) + 100, sizeof(this->state) - 100); + emit changed(); + } + } + else + { + if (memcmp(&this->state, state, sizeof(this->state))) + { + memcpy(&this->state, state, sizeof(this->state)); + emit changed(); + } } } -- 2.1.4