Commit 2189b57d9aab28ac708bd0ad6c2168a91badc6c8

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

GUI V0.3.15

 - 0.3.15 버전 변경
 - 통신에러 30초간 감지 후 발생
app/gui/oven_control/define.h
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
5 5
6 #define MAJOR_VER 0 6 #define MAJOR_VER 0
7 #define MINOR_VER 3 7 #define MINOR_VER 3
8 -#define HOTFIX_VER 14 8 +#define HOTFIX_VER 15
9 9
10 namespace Define 10 namespace Define
11 { 11 {
app/gui/oven_control/ovenstatics.cpp
@@ -93,11 +93,11 @@ void OvenStatistics::onDataChanged() @@ -93,11 +93,11 @@ void OvenStatistics::onDataChanged()
93 } 93 }
94 curSysErrorState = state.system_error; 94 curSysErrorState = state.system_error;
95 95
96 - errstatetemp = state.communication_error;  
97 - if(errstatetemp!=0 && errstatetemp != curCommErrorState ){  
98 - processCommError( (errstatetemp & comm_err_mask[cookingstate][cfg->getConfigValue(Define::config_model).d32]),ltime );  
99 - }  
100 - curCommErrorState = errstatetemp; 96 +// errstatetemp = state.communication_error;
  97 +// if(errstatetemp!=0 && errstatetemp != curCommErrorState ){
  98 +// processCommError( (errstatetemp & comm_err_mask[cookingstate][cfg->getConfigValue(Define::config_model).d32]),ltime );
  99 +// }
  100 +// curCommErrorState = errstatetemp;
101 101
102 errstatetemp = state.sensor_error; 102 errstatetemp = state.sensor_error;
103 if(errstatetemp!=0 && errstatetemp != curSensorErrorState ){ 103 if(errstatetemp!=0 && errstatetemp != curSensorErrorState ){
@@ -105,11 +105,11 @@ void OvenStatistics::onDataChanged() @@ -105,11 +105,11 @@ void OvenStatistics::onDataChanged()
105 } 105 }
106 curSensorErrorState = errstatetemp; 106 curSensorErrorState = errstatetemp;
107 107
108 - errstatetemp = state.controller_error;  
109 - if(errstatetemp != 0 && errstatetemp != curControlErrorState){  
110 - processStateError((errstatetemp&state_err_mask[cookingstate][cfg->getConfigValue(Define::config_model).d32]),ltime);  
111 - }  
112 - curControlErrorState = errstatetemp; 108 +// errstatetemp = state.controller_error;
  109 +// if(errstatetemp != 0 && errstatetemp != curControlErrorState){
  110 +// processStateError((errstatetemp&state_err_mask[cookingstate][cfg->getConfigValue(Define::config_model).d32]),ltime);
  111 +// }
  112 +// curControlErrorState = errstatetemp;
113 113
114 } 114 }
115 115
@@ -367,6 +367,14 @@ void OvenStatistics::oneSecTimerFired(void){ @@ -367,6 +367,14 @@ void OvenStatistics::oneSecTimerFired(void){
367 static int nOneSecCnt=1; 367 static int nOneSecCnt=1;
368 time_t ltime; 368 time_t ltime;
369 369
  370 + static int nStateErrValStableCnt = 0;
  371 + static int nCommErrValStableCnt = 0;
  372 + static uint16_t nCommErrVal = 0;
  373 + static uint16_t nStateErrVal = 0;
  374 + uint16_t errstatetemp=0;
  375 + int cookingstate=0;
  376 + if((control.cooking || oven->cooking() || oven->preheating() || oven->cooldown())) cookingstate =1;
  377 +
370 ltime = time(NULL); 378 ltime = time(NULL);
371 379
372 nOneSecCnt++; 380 nOneSecCnt++;
@@ -374,11 +382,55 @@ void OvenStatistics::oneSecTimerFired(void){ @@ -374,11 +382,55 @@ void OvenStatistics::oneSecTimerFired(void){
374 srvdata->saveServiceData(); 382 srvdata->saveServiceData();
375 } 383 }
376 384
  385 +
377 if(bDataRefreshed) bDataRefreshed= false; 386 if(bDataRefreshed) bDataRefreshed= false;
378 else{ 387 else{
379 udp->fillControl(control); 388 udp->fillControl(control);
380 udp->fillData(state); 389 udp->fillData(state);
381 } 390 }
  391 +
  392 + if(nCommErrVal != state.communication_error){
  393 + nCommErrVal = state.communication_error;
  394 + if(nCommErrVal ==0) {
  395 + curCommErrorState = nCommErrVal;
  396 + nCommErrValStableCnt = 60;
  397 + }
  398 + else {
  399 + nCommErrValStableCnt=0;
  400 + }
  401 + }
  402 + else{
  403 + if(nCommErrValStableCnt >=60){
  404 + errstatetemp = state.communication_error;
  405 + if(errstatetemp!=0 && errstatetemp != curCommErrorState ){
  406 + processCommError( (errstatetemp & comm_err_mask[cookingstate][cfg->getConfigValue(Define::config_model).d32]),ltime );
  407 + }
  408 + curCommErrorState = errstatetemp;
  409 + }
  410 + else nCommErrValStableCnt++;
  411 + }
  412 +
  413 + if(nStateErrVal != state.controller_error){
  414 + nStateErrVal = state.controller_error;
  415 + if(nStateErrVal == 0 ) {
  416 + curControlErrorState = nStateErrVal;
  417 + nStateErrValStableCnt=60;
  418 + }
  419 + else{
  420 + nStateErrValStableCnt=0;
  421 + }
  422 + }
  423 + else{
  424 + if(nStateErrValStableCnt>=60){
  425 + errstatetemp = state.controller_error;
  426 + if(errstatetemp != 0 && errstatetemp != curControlErrorState){
  427 + processStateError((errstatetemp&state_err_mask[cookingstate][cfg->getConfigValue(Define::config_model).d32]),ltime);
  428 + }
  429 + curControlErrorState = errstatetemp;
  430 + }
  431 + else nStateErrValStableCnt++;
  432 + }
  433 +
382 //가열부 시간 측정 434 //가열부 시간 측정
383 if( (state.onoff_state1 & LOAD_STATE1_STEAM_BUNNER) !=0){ 435 if( (state.onoff_state1 & LOAD_STATE1_STEAM_BUNNER) !=0){
384 srvdata->use_log.items.steam_heat +=1; 436 srvdata->use_log.items.steam_heat +=1;