Commit 89f0ad175e1fff383158ab2303e40e364d14a954
1 parent
be7d2a6253
Exists in
master
and in
2 other branches
전기식일 땐 모드버스 테이블을 작게 인식하도록 수정 (전기식 메인 보드에 최신 프로토콜이 구현되지 않았음)
Showing
1 changed file
with
32 additions
and
3 deletions
Show diff stats
app/gui/oven_control/udphandler.cpp
... | ... | @@ -2,6 +2,8 @@ |
2 | 2 | |
3 | 3 | #include <QtDebug> |
4 | 4 | |
5 | +#include "config.h" | |
6 | + | |
5 | 7 | #define IPC_UDP_SYS_HOST "127.0.0.1" |
6 | 8 | #define IPC_UDP_SYS_PORT 4001 |
7 | 9 | #define IPC_UDP_GUI_PORT 4000 |
... | ... | @@ -91,10 +93,37 @@ void UdpHandler::processControl(oven_control_t *control) |
91 | 93 | |
92 | 94 | void UdpHandler::processState(oven_state_t *state) |
93 | 95 | { |
94 | - if (memcmp(&this->state, state, sizeof(this->state))) | |
96 | + Define::config_item item = Config::getInstance()->getConfigValue(Define::config_model); | |
97 | + | |
98 | + bool isElectric = false; | |
99 | + switch (item.d32) | |
95 | 100 | { |
96 | - memcpy(&this->state, state, sizeof(this->state)); | |
97 | - emit changed(); | |
101 | + case Define::model_electric_10: | |
102 | + case Define::model_electric_20: | |
103 | + case Define::model_electric_24: | |
104 | + case Define::model_electric_40: | |
105 | + isElectric = true; | |
106 | + break; | |
107 | + } | |
108 | + | |
109 | + qDebug() << sizeof(this->state); | |
110 | + | |
111 | + if (isElectric) | |
112 | + { | |
113 | + if (memcmp(&this->state, state, 100)) | |
114 | + { | |
115 | + memcpy(&this->state, state, 100); | |
116 | + bzero(((char *) &this->state) + 100, sizeof(this->state) - 100); | |
117 | + emit changed(); | |
118 | + } | |
119 | + } | |
120 | + else | |
121 | + { | |
122 | + if (memcmp(&this->state, state, sizeof(this->state))) | |
123 | + { | |
124 | + memcpy(&this->state, state, sizeof(this->state)); | |
125 | + emit changed(); | |
126 | + } | |
98 | 127 | } |
99 | 128 | } |
100 | 129 | ... | ... |