Commit f8661a150661ae502e00df188336acd686504cf8

Authored by 고영탁
1 parent 7cf3f7f9d5
Exists in master and in 2 other branches fhd, fhd-demo

엔지니어 모드 디버깅

- 서비스 기록, 실시간 데이터, 작동 시간 기능 디버깅
app/gui/oven_control/historylistwindow.cpp
@@ -235,61 +235,61 @@ void historyListWindow::setTotalServiceDataSet(void){ @@ -235,61 +235,61 @@ void historyListWindow::setTotalServiceDataSet(void){
235 total_items[4].last_fried = 0; 235 total_items[4].last_fried = 0;
236 236
237 //06 중복 에러 237 //06 중복 에러
238 - firecntbuf = 0;firsttimebuf = 0; lasttimebuf=0; 238 + /*firecntbuf = 0;firsttimebuf = 0; lasttimebuf=0;
239 item = &(ovenst->srvdatas->err_log.items.repeat_error); 239 item = &(ovenst->srvdatas->err_log.items.repeat_error);
240 firecntbuf = item->first_fired;lasttimebuf = item->last_fried;firecntbuf=item->fired_cnt; 240 firecntbuf = item->first_fired;lasttimebuf = item->last_fried;firecntbuf=item->fired_cnt;
241 total_items[5].fired_cnt = firecntbuf; 241 total_items[5].fired_cnt = firecntbuf;
242 total_items[5].first_fired = firsttimebuf; 242 total_items[5].first_fired = firsttimebuf;
243 - total_items[5].last_fried = lasttimebuf; 243 + total_items[5].last_fried = lasttimebuf;*/
244 244
245 //07 B1 센서 에러 245 //07 B1 센서 에러
246 firecntbuf = 0;firsttimebuf = 0; lasttimebuf=0; 246 firecntbuf = 0;firsttimebuf = 0; lasttimebuf=0;
247 item = &(ovenst->srvdatas->err_log.items.inner_temp_high_alarm); 247 item = &(ovenst->srvdatas->err_log.items.inner_temp_high_alarm);
248 - firecntbuf = item->first_fired;lasttimebuf = item->last_fried;firecntbuf=item->fired_cnt; 248 + firsttimebuf = item->first_fired;lasttimebuf = item->last_fried;firecntbuf=item->fired_cnt;
  249 + total_items[5].fired_cnt = firecntbuf;
  250 + total_items[5].first_fired = firsttimebuf;
  251 + total_items[5].last_fried = lasttimebuf;
  252 +
  253 + //08 B2 센서 에러
  254 + firecntbuf = 0;firsttimebuf = 0; lasttimebuf=0;
  255 + item = &(ovenst->srvdatas->err_log.items.qunching_temp_high_alarm);
  256 + firsttimebuf = item->first_fired;lasttimebuf = item->last_fried;firecntbuf=item->fired_cnt;
249 total_items[6].fired_cnt = firecntbuf; 257 total_items[6].fired_cnt = firecntbuf;
250 total_items[6].first_fired = firsttimebuf; 258 total_items[6].first_fired = firsttimebuf;
251 total_items[6].last_fried = lasttimebuf; 259 total_items[6].last_fried = lasttimebuf;
252 260
253 - //08 B2 센서 에러 261 + //09 B3 센서 에러
254 firecntbuf = 0;firsttimebuf = 0; lasttimebuf=0; 262 firecntbuf = 0;firsttimebuf = 0; lasttimebuf=0;
255 - item = &(ovenst->srvdatas->err_log.items.qunching_temp_high_alarm);  
256 - firecntbuf = item->first_fired;lasttimebuf = item->last_fried;firecntbuf=item->fired_cnt; 263 + item = &(ovenst->srvdatas->err_log.items.meatprove_temp1_high_alarm);
  264 + firsttimebuf = item->first_fired;lasttimebuf = item->last_fried;firecntbuf=item->fired_cnt;
257 total_items[7].fired_cnt = firecntbuf; 265 total_items[7].fired_cnt = firecntbuf;
258 total_items[7].first_fired = firsttimebuf; 266 total_items[7].first_fired = firsttimebuf;
259 total_items[7].last_fried = lasttimebuf; 267 total_items[7].last_fried = lasttimebuf;
260 268
261 - //09 B3 센서 에러 269 + //10 B4 센서 에러
262 firecntbuf = 0;firsttimebuf = 0; lasttimebuf=0; 270 firecntbuf = 0;firsttimebuf = 0; lasttimebuf=0;
263 - item = &(ovenst->srvdatas->err_log.items.meatprove_temp1_high_alarm);  
264 - firecntbuf = item->first_fired;lasttimebuf = item->last_fried;firecntbuf=item->fired_cnt; 271 + item = &(ovenst->srvdatas->err_log.items.wall_temp1_high_alarm);
  272 + firsttimebuf = item->first_fired;lasttimebuf = item->last_fried;firecntbuf=item->fired_cnt;
265 total_items[8].fired_cnt = firecntbuf; 273 total_items[8].fired_cnt = firecntbuf;
266 total_items[8].first_fired = firsttimebuf; 274 total_items[8].first_fired = firsttimebuf;
267 total_items[8].last_fried = lasttimebuf; 275 total_items[8].last_fried = lasttimebuf;
268 276
269 - //10 B4 센서 에러 277 + //11 B5 센서 에러
270 firecntbuf = 0;firsttimebuf = 0; lasttimebuf=0; 278 firecntbuf = 0;firsttimebuf = 0; lasttimebuf=0;
271 - item = &(ovenst->srvdatas->err_log.items.wall_temp1_high_alarm);  
272 - firecntbuf = item->first_fired;lasttimebuf = item->last_fried;firecntbuf=item->fired_cnt; 279 + item = &(ovenst->srvdatas->err_log.items.steam_gen_temp_high_alram);
  280 + firsttimebuf = item->first_fired;lasttimebuf = item->last_fried;firecntbuf=item->fired_cnt;
273 total_items[9].fired_cnt = firecntbuf; 281 total_items[9].fired_cnt = firecntbuf;
274 total_items[9].first_fired = firsttimebuf; 282 total_items[9].first_fired = firsttimebuf;
275 total_items[9].last_fried = lasttimebuf; 283 total_items[9].last_fried = lasttimebuf;
276 284
277 - //11 B5 센서 에러 285 + //12 수위센
278 firecntbuf = 0;firsttimebuf = 0; lasttimebuf=0; 286 firecntbuf = 0;firsttimebuf = 0; lasttimebuf=0;
279 - item = &(ovenst->srvdatas->err_log.items.steam_gen_temp_high_alram);  
280 - firecntbuf = item->first_fired;lasttimebuf = item->last_fried;firecntbuf=item->fired_cnt; 287 + item = &(ovenst->srvdatas->err_log.items.water_level_sensor_fail);
  288 + firsttimebuf = item->first_fired;lasttimebuf = item->last_fried;firecntbuf=item->fired_cnt;
281 total_items[10].fired_cnt = firecntbuf; 289 total_items[10].fired_cnt = firecntbuf;
282 total_items[10].first_fired = firsttimebuf; 290 total_items[10].first_fired = firsttimebuf;
283 total_items[10].last_fried = lasttimebuf; 291 total_items[10].last_fried = lasttimebuf;
284 292
285 - //12 수위센  
286 - firecntbuf = 0;firsttimebuf = 0; lasttimebuf=0;  
287 - item = &(ovenst->srvdatas->err_log.items.water_level_sensor_fail);  
288 - firecntbuf = item->first_fired;lasttimebuf = item->last_fried;firecntbuf=item->fired_cnt;  
289 - total_items[11].fired_cnt = firecntbuf;  
290 - total_items[11].first_fired = firsttimebuf;  
291 - total_items[11].last_fried = lasttimebuf;  
292 -  
293 293
294 for(i=0;i<20;i++){ 294 for(i=0;i<20;i++){
295 err_items[i] = &total_items[i]; 295 err_items[i] = &total_items[i];
@@ -320,12 +320,6 @@ void historyListWindow::setWindosDataSet(ERROR_HISTORY_TYPE type){ @@ -320,12 +320,6 @@ void historyListWindow::setWindosDataSet(ERROR_HISTORY_TYPE type){
320 320
321 void historyListWindow::on_ctrlBackBtn_clicked() 321 void historyListWindow::on_ctrlBackBtn_clicked()
322 { 322 {
323 - OvenStatics* ovenst = OvenStatics::getInstance();  
324 - time_t ltime;  
325 - ltime = time(NULL);  
326 - ovenst->srvdatas->err_log.items.upper_fire_fail.fired_cnt++;  
327 - if(ovenst->srvdatas->err_log.items.upper_fire_fail.first_fired ==0) ovenst->srvdatas->err_log.items.upper_fire_fail.first_fired = ltime;  
328 - ovenst->srvdatas->err_log.items.upper_fire_fail.last_fried = ltime;  
329 deleteLater(); 323 deleteLater();
330 } 324 }
331 325
app/gui/oven_control/historylistwindow.h
@@ -44,7 +44,7 @@ private slots: @@ -44,7 +44,7 @@ private slots:
44 private: 44 private:
45 Ui::historyListWindow *ui; 45 Ui::historyListWindow *ui;
46 46
47 - const uint8_t m_arrErrorMaxIdx[4] = {3,4,3,12}; 47 + const uint8_t m_arrErrorMaxIdx[4] = {3,4,3,11};
48 48
49 const char m_strWindowName[4][64] = {"상부점화장치\0", 49 const char m_strWindowName[4][64] = {"상부점화장치\0",
50 "스팀점화장치\0","하부점화장치\0","서비스에러기록종합\0"}; 50 "스팀점화장치\0","하부점화장치\0","서비스에러기록종합\0"};
app/gui/oven_control/historylistwindow.ui
@@ -673,8 +673,8 @@ QPushButton { text-align:center;}&lt;/string&gt; @@ -673,8 +673,8 @@ QPushButton { text-align:center;}&lt;/string&gt;
673 <font> 673 <font>
674 <family>나눔고딕</family> 674 <family>나눔고딕</family>
675 <pointsize>8</pointsize> 675 <pointsize>8</pointsize>
676 - <weight>75</weight>  
677 - <bold>true</bold> 676 + <weight>50</weight>
  677 + <bold>false</bold>
678 </font> 678 </font>
679 </property> 679 </property>
680 <property name="styleSheet"> 680 <property name="styleSheet">
@@ -879,8 +879,8 @@ QPushButton { text-align:center;}&lt;/string&gt; @@ -879,8 +879,8 @@ QPushButton { text-align:center;}&lt;/string&gt;
879 <font> 879 <font>
880 <family>나눔고딕</family> 880 <family>나눔고딕</family>
881 <pointsize>8</pointsize> 881 <pointsize>8</pointsize>
882 - <weight>75</weight>  
883 - <bold>true</bold> 882 + <weight>50</weight>
  883 + <bold>false</bold>
884 </font> 884 </font>
885 </property> 885 </property>
886 <property name="styleSheet"> 886 <property name="styleSheet">
app/gui/oven_control/operationtimeheat.cpp
@@ -51,6 +51,8 @@ void operationTimeHeat::reloadUI(void){ @@ -51,6 +51,8 @@ void operationTimeHeat::reloadUI(void){
51 timetemp = ovs->srvdatas->use_log.items.dry_heat; 51 timetemp = ovs->srvdatas->use_log.items.dry_heat;
52 strTemp.sprintf("%d h", timetemp/3600); 52 strTemp.sprintf("%d h", timetemp/3600);
53 ui->m_ctrlLbListTime2->setText(strTemp); 53 ui->m_ctrlLbListTime2->setText(strTemp);
  54 + qDebug() << "Steam heat time : " << ovs->srvdatas->use_log.items.steam_heat;
  55 + qDebug() << "Dry heat time : " << ovs->srvdatas->use_log.items.dry_heat;
54 } 56 }
55 } 57 }
56 58
app/gui/oven_control/operationtimemode.cpp
@@ -32,49 +32,59 @@ void operationTimeMode::reloadUi(void){ @@ -32,49 +32,59 @@ void operationTimeMode::reloadUi(void){
32 totaltime += timetemp; 32 totaltime += timetemp;
33 strTemp.sprintf("%d h", timetemp/3600); 33 strTemp.sprintf("%d h", timetemp/3600);
34 ui->m_ctrlLbListTime1->setText(strTemp); 34 ui->m_ctrlLbListTime1->setText(strTemp);
  35 + qDebug() << "Dry Cook Time : " <<timetemp;
35 //스팀 조리 모드 36 //스팀 조리 모드
36 timetemp = ovs->srvdatas->use_log.items.cook_steam_mode; 37 timetemp = ovs->srvdatas->use_log.items.cook_steam_mode;
37 totaltime += timetemp; 38 totaltime += timetemp;
38 strTemp.sprintf("%d h", timetemp/3600); 39 strTemp.sprintf("%d h", timetemp/3600);
39 ui->m_ctrlLbListTime2->setText(strTemp); 40 ui->m_ctrlLbListTime2->setText(strTemp);
  41 + qDebug() << "Steam Cook Time : " <<timetemp;
40 //콤비 조리 모드 42 //콤비 조리 모드
41 timetemp = ovs->srvdatas->use_log.items.cook_combi_mode; 43 timetemp = ovs->srvdatas->use_log.items.cook_combi_mode;
42 totaltime += timetemp; 44 totaltime += timetemp;
43 strTemp.sprintf("%d h", timetemp/3600); 45 strTemp.sprintf("%d h", timetemp/3600);
44 ui->m_ctrlLbListTime3->setText(strTemp); 46 ui->m_ctrlLbListTime3->setText(strTemp);
  47 + qDebug() << "Combi Cook Time : " <<timetemp;
45 //세제없이 헹굼 48 //세제없이 헹굼
46 timetemp = ovs->srvdatas->use_log.items.wash_mode_nocleanser; 49 timetemp = ovs->srvdatas->use_log.items.wash_mode_nocleanser;
47 totaltime += timetemp; 50 totaltime += timetemp;
48 strTemp.sprintf("%d h", timetemp/3600); 51 strTemp.sprintf("%d h", timetemp/3600);
49 ui->m_ctrlLbListTime4->setText(strTemp); 52 ui->m_ctrlLbListTime4->setText(strTemp);
  53 + qDebug() << "Wash Nocleanser Time : " <<timetemp;
50 //간이 세척 54 //간이 세척
51 timetemp = ovs->srvdatas->use_log.items.wash_mode_simple; 55 timetemp = ovs->srvdatas->use_log.items.wash_mode_simple;
52 totaltime += timetemp; 56 totaltime += timetemp;
53 strTemp.sprintf("%d h", timetemp/3600); 57 strTemp.sprintf("%d h", timetemp/3600);
54 ui->m_ctrlLbListTime5->setText(strTemp); 58 ui->m_ctrlLbListTime5->setText(strTemp);
  59 + qDebug() << "Wash Simple Time : " <<timetemp;
55 //표준 세척 60 //표준 세척
56 timetemp = ovs->srvdatas->use_log.items.wash_mode_standard; 61 timetemp = ovs->srvdatas->use_log.items.wash_mode_standard;
57 totaltime += timetemp; 62 totaltime += timetemp;
58 strTemp.sprintf("%d h", timetemp/3600); 63 strTemp.sprintf("%d h", timetemp/3600);
59 ui->m_ctrlLbListTime6->setText(strTemp); 64 ui->m_ctrlLbListTime6->setText(strTemp);
  65 + qDebug() << "Wash Standard Time : " <<timetemp;
60 //강세척 66 //강세척
61 timetemp = ovs->srvdatas->use_log.items.wash_mode_strong; 67 timetemp = ovs->srvdatas->use_log.items.wash_mode_strong;
62 totaltime += timetemp; 68 totaltime += timetemp;
63 strTemp.sprintf("%d h", timetemp/3600); 69 strTemp.sprintf("%d h", timetemp/3600);
64 ui->m_ctrlLbListTime7->setText(strTemp); 70 ui->m_ctrlLbListTime7->setText(strTemp);
  71 + qDebug() << "Wash Strong Time : " <<timetemp;
65 //고속 세척 72 //고속 세척
66 timetemp = ovs->srvdatas->use_log.items.wash_mode_speed; 73 timetemp = ovs->srvdatas->use_log.items.wash_mode_speed;
67 totaltime += timetemp; 74 totaltime += timetemp;
68 strTemp.sprintf("%d h", timetemp/3600); 75 strTemp.sprintf("%d h", timetemp/3600);
69 ui->m_ctrlLbListTime8->setText(strTemp); 76 ui->m_ctrlLbListTime8->setText(strTemp);
  77 + qDebug() << "Wash Speed Time : " <<timetemp;
70 //쿨다운 78 //쿨다운
71 timetemp = ovs->srvdatas->use_log.items.cooldown_mode; 79 timetemp = ovs->srvdatas->use_log.items.cooldown_mode;
72 totaltime += timetemp; 80 totaltime += timetemp;
73 strTemp.sprintf("%d h", timetemp/3600); 81 strTemp.sprintf("%d h", timetemp/3600);
74 ui->m_ctrlLbListTime9->setText(strTemp); 82 ui->m_ctrlLbListTime9->setText(strTemp);
  83 + qDebug() << "Cool Down Time : " <<timetemp;
75 //전체 작동 시간 84 //전체 작동 시간
76 timetemp = totaltime; 85 timetemp = totaltime;
77 strTemp.sprintf("%d h", timetemp/3600); 86 strTemp.sprintf("%d h", timetemp/3600);
78 ui->m_ctrlLbListTime10->setText(strTemp); 87 ui->m_ctrlLbListTime10->setText(strTemp);
  88 + qDebug() << "Total Time : " <<timetemp;
79 } 89 }
80 } 90 }
app/gui/oven_control/ovenstatics.cpp
@@ -95,7 +95,7 @@ void OvenStatics::onDataChanged() @@ -95,7 +95,7 @@ void OvenStatics::onDataChanged()
95 95
96 errstatetemp = state.sensor_error; 96 errstatetemp = state.sensor_error;
97 if(errstatetemp!=0 && errstatetemp != curSensorErrorState ){ 97 if(errstatetemp!=0 && errstatetemp != curSensorErrorState ){
98 - processCommError( errstatetemp,ltime ); 98 + processSensorError(errstatetemp,ltime );
99 } 99 }
100 curSensorErrorState = errstatetemp; 100 curSensorErrorState = errstatetemp;
101 101
@@ -104,7 +104,7 @@ void OvenStatics::onDataChanged() @@ -104,7 +104,7 @@ void OvenStatics::onDataChanged()
104 104
105 void OvenStatics::processSensorError(uint16_t errflag, time_t ltime){ 105 void OvenStatics::processSensorError(uint16_t errflag, time_t ltime){
106 error_item *item; 106 error_item *item;
107 - QString strMsg = ""; 107 + QString strMsg = "",strTitle="";
108 uint8_t state; 108 uint8_t state;
109 if( control.system==0 && !oven->cooking()) state = SYS_OFF_COOK_OFF; 109 if( control.system==0 && !oven->cooking()) state = SYS_OFF_COOK_OFF;
110 else if(control.system != 0 && !oven->cooking()) state = SYS_ON_COOK_OFF; 110 else if(control.system != 0 && !oven->cooking()) state = SYS_ON_COOK_OFF;
@@ -113,63 +113,73 @@ void OvenStatics::processSensorError(uint16_t errflag, time_t ltime){ @@ -113,63 +113,73 @@ void OvenStatics::processSensorError(uint16_t errflag, time_t ltime){
113 113
114 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_1)){ 114 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_1)){
115 item = &(srvdatas->err_log.items.inner_temp_fail); 115 item = &(srvdatas->err_log.items.inner_temp_fail);
116 - strMsg = tr("내부 온도 이상 발생");  
117 - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_1],strMsg,ltime); 116 + strTitle = tr("내부 온도 이상 발생");
  117 + strMsg = tr("내부 온도 센서에 이상이 발생하였습니다.");
  118 + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_1],strMsg,strTitle, ltime);
118 } 119 }
119 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_2)){ 120 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_2)){
120 item = &(srvdatas->err_log.items.qunching_temp_fail); 121 item = &(srvdatas->err_log.items.qunching_temp_fail);
121 - strMsg = tr("퀀칭 온도 이상 발생");  
122 - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_2],strMsg,ltime); 122 + strTitle = tr("퀀칭 온도 이상 발생");
  123 + strMsg = tr("퀀칭 온도에 이상이 발생하였습니다.");
  124 + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_2],strMsg,strTitle, ltime);
123 } 125 }
124 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_3)){ 126 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_3)){
125 //Reserved allerrornoe 설정 127 //Reserved allerrornoe 설정
126 item = &(srvdatas->err_log.items.qunching_temp_fail); 128 item = &(srvdatas->err_log.items.qunching_temp_fail);
127 - strMsg = tr("퀀칭 온도 이상 발생");  
128 - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_3],strMsg,ltime); 129 + strTitle = tr("퀀칭 온도 이상 발생");
  130 + strMsg = tr("퀀칭 온도 센서에 이상이 발생하였습니다.");
  131 + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_3],strMsg,strTitle, ltime);
129 } 132 }
130 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_4)){ 133 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_4)){
131 item = &(srvdatas->err_log.items.wall_temp1_fail); 134 item = &(srvdatas->err_log.items.wall_temp1_fail);
132 - strMsg = tr("벽면 온도 이상 발생");  
133 - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_4],strMsg,ltime); 135 + strTitle = tr("벽면 온도 이상 발생");
  136 + strMsg = tr("벽면 온도 센서에 이상이 발생하였습니다.");
  137 + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_4],strMsg,strTitle, ltime);
134 } 138 }
135 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_5)){ 139 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_5)){
136 item = &(srvdatas->err_log.items.steam_gen_temp_fail); 140 item = &(srvdatas->err_log.items.steam_gen_temp_fail);
137 - strMsg = tr("스팀제네레이터 온도 이상 발생");  
138 - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_5],strMsg,ltime); 141 + strTitle = tr("스팀제네레이터 온도 이상 발생");
  142 + strMsg = tr("스팀제네레이터 온도 센서에 이상이 발생하였습니다.");
  143 + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_5],strMsg,strTitle, ltime);
139 } 144 }
140 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_6)){ 145 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_6)){
141 item = &(srvdatas->err_log.items.meatprove_temp1_fail); 146 item = &(srvdatas->err_log.items.meatprove_temp1_fail);
142 - strMsg = tr("미트프로브 온도 이상 발생");  
143 - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_6],strMsg,ltime); 147 + strTitle = tr("미트프로브 온도 이상 발생");
  148 + strMsg = tr("미트프로브 온도 센서에 이상이 발생하였습니다.");
  149 + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_6],strMsg,strTitle, ltime);
144 } 150 }
145 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_7)){ 151 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_7)){
146 //Reseved 152 //Reseved
147 item = &(srvdatas->err_log.items.meatprove_temp2_fail); 153 item = &(srvdatas->err_log.items.meatprove_temp2_fail);
148 - strMsg = tr("미트프로브2 온도 이상 발생");  
149 - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_7],strMsg,ltime); 154 + strTitle = tr("미트프로브2 온도 이상 발생");
  155 + strMsg = tr("미트프로브2 온도 센서에 이상이 발생하였습니다.");
  156 + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_7],strMsg , strTitle, ltime);
150 } 157 }
151 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_8)){ 158 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_8)){
152 //Reserved 159 //Reserved
153 item = &(srvdatas->err_log.items.meatprove_temp3_fail); 160 item = &(srvdatas->err_log.items.meatprove_temp3_fail);
154 - strMsg = tr("미트프로브3 온도 이상 발생");  
155 - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_8],strMsg,ltime); 161 + strMsg = tr("미트프로브3 온도 센서에 이상이 발생하였습니다.");
  162 + strTitle = tr("미트프로브3 온도 이상 발생");
  163 + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_8],strMsg,strTitle, ltime);
156 } 164 }
157 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_9)){ 165 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_9)){
158 //Reserved 166 //Reserved
159 item = &(srvdatas->err_log.items.meatprove_temp4_fail); 167 item = &(srvdatas->err_log.items.meatprove_temp4_fail);
160 - strMsg = tr("미트프로브4 온도 이상 발생");  
161 - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_9],strMsg,ltime); 168 + strMsg = tr("미트프로브4 온도 센서에 이상이 발생하였습니다.");
  169 + strTitle = tr("미트프로브4 온도 이상 발생");
  170 + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_9],strMsg,strTitle, ltime);
162 } 171 }
163 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_10)){ 172 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_10)){
164 item = &(srvdatas->err_log.items.pcb_temp_fail); 173 item = &(srvdatas->err_log.items.pcb_temp_fail);
165 - strMsg = tr("PCB 온도 이상 발생");  
166 - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_10],strMsg,ltime); 174 + strMsg = tr("PCB 온도 센서에 이상이 발생하였습니다.");
  175 + strTitle = tr("PCB 온도 이상 발생");
  176 + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_10],strMsg,strTitle, ltime);
167 } 177 }
168 } 178 }
169 179
170 void OvenStatics::processCommError(uint16_t errflag, time_t ltime){ 180 void OvenStatics::processCommError(uint16_t errflag, time_t ltime){
171 error_item *item; 181 error_item *item;
172 - QString strMsg = ""; 182 + QString strMsg = "",strTitle="";
173 uint8_t state; 183 uint8_t state;
174 if( control.system==0 && !oven->cooking()) state = SYS_OFF_COOK_OFF; 184 if( control.system==0 && !oven->cooking()) state = SYS_OFF_COOK_OFF;
175 else if(control.system != 0 && !oven->cooking()) state = SYS_ON_COOK_OFF; 185 else if(control.system != 0 && !oven->cooking()) state = SYS_ON_COOK_OFF;
@@ -179,33 +189,38 @@ void OvenStatics::processCommError(uint16_t errflag, time_t ltime){ @@ -179,33 +189,38 @@ void OvenStatics::processCommError(uint16_t errflag, time_t ltime){
179 if(errflag & MAKE_MASK(COMM_ERR_BUNNER1)){ 189 if(errflag & MAKE_MASK(COMM_ERR_BUNNER1)){
180 item = &(srvdatas->err_log.items.upper_pan_fail); 190 item = &(srvdatas->err_log.items.upper_pan_fail);
181 strMsg = tr("상부 송풍기 이상 발생"); 191 strMsg = tr("상부 송풍기 이상 발생");
182 - processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER1],strMsg,ltime); 192 + strTitle = tr("상부 송풍기 이상 발생");
  193 + processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER1],strMsg,strTitle, ltime);
183 } 194 }
184 if(errflag & MAKE_MASK(COMM_ERR_BUNNER2)){ 195 if(errflag & MAKE_MASK(COMM_ERR_BUNNER2)){
185 item = &(srvdatas->err_log.items.lower_pan_fail); 196 item = &(srvdatas->err_log.items.lower_pan_fail);
186 strMsg = tr("하부 송풍기 이상 발생"); 197 strMsg = tr("하부 송풍기 이상 발생");
187 - processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER2],strMsg,ltime); 198 + strTitle = tr("하부 송풍기 이상 발생");
  199 + processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER2],strMsg,strTitle, ltime);
188 } 200 }
189 if(errflag & MAKE_MASK(COMM_ERR_BUNNER3)){ 201 if(errflag & MAKE_MASK(COMM_ERR_BUNNER3)){
190 item = &(srvdatas->err_log.items.steam_pan_fail); 202 item = &(srvdatas->err_log.items.steam_pan_fail);
191 strMsg = tr("스팀 송풍기 이상 발생"); 203 strMsg = tr("스팀 송풍기 이상 발생");
192 - processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER3],strMsg,ltime); 204 + strTitle = tr("스팀 송풍기 이상 발생");
  205 + processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER3],strMsg,strTitle, ltime);
193 } 206 }
194 - if(errflag & MAKE_MASK(COMM_ERR_LOWERPAN)){ 207 + if(errflag & MAKE_MASK(COMM_ERR_LOWERFAN)){
195 item = &(srvdatas->err_log.items.lower_motor_fail); 208 item = &(srvdatas->err_log.items.lower_motor_fail);
196 - strMsg = tr("상부 모터 컨트롤러 이상 발생");  
197 - processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER2],strMsg,ltime); 209 + strMsg = tr("하부 모터 컨트롤러 이상 발생");
  210 + strTitle = tr("하부 모터 컨트롤러 이상 발생");
  211 + processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER2],strMsg,strTitle, ltime);
198 } 212 }
199 if(errflag & MAKE_MASK(COMM_ERR_UPPERFAN)){ 213 if(errflag & MAKE_MASK(COMM_ERR_UPPERFAN)){
200 item = &(srvdatas->err_log.items.upper_motor_fail); 214 item = &(srvdatas->err_log.items.upper_motor_fail);
201 strMsg = tr("상부 모터 컨트롤러 이상 발생"); 215 strMsg = tr("상부 모터 컨트롤러 이상 발생");
202 - processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER2],strMsg,ltime); 216 + strTitle = tr("상부 모터 컨트롤러 이상 발생");
  217 + processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER2],strMsg,strTitle, ltime);
203 } 218 }
204 } 219 }
205 220
206 void OvenStatics::processSystemError(uint16_t errflag,time_t ltime){ 221 void OvenStatics::processSystemError(uint16_t errflag,time_t ltime){
207 error_item *item; 222 error_item *item;
208 - QString strMsg = ""; 223 + QString strMsg = "",strTitle = "";
209 uint8_t state; 224 uint8_t state;
210 if( control.system==0 && !oven->cooking()) state = SYS_OFF_COOK_OFF; 225 if( control.system==0 && !oven->cooking()) state = SYS_OFF_COOK_OFF;
211 else if(control.system != 0 && !oven->cooking()) state = SYS_ON_COOK_OFF; 226 else if(control.system != 0 && !oven->cooking()) state = SYS_ON_COOK_OFF;
@@ -216,52 +231,67 @@ void OvenStatics::processSystemError(uint16_t errflag,time_t ltime){ @@ -216,52 +231,67 @@ void OvenStatics::processSystemError(uint16_t errflag,time_t ltime){
216 //버너 컨트롤러 1 착화 이상 231 //버너 컨트롤러 1 착화 이상
217 item = &(srvdatas->err_log.items.upper_fire_fail); 232 item = &(srvdatas->err_log.items.upper_fire_fail);
218 strMsg = tr("상부 버너 착하가 되지 않습니다."); 233 strMsg = tr("상부 버너 착하가 되지 않습니다.");
219 - processErrorItems(item, sys_err_type_def[state][SYS_ERR_FIRE_TRIGGER1],strMsg,ltime); 234 + strTitle = tr("상부 버너 착하 이상 발생");
  235 + processErrorItems(item, sys_err_type_def[state][SYS_ERR_FIRE_TRIGGER1],strMsg,strTitle,ltime);
220 } 236 }
221 if(errflag & MAKE_MASK(SYS_ERR_FIRE_TRIGGER2)){ 237 if(errflag & MAKE_MASK(SYS_ERR_FIRE_TRIGGER2)){
222 //버너 컨트롤러 2 착화 이상 238 //버너 컨트롤러 2 착화 이상
223 item = &(srvdatas->err_log.items.lower_fire_fail); 239 item = &(srvdatas->err_log.items.lower_fire_fail);
224 strMsg = tr("하부 버너 착하가 되지 않습니다."); 240 strMsg = tr("하부 버너 착하가 되지 않습니다.");
225 - processErrorItems(item, sys_err_type_def[state][SYS_ERR_FIRE_TRIGGER2],strMsg,ltime); 241 + strTitle = tr("하부 버너 착하 이상 발생");
  242 + processErrorItems(item, sys_err_type_def[state][SYS_ERR_FIRE_TRIGGER2],strMsg,strTitle,ltime);
226 } 243 }
227 - if(errflag & SYS_ERR_FIRE_TRIGGER3){ 244 + if(errflag & MAKE_MASK(SYS_ERR_FIRE_TRIGGER3)){
228 item = &(srvdatas->err_log.items.steam_fire_fail); 245 item = &(srvdatas->err_log.items.steam_fire_fail);
229 strMsg = tr("스팀 버너 착하가 되지 않습니다."); 246 strMsg = tr("스팀 버너 착하가 되지 않습니다.");
230 - processErrorItems(item, sys_err_type_def[state][SYS_ERR_FIRE_TRIGGER3],strMsg,ltime); 247 + strMsg = tr("스팀 버너 착하 이상 발생");
  248 + processErrorItems(item, sys_err_type_def[state][SYS_ERR_FIRE_TRIGGER3],strMsg,strTitle,ltime);
231 } 249 }
232 if(errflag & MAKE_MASK(SYS_ERR_OVNE_TEMP_ALARM)){ 250 if(errflag & MAKE_MASK(SYS_ERR_OVNE_TEMP_ALARM)){
233 item = &(srvdatas->err_log.items.inner_temp_high_alarm); 251 item = &(srvdatas->err_log.items.inner_temp_high_alarm);
234 - strMsg = tr("내부 온도 과열 발생.");  
235 - processErrorItems(item, sys_err_type_def[state][SYS_ERR_OVNE_TEMP_ALARM],strMsg,ltime); 252 + strMsg = tr("내부 온도가 과열되었습니다.");
  253 + strTitle = tr("내부 온도 과열 발생");
  254 + processErrorItems(item, sys_err_type_def[state][SYS_ERR_OVNE_TEMP_ALARM],strMsg,strTitle,ltime);
236 } 255 }
237 if(errflag & MAKE_MASK(SYS_ERR_QUN_TEMP_ALARM)){ 256 if(errflag & MAKE_MASK(SYS_ERR_QUN_TEMP_ALARM)){
238 //퀀칭 온도 센서 과열 257 //퀀칭 온도 센서 과열
239 item = &(srvdatas->err_log.items.qunching_temp_high_alarm); 258 item = &(srvdatas->err_log.items.qunching_temp_high_alarm);
240 - strMsg = tr("퀀칭 온도 센서 이상 발생.");  
241 - processErrorItems(item, sys_err_type_def[state][SYS_ERR_QUN_TEMP_ALARM],strMsg,ltime); 259 + strTitle = tr("퀀칭 온도 센서 이상 발생");
  260 + strMsg = tr("퀀칭 온도 센서가 과열되었습니다");
  261 + processErrorItems(item, sys_err_type_def[state][SYS_ERR_QUN_TEMP_ALARM],strMsg,strTitle,ltime);
242 } 262 }
243 if(errflag & MAKE_MASK(SYS_ERR_CENTER_TEMP_ALARM)){ 263 if(errflag & MAKE_MASK(SYS_ERR_CENTER_TEMP_ALARM)){
244 //중심 온도 과열 264 //중심 온도 과열
245 item = &(srvdatas->err_log.items.meatprove_temp1_high_alarm); 265 item = &(srvdatas->err_log.items.meatprove_temp1_high_alarm);
246 - strMsg = tr("미트프로브 온도 센서 이상 발생.");  
247 - processErrorItems(item, sys_err_type_def[state][SYS_ERR_CENTER_TEMP_ALARM],strMsg,ltime); 266 + strTitle = tr("미트프로브 온도 센서 이상 발생.");
  267 + strMsg = tr("미트프로브 온도 센서 과열되었습니다.");
  268 + processErrorItems(item, sys_err_type_def[state][SYS_ERR_CENTER_TEMP_ALARM],strMsg,strTitle,ltime);
248 } 269 }
249 if(errflag & MAKE_MASK(SYS_ERR_WALL_TEMP_ALARM)){ 270 if(errflag & MAKE_MASK(SYS_ERR_WALL_TEMP_ALARM)){
250 item = &(srvdatas->err_log.items.wall_temp1_high_alarm); 271 item = &(srvdatas->err_log.items.wall_temp1_high_alarm);
251 - strMsg = tr("벽면 온도 센서 이상 발생.");  
252 - processErrorItems(item, sys_err_type_def[state][SYS_ERR_WALL_TEMP_ALARM],strMsg,ltime);  
253 - } 272 + strTitle = tr("벽면 온도 센서 이상 발생.");
  273 + strMsg = tr("벽면 온도 센서가 과열 되었습니다.");
  274 + processErrorItems(item, sys_err_type_def[state][SYS_ERR_WALL_TEMP_ALARM],strMsg,strTitle,ltime);
  275 + }
  276 + if(errflag & MAKE_MASK(SYS_ERR_STAM_TEMP_ALARM)){
  277 + item = &(srvdatas->err_log.items.steam_gen_temp_high_alram);
  278 + strTitle = tr("스팀제네레이터 온도 과열 발생.");
  279 + strMsg = tr("스팀제네레이터 온도 센서 과열이 발생되었습니다.");
  280 + processErrorItems(item, sys_err_type_def[state][SYS_ERR_STAM_TEMP_ALARM],strMsg,strTitle,ltime);
  281 + }
254 if(errflag & MAKE_MASK(SYS_ERR_WATER_SPLY_FAIL)){ 282 if(errflag & MAKE_MASK(SYS_ERR_WATER_SPLY_FAIL)){
255 //급수 이상 -> 유량 센서 이상 283 //급수 이상 -> 유량 센서 이상
256 item = &(srvdatas->err_log.items.water_level_sensor_fail); 284 item = &(srvdatas->err_log.items.water_level_sensor_fail);
  285 + strTitle = tr("급수 이상 발생");
257 strMsg = tr("급수가 되지 않습니다."); 286 strMsg = tr("급수가 되지 않습니다.");
258 - processErrorItems(item, sys_err_type_def[state][SYS_ERR_WATER_SPLY_FAIL],strMsg,ltime); 287 + processErrorItems(item, sys_err_type_def[state][SYS_ERR_WATER_SPLY_FAIL],strMsg,strTitle,ltime);
259 } 288 }
260 if(errflag & MAKE_MASK(SYS_ERR_WATER_LEVEL_FAIL)){ 289 if(errflag & MAKE_MASK(SYS_ERR_WATER_LEVEL_FAIL)){
261 //급수 이상 -> 수위 센서 이상 290 //급수 이상 -> 수위 센서 이상
262 item = &(srvdatas->err_log.items.water_level_sensor_fail); 291 item = &(srvdatas->err_log.items.water_level_sensor_fail);
  292 + strTitle = tr("급수 이상 발생");
263 strMsg = tr("급수가 되지 않습니다."); 293 strMsg = tr("급수가 되지 않습니다.");
264 - processErrorItems(item, sys_err_type_def[state][SYS_ERR_WATER_LEVEL_FAIL],strMsg,ltime); 294 + processErrorItems(item, sys_err_type_def[state][SYS_ERR_WATER_LEVEL_FAIL],strMsg,strTitle,ltime);
265 } 295 }
266 } 296 }
267 297
@@ -319,7 +349,7 @@ void OvenStatics::oneSecTimerFired(void){ @@ -319,7 +349,7 @@ void OvenStatics::oneSecTimerFired(void){
319 } 349 }
320 else srvdatas->use_log.items.cook_combi_mode+=1; 350 else srvdatas->use_log.items.cook_combi_mode+=1;
321 } 351 }
322 - if(state.cleaning_mode !=0){ 352 + if(state.cleaning_mode !=0 && state.cleaning_sate !=0){
323 switch (state.cleaning_mode) { 353 switch (state.cleaning_mode) {
324 case (uint16_t)wash_mode_nocleanser: 354 case (uint16_t)wash_mode_nocleanser:
325 srvdatas->use_log.items.wash_mode_nocleanser+=1; 355 srvdatas->use_log.items.wash_mode_nocleanser+=1;
@@ -382,7 +412,7 @@ void OvenStatics::oneSecTimerFired(void){ @@ -382,7 +412,7 @@ void OvenStatics::oneSecTimerFired(void){
382 realdata.b.qnv_open = (state.onoff_state2&LOAD_STATE2_QNV)==0?0:1; 412 realdata.b.qnv_open = (state.onoff_state2&LOAD_STATE2_QNV)==0?0:1;
383 realdata.b.sgnv_open = (state.onoff_state2&LOAD_STATE2_SGNV)==0?0:1; 413 realdata.b.sgnv_open = (state.onoff_state2&LOAD_STATE2_SGNV)==0?0:1;
384 realdata.b.snv_open = (state.onoff_state2&LOAD_STATE2_SNV)==0?0:1; 414 realdata.b.snv_open = (state.onoff_state2&LOAD_STATE2_SNV)==0?0:1;
385 - realdata.b.ssp_opne = (state.onoff_state2&LOAD_STATE2_SSP)==0?0:1; 415 + realdata.b.wsv_open = (state.onoff_state2&LOAD_STATE2_WSV)==0?0:1;
386 realdata.b.ssv_open = (state.onoff_state2&LOAD_STATE2_SSV)==0?0:1; 416 realdata.b.ssv_open = (state.onoff_state2&LOAD_STATE2_SSV)==0?0:1;
387 realdata.b.water_level = 0; 417 realdata.b.water_level = 0;
388 418
@@ -462,8 +492,9 @@ void OvenStatics::oneSecTimerFired(void){ @@ -462,8 +492,9 @@ void OvenStatics::oneSecTimerFired(void){
462 492
463 } 493 }
464 494
465 -void OvenStatics::processErrorItems(error_item *item, error_exe_type errtype, const QString &MsgDesc, time_t ltime){ 495 +void OvenStatics::processErrorItems(error_item *item, error_exe_type errtype, const QString &MsgDesc, const QString &MsgTitle, time_t ltime){
466 496
  497 + qDebug() << (int) (item - &(srvdatas->err_log.values[0])) << "ERROR Fired!";
467 if(m_pLastErrItem == item ){ 498 if(m_pLastErrItem == item ){
468 srvdatas->err_log.items.repeat_error.fired_cnt =item->fired_cnt; 499 srvdatas->err_log.items.repeat_error.fired_cnt =item->fired_cnt;
469 srvdatas->err_log.items.repeat_error.first_fired = item->first_fired; 500 srvdatas->err_log.items.repeat_error.first_fired = item->first_fired;
@@ -481,11 +512,11 @@ void OvenStatics::processErrorItems(error_item *item, error_exe_type errtype, co @@ -481,11 +512,11 @@ void OvenStatics::processErrorItems(error_item *item, error_exe_type errtype, co
481 case error_type_popclr: 512 case error_type_popclr:
482 case error_type_popnonclr: 513 case error_type_popnonclr:
483 { 514 {
484 - errorPopupDlg *dlg = new errorPopupDlg(QApplication::activeWindow(),MsgDesc); 515 + errorPopupDlg *dlg = new errorPopupDlg(QApplication::activeWindow(),MsgDesc,MsgTitle);
485 dlg->exec(); 516 dlg->exec();
486 break; 517 break;
487 } 518 }
488 - case error_type_engclr: 519 + case error_type_engclr:
489 case error_type_engnonclr: 520 case error_type_engnonclr:
490 case error_type_onlyeng: 521 case error_type_onlyeng:
491 { 522 {
app/gui/oven_control/ovenstatics.h
@@ -104,7 +104,7 @@ enum comm_err_id{ @@ -104,7 +104,7 @@ enum comm_err_id{
104 COMM_ERR_BUNNER2 , 104 COMM_ERR_BUNNER2 ,
105 COMM_ERR_BUNNER3 , 105 COMM_ERR_BUNNER3 ,
106 COMM_ERR_UPPERFAN , 106 COMM_ERR_UPPERFAN ,
107 - COMM_ERR_LOWERPAN 107 + COMM_ERR_LOWERFAN
108 }; 108 };
109 109
110 enum sensor_err_id{ 110 enum sensor_err_id{
@@ -150,7 +150,7 @@ typedef union @@ -150,7 +150,7 @@ typedef union
150 { 150 {
151 uint32_t reserved : 9; 151 uint32_t reserved : 9;
152 uint32_t door_open : 1; 152 uint32_t door_open : 1;
153 - uint32_t ssp_opne : 1; 153 + uint32_t wsv_open : 1;
154 uint32_t dv_open : 1; 154 uint32_t dv_open : 1;
155 uint32_t sgnv_open : 1; 155 uint32_t sgnv_open : 1;
156 uint32_t water_level : 16; 156 uint32_t water_level : 16;
@@ -234,7 +234,7 @@ private: @@ -234,7 +234,7 @@ private:
234 void processSystemError(uint16_t errflag,time_t ltime); 234 void processSystemError(uint16_t errflag,time_t ltime);
235 void processCommError(uint16_t errflag,time_t ltime); 235 void processCommError(uint16_t errflag,time_t ltime);
236 void processSensorError(uint16_t errflag, time_t ltime); 236 void processSensorError(uint16_t errflag, time_t ltime);
237 - void processErrorItems(error_item *item, error_exe_type errtype, const QString &MsgDesc, time_t ltime); 237 + void processErrorItems(error_item *item, error_exe_type errtype, const QString &MsgDesc,const QString &MsgTitle, time_t ltime);
238 238
239 239
240 public slots: 240 public slots:
app/gui/oven_control/realtimepartswindow.cpp
@@ -83,7 +83,7 @@ void realtimePartsWindow::reloadUi(void){ @@ -83,7 +83,7 @@ void realtimePartsWindow::reloadUi(void){
83 if(realdata.b.dv_open) ui->m_ctrlLbListState_1_6->setText(tr("ON")); 83 if(realdata.b.dv_open) ui->m_ctrlLbListState_1_6->setText(tr("ON"));
84 else ui->m_ctrlLbListState_1_6->setText(tr("OFF")); 84 else ui->m_ctrlLbListState_1_6->setText(tr("OFF"));
85 85
86 - if(realdata.b.ssp_opne) ui->m_ctrlLbListState_1_7->setText(tr("ON")); 86 + if(realdata.b.wsv_open) ui->m_ctrlLbListState_1_7->setText(tr("ON"));
87 else ui->m_ctrlLbListState_1_7->setText(tr("OFF")); 87 else ui->m_ctrlLbListState_1_7->setText(tr("OFF"));
88 88
89 if(realdata.b.door_open) ui->m_ctrlLbListState_1_8->setText(tr("ON")); 89 if(realdata.b.door_open) ui->m_ctrlLbListState_1_8->setText(tr("ON"));