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 5  
6 6 #define MAJOR_VER 0
7 7 #define MINOR_VER 3
8   -#define HOTFIX_VER 14
  8 +#define HOTFIX_VER 15
9 9  
10 10 namespace Define
11 11 {
... ...
app/gui/oven_control/ovenstatics.cpp
... ... @@ -93,11 +93,11 @@ void OvenStatistics::onDataChanged()
93 93 }
94 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 102 errstatetemp = state.sensor_error;
103 103 if(errstatetemp!=0 && errstatetemp != curSensorErrorState ){
... ... @@ -105,11 +105,11 @@ void OvenStatistics::onDataChanged()
105 105 }
106 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 367 static int nOneSecCnt=1;
368 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 378 ltime = time(NULL);
371 379  
372 380 nOneSecCnt++;
... ... @@ -374,11 +382,55 @@ void OvenStatistics::oneSecTimerFired(void){
374 382 srvdata->saveServiceData();
375 383 }
376 384  
  385 +
377 386 if(bDataRefreshed) bDataRefreshed= false;
378 387 else{
379 388 udp->fillControl(control);
380 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 435 if( (state.onoff_state1 & LOAD_STATE1_STEAM_BUNNER) !=0){
384 436 srvdata->use_log.items.steam_heat +=1;
... ...