Commit 15e45c49cc202203a2162c26b913726eb5d38624

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

세척 에러 유형 추가 및 에러 발생 동작 수정

 - 에러 팝업 문구 수정
 - 에러 사운드 추가
app/gui/oven_control/configmastervolumedlg.cpp
  1 +
1 #include "configmastervolumedlg.h" 2 #include "configmastervolumedlg.h"
2 #include "ui_configmastervolumedlg.h" 3 #include "ui_configmastervolumedlg.h"
3 4
@@ -19,8 +20,9 @@ ConfigVolumeDlg::ConfigVolumeDlg(QWidget *parent, ConfigType type) : @@ -19,8 +20,9 @@ ConfigVolumeDlg::ConfigVolumeDlg(QWidget *parent, ConfigType type) :
19 qApp->setActiveWindow(this); 20 qApp->setActiveWindow(this);
20 this->setFocus(); 21 this->setFocus();
21 22
22 - foreach (QPushButton *button, findChildren<QPushButton *>())  
23 - connect(button, &QPushButton::pressed, SoundPlayer::playClick); 23 +
  24 + connect(ui->ctrBtnOk, &QPushButton::pressed, SoundPlayer::playClick);
  25 + connect(ui->ctrBtnCancel, &QPushButton::pressed, SoundPlayer::playClick);
24 26
25 27
26 if(type == config_keypad_sound2){ 28 if(type == config_keypad_sound2){
app/gui/oven_control/configwindow.cpp
@@ -283,17 +283,18 @@ void ConfigWindow::reloadUi(void){ @@ -283,17 +283,18 @@ void ConfigWindow::reloadUi(void){
283 283
284 Config* cfg = Config::getInstance(); 284 Config* cfg = Config::getInstance();
285 QString strtemp=""; 285 QString strtemp="";
  286 +
286 for(i = 0; i < m_vectorMenuList.count();i++){ 287 for(i = 0; i < m_vectorMenuList.count();i++){
287 pw = pws[i]; 288 pw = pws[i];
288 ui->scrollAreaMenuLayout->removeWidget(pw); 289 ui->scrollAreaMenuLayout->removeWidget(pw);
289 - delete pw; 290 + pw->deleteLater();
290 } 291 }
291 m_vectorMenuList.clear(); 292 m_vectorMenuList.clear();
292 293
293 for(i=0;i<m_vectorFavorMenuList.count();i++){ 294 for(i=0;i<m_vectorFavorMenuList.count();i++){
294 fpw = fpws[i]; 295 fpw = fpws[i];
295 ui->scrollAreaMenuLayout->removeWidget(fpw); 296 ui->scrollAreaMenuLayout->removeWidget(fpw);
296 - delete fpw; 297 + fpw->deleteLater();
297 } 298 }
298 m_vectorFavorMenuList.clear(); 299 m_vectorFavorMenuList.clear();
299 300
app/gui/oven_control/define.h
@@ -4,8 +4,8 @@ @@ -4,8 +4,8 @@
4 #include <QtCore> 4 #include <QtCore>
5 5
6 #define MAJOR_VER 0 6 #define MAJOR_VER 0
7 -#define MINOR_VER 3  
8 -#define HOTFIX_VER 15 7 +#define MINOR_VER 4
  8 +#define HOTFIX_VER 0
9 9
10 namespace Define 10 namespace Define
11 { 11 {
app/gui/oven_control/errorpopupdlg.cpp
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
5 #include "soundplayer.h" 5 #include "soundplayer.h"
6 #include "udphandler.h" 6 #include "udphandler.h"
7 7
8 -ErrorPopupDlg::ErrorPopupDlg(QWidget *parent, const QString &MsgDesc, const QString &MsgTitle, bool sendClrCmd,int erridx) : 8 +ErrorPopupDlg::ErrorPopupDlg(QWidget *parent, const QString &MsgDesc, const QString &MsgTitle, bool sendClrCmd,int erridx, int errsound) :
9 QDialog(parent), 9 QDialog(parent),
10 ui(new Ui::ErrorPopupDlg) 10 ui(new Ui::ErrorPopupDlg)
11 { 11 {
@@ -15,14 +15,36 @@ ErrorPopupDlg::ErrorPopupDlg(QWidget *parent, const QString &amp;MsgDesc, const QStr @@ -15,14 +15,36 @@ ErrorPopupDlg::ErrorPopupDlg(QWidget *parent, const QString &amp;MsgDesc, const QStr
15 this->setWindowFlags(Qt::FramelessWindowHint); 15 this->setWindowFlags(Qt::FramelessWindowHint);
16 16
17 //ui->centralwidget->setWindowFlags(Qt::FramelessWindowHint); 17 //ui->centralwidget->setWindowFlags(Qt::FramelessWindowHint);
  18 +
  19 + //if(MsgDesc.length()> )
  20 +
  21 + qDebug() << "msgdesc length is " << MsgDesc.length();
  22 +
  23 +
  24 +
  25 + if(MsgDesc.size()>100){
  26 + QFont font = ui->ctrlWarnDescription->font();
  27 + font.setPointSize(font.pointSize() - 1);
  28 + ui->ctrlWarnDescription->setFont(font);
  29 + }
  30 +
  31 +
  32 +
18 ui->ctrlWarnDescription->setText(MsgDesc); 33 ui->ctrlWarnDescription->setText(MsgDesc);
19 ui->ctrlWarnTitle->setText(MsgTitle); 34 ui->ctrlWarnTitle->setText(MsgTitle);
20 m_pParent = parent; 35 m_pParent = parent;
21 36
22 - foreach (QPushButton *button, findChildren<QPushButton *>())  
23 - connect(button, &QPushButton::pressed, SoundPlayer::playClick); 37 +// foreach (QPushButton *button, findChildren<QPushButton *>())
  38 +// connect(button, &QPushButton::pressed, SoundPlayer::playClick);
24 m_bClrCmd = sendClrCmd; 39 m_bClrCmd = sendClrCmd;
25 m_nErrIdx = erridx; 40 m_nErrIdx = erridx;
  41 +
  42 + if(errsound == 1){
  43 + SoundPlayer::repeatError1();
  44 + }
  45 + else if(errsound ==2){
  46 + SoundPlayer::repeatError2();
  47 + }
26 } 48 }
27 49
28 ErrorPopupDlg::~ErrorPopupDlg() 50 ErrorPopupDlg::~ErrorPopupDlg()
@@ -32,6 +54,7 @@ ErrorPopupDlg::~ErrorPopupDlg() @@ -32,6 +54,7 @@ ErrorPopupDlg::~ErrorPopupDlg()
32 54
33 void ErrorPopupDlg::on_ctrlOkBtn_clicked() 55 void ErrorPopupDlg::on_ctrlOkBtn_clicked()
34 { 56 {
  57 + SoundPlayer::stop();
35 emit closedErrorPopup(m_nErrIdx); 58 emit closedErrorPopup(m_nErrIdx);
36 qApp->setActiveWindow(m_pParent); 59 qApp->setActiveWindow(m_pParent);
37 this->hide(); 60 this->hide();
app/gui/oven_control/errorpopupdlg.h
@@ -12,7 +12,7 @@ class ErrorPopupDlg : public QDialog @@ -12,7 +12,7 @@ class ErrorPopupDlg : public QDialog
12 Q_OBJECT 12 Q_OBJECT
13 13
14 public: 14 public:
15 - explicit ErrorPopupDlg(QWidget *parent = 0, const QString &MsgDesc=0, const QString &MsgTitle=0, bool sendClrCmd = false, int erridx = -1); 15 + explicit ErrorPopupDlg(QWidget *parent = 0, const QString &MsgDesc=0, const QString &MsgTitle=0, bool sendClrCmd = false, int erridx = -1, int errsound=0);
16 ~ErrorPopupDlg(); 16 ~ErrorPopupDlg();
17 17
18 signals: 18 signals:
app/gui/oven_control/ovenstatics.cpp
@@ -74,6 +74,7 @@ void OvenStatistics::onDataChanged() @@ -74,6 +74,7 @@ void OvenStatistics::onDataChanged()
74 time(&ltime); 74 time(&ltime);
75 75
76 if((control.cooking || oven->cooking() || oven->preheating() || oven->cooldown())) cookingstate = 1; 76 if((control.cooking || oven->cooking() || oven->preheating() || oven->cooldown())) cookingstate = 1;
  77 + else if(state.cleaning_sate != 0 ) cookingstate = 2;
77 78
78 if(oven->cooking() && control.system){ 79 if(oven->cooking() && control.system){
79 if(state.door_state ==1 && curdoorstate==0){ 80 if(state.door_state ==1 && curdoorstate==0){
@@ -121,71 +122,72 @@ void OvenStatistics::processSensorError(uint16_t errflag, time_t ltime){ @@ -121,71 +122,72 @@ void OvenStatistics::processSensorError(uint16_t errflag, time_t ltime){
121 if( control.system==0 && !bCookingState ) state = SYS_OFF_COOK_OFF; 122 if( control.system==0 && !bCookingState ) state = SYS_OFF_COOK_OFF;
122 else if(control.system != 0 && !bCookingState) state = SYS_ON_COOK_OFF; 123 else if(control.system != 0 && !bCookingState) state = SYS_ON_COOK_OFF;
123 else if(control.system !=0 && bCookingState) state = SYS_ON_COOK_ON; 124 else if(control.system !=0 && bCookingState) state = SYS_ON_COOK_ON;
  125 + else if(control.system !=0 && this->state.cleaning_sate !=0 ) state = SYS_ON_WASH;
124 else state = SYS_ON_COOK_OFF; 126 else state = SYS_ON_COOK_OFF;
125 127
126 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_1)){ 128 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_1)){
127 item = &(srvdata->err_log.items.inner_temp_fail); 129 item = &(srvdata->err_log.items.inner_temp_fail);
128 - strTitle = tr("내부 온도 이상 발생");  
129 - strMsg = tr("내부 온도 센서에 이상이 발생하였습니다.");  
130 - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_1],strMsg,strTitle, ltime); 130 + strTitle = tr("내부 온도 센서 이상");
  131 + strMsg = tr("조리실 내부 온도센서 오류가 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오.");
  132 + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_1],strMsg,strTitle, ltime, sensor_err_sound_def[SENSOR_ERR_SENSOR_1]);
131 } 133 }
132 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_2)){ 134 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_2)){
133 item = &(srvdata->err_log.items.qunching_temp_fail); 135 item = &(srvdata->err_log.items.qunching_temp_fail);
134 - strTitle = tr("퀀칭 온도 이상 발생");  
135 - strMsg = tr("퀀칭 온도에 이상이 발생하였습니다.");  
136 - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_2],strMsg,strTitle, ltime); 136 + strTitle = tr("배수 탱크 온도 센서 이상");
  137 + strMsg = tr("배수 탱크 온도센서 오류가 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오.");
  138 + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_2],strMsg,strTitle, ltime,sensor_err_sound_def[SENSOR_ERR_SENSOR_2]);
137 } 139 }
138 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_3)){ 140 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_3)){
139 //Reserved allerrornoe 설정 141 //Reserved allerrornoe 설정
140 item = &(srvdata->err_log.items.qunching_temp_fail); 142 item = &(srvdata->err_log.items.qunching_temp_fail);
141 - strTitle = tr("퀀칭 온도 이상 발생");  
142 - strMsg = tr("퀀칭 온도 센서에 이상이 발생하였습니다.");  
143 - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_3],strMsg,strTitle, ltime); 143 + strTitle = tr("퀀칭 온도 센서 발생");
  144 + strMsg = tr("퀀칭 온도센서 오류가 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오.");
  145 + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_3],strMsg,strTitle, ltime,sensor_err_sound_def[SENSOR_ERR_SENSOR_3]);
144 } 146 }
145 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_4)){ 147 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_4)){
146 item = &(srvdata->err_log.items.wall_temp1_fail); 148 item = &(srvdata->err_log.items.wall_temp1_fail);
147 - strTitle = tr("벽면 온도 이상 발생");  
148 - strMsg = tr("벽면 온도 센서에 이상이 발생하였습니다.");  
149 - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_4],strMsg,strTitle, ltime); 149 + strTitle = tr("벽면 온도 센서 이상");
  150 + strMsg = tr("조리실 벽면 센서 오류가 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오.");
  151 + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_4],strMsg,strTitle, ltime,sensor_err_sound_def[SENSOR_ERR_SENSOR_4]);
150 } 152 }
151 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_5)){ 153 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_5)){
152 item = &(srvdata->err_log.items.steam_gen_temp_fail); 154 item = &(srvdata->err_log.items.steam_gen_temp_fail);
153 - strTitle = tr("스팀제네레이터 온도 이상 발생");  
154 - strMsg = tr("스팀제네레이터 온도 센서에 이상이 발생하였습니다.");  
155 - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_5],strMsg,strTitle, ltime); 155 + strTitle = tr("스팀발생기 온도 센서 이상");
  156 + strMsg = tr("스팀발생기 내부 센서 오류가 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오.");
  157 + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_5],strMsg,strTitle, ltime,sensor_err_sound_def[SENSOR_ERR_SENSOR_5]);
156 } 158 }
157 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_6)){ 159 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_6)){
158 item = &(srvdata->err_log.items.meatprove_temp1_fail); 160 item = &(srvdata->err_log.items.meatprove_temp1_fail);
159 - strTitle = tr("미트프로브 온도 이상 발생");  
160 - strMsg = tr("미트프로브 온도 센서에 이상이 발생하였습니다.");  
161 - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_6],strMsg,strTitle, ltime); 161 + strTitle = tr("중심온도 센서 이상");
  162 + strMsg = tr("중심온도계 센서 오류가 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오.");
  163 + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_6],strMsg,strTitle, ltime,sensor_err_sound_def[SENSOR_ERR_SENSOR_6]);
162 } 164 }
163 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_7)){ 165 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_7)){
164 //Reseved 166 //Reseved
165 item = &(srvdata->err_log.items.meatprove_temp2_fail); 167 item = &(srvdata->err_log.items.meatprove_temp2_fail);
166 - strTitle = tr("미트프로브2 온도 이상 발생");  
167 - strMsg = tr("미트프로브2 온도 센서에 이상이 발생하였습니다.");  
168 - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_7],strMsg , strTitle, ltime); 168 + strTitle = tr("중심온도 센서 이상");
  169 + strMsg = tr("중심온도계 센서 오류가 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오.");
  170 + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_7],strMsg , strTitle, ltime,sensor_err_sound_def[SENSOR_ERR_SENSOR_7]);
169 } 171 }
170 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_8)){ 172 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_8)){
171 //Reserved 173 //Reserved
172 item = &(srvdata->err_log.items.meatprove_temp3_fail); 174 item = &(srvdata->err_log.items.meatprove_temp3_fail);
173 - strMsg = tr("미트프로브3 온도 센서에 이상이 발생하였습니다.");  
174 - strTitle = tr("미트프로브3 온도 이상 발생");  
175 - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_8],strMsg,strTitle, ltime); 175 + strTitle = tr("중심온도 센서 이상");
  176 + strMsg = tr("중심온도계 센서 오류가 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오.");
  177 + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_8],strMsg,strTitle, ltime,sensor_err_sound_def[SENSOR_ERR_SENSOR_8]);
176 } 178 }
177 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_9)){ 179 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_9)){
178 //Reserved 180 //Reserved
179 item = &(srvdata->err_log.items.meatprove_temp4_fail); 181 item = &(srvdata->err_log.items.meatprove_temp4_fail);
180 - strMsg = tr("미트프로브4 온도 센서에 이상이 발생하였습니다.");  
181 - strTitle = tr("미트프로브4 온도 이상 발생");  
182 - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_9],strMsg,strTitle, ltime); 182 + strTitle = tr("중심온도 센서 이상");
  183 + strMsg = tr("중심온도계 센서 오류가 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오.");
  184 + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_9],strMsg,strTitle, ltime,sensor_err_sound_def[SENSOR_ERR_SENSOR_9]);
183 } 185 }
184 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_10)){ 186 if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_10)){
185 item = &(srvdata->err_log.items.pcb_temp_fail); 187 item = &(srvdata->err_log.items.pcb_temp_fail);
186 - strMsg = tr("PCB 온도 센서에 이상이 발생하였습니다.");  
187 - strTitle = tr("PCB 온도 이상 발생");  
188 - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_10],strMsg,strTitle, ltime); 188 + strTitle = tr("PCB온도 과열 이상");
  189 + strMsg = tr("PCB 과열 안전장치가 작동하였습니다.\n제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오.");
  190 + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_10],strMsg,strTitle, ltime,sensor_err_sound_def[SENSOR_ERR_SENSOR_10]);
189 } 191 }
190 } 192 }
191 193
@@ -197,37 +199,38 @@ void OvenStatistics::processCommError(uint16_t errflag, time_t ltime){ @@ -197,37 +199,38 @@ void OvenStatistics::processCommError(uint16_t errflag, time_t ltime){
197 if( control.system==0 && !bCookingState ) state = SYS_OFF_COOK_OFF; 199 if( control.system==0 && !bCookingState ) state = SYS_OFF_COOK_OFF;
198 else if(control.system != 0 && !bCookingState) state = SYS_ON_COOK_OFF; 200 else if(control.system != 0 && !bCookingState) state = SYS_ON_COOK_OFF;
199 else if(control.system !=0 && bCookingState) state = SYS_ON_COOK_ON; 201 else if(control.system !=0 && bCookingState) state = SYS_ON_COOK_ON;
  202 + else if(control.system !=0 && this->state.cleaning_sate !=0 ) state = SYS_ON_WASH;
200 else state = SYS_ON_COOK_OFF; 203 else state = SYS_ON_COOK_OFF;
201 204
202 if(errflag & MAKE_MASK(COMM_ERR_BUNNER1)){ 205 if(errflag & MAKE_MASK(COMM_ERR_BUNNER1)){
203 item = &(srvdata->err_log.items.upper_pan_fail); 206 item = &(srvdata->err_log.items.upper_pan_fail);
204 - strMsg = tr("상부 송풍기 통신 이상 발생");  
205 - strTitle = tr("상부 송풍기 이상 발생");  
206 - processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER1],strMsg,strTitle, ltime); 207 + strTitle = tr("상부 버너 컨트롤러 통신 이상");
  208 + strMsg = tr("상부 버너 컨트롤러 PCB 통신 불량이 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오.");
  209 + processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER1],strMsg,strTitle, ltime, comm_err_sound_def[COMM_ERR_BUNNER1]);
207 } 210 }
208 if(errflag & MAKE_MASK(COMM_ERR_BUNNER2)){ 211 if(errflag & MAKE_MASK(COMM_ERR_BUNNER2)){
209 item = &(srvdata->err_log.items.lower_pan_fail); 212 item = &(srvdata->err_log.items.lower_pan_fail);
210 - strMsg = tr("하부 송풍기 통신 이상 발생");  
211 - strTitle = tr("하부 송풍기 이상 발생");  
212 - processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER2],strMsg,strTitle, ltime); 213 + strTitle = tr("하부 버너 컨트롤러 통신 이상");
  214 + strMsg = tr("하 버너 컨트롤러 PCB 통신 불량이 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오.");
  215 + processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER2],strMsg,strTitle, ltime, comm_err_sound_def[COMM_ERR_BUNNER2]);
213 } 216 }
214 if(errflag & MAKE_MASK(COMM_ERR_BUNNER3)){ 217 if(errflag & MAKE_MASK(COMM_ERR_BUNNER3)){
215 item = &(srvdata->err_log.items.steam_pan_fail); 218 item = &(srvdata->err_log.items.steam_pan_fail);
216 - strMsg = tr("스팀 송풍기 통신 이상 발생");  
217 - strTitle = tr("스팀 송풍기 이상 발생");  
218 - processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER3],strMsg,strTitle, ltime); 219 + strTitle = tr("스팀 버너 컨트롤러 통신 이상");
  220 + strMsg = tr("스팀발생기 버너 컨트롤러 PCB 통신 불량이 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오.");
  221 + processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER3],strMsg,strTitle, ltime, comm_err_sound_def[COMM_ERR_BUNNER3]);
219 } 222 }
220 if(errflag & MAKE_MASK(COMM_ERR_LOWERFAN)){ 223 if(errflag & MAKE_MASK(COMM_ERR_LOWERFAN)){
221 item = &(srvdata->err_log.items.lower_motor_fail); 224 item = &(srvdata->err_log.items.lower_motor_fail);
222 - strMsg = tr("하부 FAN 컨트롤러 통신 이상 발생");  
223 - strTitle = tr("하부 FAN 컨트롤러 이상 발생");  
224 - processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER2],strMsg,strTitle, ltime); 225 + strTitle = tr("하부 FAN 모터 컨트롤러 이상");
  226 + strMsg = tr("하부 Fan 모터 컨트롤러 이상 상황이 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오.");
  227 + processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER2],strMsg,strTitle, ltime, comm_err_sound_def[COMM_ERR_LOWERFAN]);
225 } 228 }
226 if(errflag & MAKE_MASK(COMM_ERR_UPPERFAN)){ 229 if(errflag & MAKE_MASK(COMM_ERR_UPPERFAN)){
227 item = &(srvdata->err_log.items.upper_motor_fail); 230 item = &(srvdata->err_log.items.upper_motor_fail);
228 - strMsg = tr("상부 FAN 컨트롤러 통신 이상 발생");  
229 - strTitle = tr("상부 FAN 컨트롤러 이상 발생");  
230 - processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER2],strMsg,strTitle, ltime); 231 + strTitle = tr("상부 FAN 모터 컨트롤러 이상");
  232 + strMsg = tr("상부 Fan 모터 컨트롤러 이상 상황이 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오.");
  233 + processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER2],strMsg,strTitle, ltime, comm_err_sound_def[COMM_ERR_UPPERFAN]);
231 } 234 }
232 } 235 }
233 236
@@ -239,37 +242,38 @@ void OvenStatistics::processStateError(uint16_t errflag, time_t ltime){ @@ -239,37 +242,38 @@ void OvenStatistics::processStateError(uint16_t errflag, time_t ltime){
239 if( control.system==0 && !bCookingState ) state = SYS_OFF_COOK_OFF; 242 if( control.system==0 && !bCookingState ) state = SYS_OFF_COOK_OFF;
240 else if(control.system != 0 && !bCookingState) state = SYS_ON_COOK_OFF; 243 else if(control.system != 0 && !bCookingState) state = SYS_ON_COOK_OFF;
241 else if(control.system !=0 && bCookingState) state = SYS_ON_COOK_ON; 244 else if(control.system !=0 && bCookingState) state = SYS_ON_COOK_ON;
  245 + else if(control.system !=0 && this->state.cleaning_sate !=0 ) state = SYS_ON_WASH;
242 else state = SYS_ON_COOK_OFF; 246 else state = SYS_ON_COOK_OFF;
243 247
244 if(errflag & MAKE_MASK(STATE_ERR_BUNNER1)){ 248 if(errflag & MAKE_MASK(STATE_ERR_BUNNER1)){
245 item = &(srvdata->err_log.items.upper_pan_fail); 249 item = &(srvdata->err_log.items.upper_pan_fail);
246 strMsg = tr("버너컨트롤러 1 이상 발생하였습니다."); 250 strMsg = tr("버너컨트롤러 1 이상 발생하였습니다.");
247 strTitle = tr("버너컨트롤러 1 이상 발생"); 251 strTitle = tr("버너컨트롤러 1 이상 발생");
248 - processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER1],strMsg,strTitle, ltime); 252 + processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER1],strMsg,strTitle, ltime, state_err_sound_def[STATE_ERR_BUNNER1]);
249 } 253 }
250 if(errflag & MAKE_MASK(STATE_ERR_BUNNER2)){ 254 if(errflag & MAKE_MASK(STATE_ERR_BUNNER2)){
251 item = &(srvdata->err_log.items.lower_pan_fail); 255 item = &(srvdata->err_log.items.lower_pan_fail);
252 strMsg = tr("버너컨트롤러 2 이상 발생하였습니다."); 256 strMsg = tr("버너컨트롤러 2 이상 발생하였습니다.");
253 strTitle = tr("버너컨트롤러 2 이상 발생"); 257 strTitle = tr("버너컨트롤러 2 이상 발생");
254 - processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER2],strMsg,strTitle, ltime); 258 + processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER2],strMsg,strTitle, ltime, state_err_sound_def[STATE_ERR_BUNNER2]);
255 } 259 }
256 if(errflag & MAKE_MASK(STATE_ERR_BUNNER3)){ 260 if(errflag & MAKE_MASK(STATE_ERR_BUNNER3)){
257 item = &(srvdata->err_log.items.steam_pan_fail); 261 item = &(srvdata->err_log.items.steam_pan_fail);
258 strMsg = tr("버너컨트롤러 3 이상 발생하였습니다."); 262 strMsg = tr("버너컨트롤러 3 이상 발생하였습니다.");
259 strTitle = tr("버너컨트롤러 3 이상 발생"); 263 strTitle = tr("버너컨트롤러 3 이상 발생");
260 - processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER3],strMsg,strTitle, ltime); 264 + processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER3],strMsg,strTitle, ltime, state_err_sound_def[STATE_ERR_BUNNER3]);
261 } 265 }
262 if(errflag & MAKE_MASK(STATE_ERR_LOWERFAN)){ 266 if(errflag & MAKE_MASK(STATE_ERR_LOWERFAN)){
263 item = &(srvdata->err_log.items.lower_motor_fail); 267 item = &(srvdata->err_log.items.lower_motor_fail);
264 strMsg = tr("하부 FAN 컨트롤러 이상 발생하였습니다."); 268 strMsg = tr("하부 FAN 컨트롤러 이상 발생하였습니다.");
265 strTitle = tr("하부 FAN 컨트롤러 이상 발생"); 269 strTitle = tr("하부 FAN 컨트롤러 이상 발생");
266 - processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER2],strMsg,strTitle, ltime); 270 + processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER2],strMsg,strTitle, ltime, state_err_sound_def[STATE_ERR_LOWERFAN]);
267 } 271 }
268 if(errflag & MAKE_MASK(STATE_ERR_UPPERFAN)){ 272 if(errflag & MAKE_MASK(STATE_ERR_UPPERFAN)){
269 item = &(srvdata->err_log.items.upper_motor_fail); 273 item = &(srvdata->err_log.items.upper_motor_fail);
270 strMsg = tr("상부 FAN 컨트롤러 이상 발생하였습니다."); 274 strMsg = tr("상부 FAN 컨트롤러 이상 발생하였습니다.");
271 strTitle = tr("상부 FAN 컨트롤러 이상 발생"); 275 strTitle = tr("상부 FAN 컨트롤러 이상 발생");
272 - processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER2],strMsg,strTitle, ltime); 276 + processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER2],strMsg,strTitle, ltime, state_err_sound_def[STATE_ERR_UPPERFAN]);
273 } 277 }
274 } 278 }
275 279
@@ -281,73 +285,74 @@ void OvenStatistics::processSystemError(uint16_t errflag,time_t ltime){ @@ -281,73 +285,74 @@ void OvenStatistics::processSystemError(uint16_t errflag,time_t ltime){
281 if( control.system==0 && !bCookingState ) state = SYS_OFF_COOK_OFF; 285 if( control.system==0 && !bCookingState ) state = SYS_OFF_COOK_OFF;
282 else if(control.system != 0 && !bCookingState) state = SYS_ON_COOK_OFF; 286 else if(control.system != 0 && !bCookingState) state = SYS_ON_COOK_OFF;
283 else if(control.system !=0 && bCookingState) state = SYS_ON_COOK_ON; 287 else if(control.system !=0 && bCookingState) state = SYS_ON_COOK_ON;
  288 + else if(control.system !=0 && this->state.cleaning_sate !=0 ) state = SYS_ON_WASH;
284 else state = SYS_ON_COOK_OFF; 289 else state = SYS_ON_COOK_OFF;
285 290
286 if( errflag & MAKE_MASK(SYS_ERR_FIRE_TRIGGER1)){ 291 if( errflag & MAKE_MASK(SYS_ERR_FIRE_TRIGGER1)){
287 //버너 컨트롤러 1 착화 이상 292 //버너 컨트롤러 1 착화 이상
288 item = &(srvdata->err_log.items.upper_fire_fail); 293 item = &(srvdata->err_log.items.upper_fire_fail);
289 - strMsg = tr("상부 버너 착화가 되지 않습니다.");  
290 - strTitle = tr("상부 버너 착화 이상 발생");  
291 - processErrorItems(item, sys_err_type_def[state][SYS_ERR_FIRE_TRIGGER1],strMsg,strTitle,ltime); 294 + strTitle = tr("상부 버너 착화 이상");
  295 + strMsg = tr("상부 버너 착화 이상 안전장치가 작동하였습니다.\n제품의 전원을 OFF한 후 가스 밸브가 잠겨있는지 확인 해 주십시오.\n가스 밸브가 열려 있는데도 에러 발생 시, 즉시 서비스센터에 연락하여 주십시오.");
  296 + processErrorItems(item, sys_err_type_def[state][SYS_ERR_FIRE_TRIGGER1],strMsg,strTitle,ltime, sys_err_sound_def[SYS_ERR_FIRE_TRIGGER1]);
292 } 297 }
293 if(errflag & MAKE_MASK(SYS_ERR_FIRE_TRIGGER2)){ 298 if(errflag & MAKE_MASK(SYS_ERR_FIRE_TRIGGER2)){
294 //버너 컨트롤러 2 착화 이상 299 //버너 컨트롤러 2 착화 이상
295 item = &(srvdata->err_log.items.lower_fire_fail); 300 item = &(srvdata->err_log.items.lower_fire_fail);
296 - strMsg = tr("하부 버너 착화가 되지 않습니다.");  
297 - strTitle = tr("하부 버너 착화 이상 발생");  
298 - processErrorItems(item, sys_err_type_def[state][SYS_ERR_FIRE_TRIGGER2],strMsg,strTitle,ltime); 301 + strTitle = tr("하부 버너 착화 이상");
  302 + strMsg = tr("하부 버너 착화 이상 안전장치가 작동하였습니다.\n제품의 전원을 OFF한 후 가스 밸브가 잠겨있는지 확인 해 주십시오.\n가스 밸브가 열려 있는데도 에러 발생 시, 즉시 서비스센터에 연락하여 주십시오.");
  303 + processErrorItems(item, sys_err_type_def[state][SYS_ERR_FIRE_TRIGGER2],strMsg,strTitle,ltime, sys_err_sound_def[SYS_ERR_FIRE_TRIGGER1]);
299 } 304 }
300 if(errflag & MAKE_MASK(SYS_ERR_FIRE_TRIGGER3)){ 305 if(errflag & MAKE_MASK(SYS_ERR_FIRE_TRIGGER3)){
301 item = &(srvdata->err_log.items.steam_fire_fail); 306 item = &(srvdata->err_log.items.steam_fire_fail);
302 - strMsg = tr("스팀 버너 착화가 되지 않습니다.");  
303 - strTitle = tr("스팀 버너 착화 이상 발생");  
304 - processErrorItems(item, sys_err_type_def[state][SYS_ERR_FIRE_TRIGGER3],strMsg,strTitle,ltime); 307 + strTitle = tr("스팀 버너 착화 이상");
  308 + strMsg = tr("스팀발생기 버너 착화 이상 안전장치가 작동하였습니다.\n제품의 전원을 OFF한 후 가스 밸브가 잠겨있는지 확인 해 주십시오.\n가스 밸브가 열려 있는데도 에러 발생 시, 즉시 서비스센터에 연락하여 주십시오.");
  309 + processErrorItems(item, sys_err_type_def[state][SYS_ERR_FIRE_TRIGGER3],strMsg,strTitle,ltime, sys_err_sound_def[SYS_ERR_FIRE_TRIGGER3]);
305 } 310 }
306 if(errflag & MAKE_MASK(SYS_ERR_OVNE_TEMP_ALARM)){ 311 if(errflag & MAKE_MASK(SYS_ERR_OVNE_TEMP_ALARM)){
307 item = &(srvdata->err_log.items.inner_temp_high_alarm); 312 item = &(srvdata->err_log.items.inner_temp_high_alarm);
308 - strMsg = tr("내부 온도가 과열되었습니다.");  
309 - strTitle = tr("내부 온도 과열 발생");  
310 - processErrorItems(item, sys_err_type_def[state][SYS_ERR_OVNE_TEMP_ALARM],strMsg,strTitle,ltime); 313 + strTitle = tr("내부 온도 과열 이상");
  314 + strMsg = tr("조리실 내부 과열 안전장치가 작동하였습니다.\n제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오.");
  315 + processErrorItems(item, sys_err_type_def[state][SYS_ERR_OVNE_TEMP_ALARM],strMsg,strTitle,ltime,sys_err_sound_def[SYS_ERR_OVNE_TEMP_ALARM]);
311 } 316 }
312 if(errflag & MAKE_MASK(SYS_ERR_QUN_TEMP_ALARM)){ 317 if(errflag & MAKE_MASK(SYS_ERR_QUN_TEMP_ALARM)){
313 //퀀칭 온도 센서 과열 318 //퀀칭 온도 센서 과열
314 item = &(srvdata->err_log.items.qunching_temp_high_alarm); 319 item = &(srvdata->err_log.items.qunching_temp_high_alarm);
315 - strTitle = tr("퀀칭 온도 센서 이상 발생");  
316 - strMsg = tr("퀀칭 온도 센서가 과열되었습니다");  
317 - processErrorItems(item, sys_err_type_def[state][SYS_ERR_QUN_TEMP_ALARM],strMsg,strTitle,ltime); 320 + strTitle = tr("배수 탱크 온도 과열 이상");
  321 + strMsg = tr("배수 탱크 과열 안전장치가 작동하였습니다.\n제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오.");
  322 + processErrorItems(item, sys_err_type_def[state][SYS_ERR_QUN_TEMP_ALARM],strMsg,strTitle,ltime,sys_err_sound_def[SYS_ERR_QUN_TEMP_ALARM]);
318 } 323 }
319 if(errflag & MAKE_MASK(SYS_ERR_CENTER_TEMP_ALARM)){ 324 if(errflag & MAKE_MASK(SYS_ERR_CENTER_TEMP_ALARM)){
320 //중심 온도 과열 325 //중심 온도 과열
321 item = &(srvdata->err_log.items.meatprove_temp1_high_alarm); 326 item = &(srvdata->err_log.items.meatprove_temp1_high_alarm);
322 - strTitle = tr("미트프로브 온도 센서 이상 발생.");  
323 - strMsg = tr("미트프로브 온도 센서 과열되었습니다.");  
324 - processErrorItems(item, sys_err_type_def[state][SYS_ERR_CENTER_TEMP_ALARM],strMsg,strTitle,ltime); 327 + strTitle = tr("중심 온도 과열 이상");
  328 + strMsg = tr("중심온도계 과열 안전장치가 작동하였습니다.\n제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오.");
  329 + processErrorItems(item, sys_err_type_def[state][SYS_ERR_CENTER_TEMP_ALARM],strMsg,strTitle,ltime, sys_err_sound_def[SYS_ERR_CENTER_TEMP_ALARM]);
325 } 330 }
326 if(errflag & MAKE_MASK(SYS_ERR_WALL_TEMP_ALARM)){ 331 if(errflag & MAKE_MASK(SYS_ERR_WALL_TEMP_ALARM)){
327 item = &(srvdata->err_log.items.wall_temp1_high_alarm); 332 item = &(srvdata->err_log.items.wall_temp1_high_alarm);
328 - strTitle = tr("벽면 온도 센서 이상 발생.");  
329 - strMsg = tr("벽면 온도 센서가 과열 되었습니다.");  
330 - processErrorItems(item, sys_err_type_def[state][SYS_ERR_WALL_TEMP_ALARM],strMsg,strTitle,ltime); 333 + strTitle = tr("벽면 온도 과열 이상");
  334 + strMsg = tr("조리실 벽면 과열 안전장치가 작동하였습니다.\n제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오.");
  335 + processErrorItems(item, sys_err_type_def[state][SYS_ERR_WALL_TEMP_ALARM],strMsg,strTitle,ltime, sys_err_sound_def[SYS_ERR_WALL_TEMP_ALARM]);
331 } 336 }
332 if(errflag & MAKE_MASK(SYS_ERR_STAM_TEMP_ALARM)){ 337 if(errflag & MAKE_MASK(SYS_ERR_STAM_TEMP_ALARM)){
333 item = &(srvdata->err_log.items.steam_gen_temp_high_alram); 338 item = &(srvdata->err_log.items.steam_gen_temp_high_alram);
334 - strTitle = tr("스팀제네레이터 온도 이상 발생.");  
335 - strMsg = tr("스팀제네레이터 온도 센서가 과열 되었습니다.");  
336 - processErrorItems(item, sys_err_type_def[state][SYS_ERR_STAM_TEMP_ALARM],strMsg,strTitle,ltime); 339 + strTitle = tr("스팀 온도 과열 이상");
  340 + strMsg = tr("스팀통 내부 과열 안전장치가 작동하였습니다.\n제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오.");
  341 + processErrorItems(item, sys_err_type_def[state][SYS_ERR_STAM_TEMP_ALARM],strMsg,strTitle,ltime, sys_err_sound_def[SYS_ERR_STAM_TEMP_ALARM]);
337 } 342 }
338 if(errflag & MAKE_MASK(SYS_ERR_WATER_SPLY_FAIL)){ 343 if(errflag & MAKE_MASK(SYS_ERR_WATER_SPLY_FAIL)){
339 //급수 이상 -> 유량 센서 이상 344 //급수 이상 -> 유량 센서 이상
340 item = &(srvdata->err_log.items.water_level_sensor_fail); 345 item = &(srvdata->err_log.items.water_level_sensor_fail);
341 - strTitle = tr("급수 이상 발생");  
342 - strMsg = tr("급수가 되지 않습니다.");  
343 - processErrorItems(item, sys_err_type_def[state][SYS_ERR_WATER_SPLY_FAIL],strMsg,strTitle,ltime); 346 + strTitle = tr("급수 이상");
  347 + strMsg = tr("제품 급수이상 안전장치가 작동하였습니다.\n제품에 들어가는 물 공급을 확인하십시오.\n물 공급이 정상적으로 들어갈 시 즉시 서비스센터에 연락하여 주십시오.\n단수 유무는 샤워건을 사용하십시오.");
  348 + processErrorItems(item, sys_err_type_def[state][SYS_ERR_WATER_SPLY_FAIL],strMsg,strTitle,ltime, sys_err_sound_def[SYS_ERR_WATER_SPLY_FAIL]);
344 } 349 }
345 if(errflag & MAKE_MASK(SYS_ERR_WATER_LEVEL_FAIL)){ 350 if(errflag & MAKE_MASK(SYS_ERR_WATER_LEVEL_FAIL)){
346 //급수 이상 -> 수위 센서 이상 351 //급수 이상 -> 수위 센서 이상
347 item = &(srvdata->err_log.items.water_level_sensor_fail); 352 item = &(srvdata->err_log.items.water_level_sensor_fail);
348 - strTitle = tr("급수 이상 발생");  
349 - strMsg = tr("급수가 되지 않습니다.");  
350 - processErrorItems(item, sys_err_type_def[state][SYS_ERR_WATER_LEVEL_FAIL],strMsg,strTitle,ltime); 353 + strTitle = tr("수위 센서 이상");
  354 + strMsg = tr("스팀통 수위 감지 안전장치가 작동하였습니다.\n제품에 들어가는 물 공급을 확인하십시오.\n물 공급이 정상적으로 들어갈 시 즉시 서비스센터에 연락하여 주십시오.\n단수 유무는 샤워건을 사용하십시오.");
  355 + processErrorItems(item, sys_err_type_def[state][SYS_ERR_WATER_LEVEL_FAIL],strMsg,strTitle,ltime, sys_err_sound_def[SYS_ERR_WATER_LEVEL_FAIL]);
351 } 356 }
352 } 357 }
353 358
@@ -374,6 +379,7 @@ void OvenStatistics::oneSecTimerFired(void){ @@ -374,6 +379,7 @@ void OvenStatistics::oneSecTimerFired(void){
374 uint16_t errstatetemp=0; 379 uint16_t errstatetemp=0;
375 int cookingstate=0; 380 int cookingstate=0;
376 if((control.cooking || oven->cooking() || oven->preheating() || oven->cooldown())) cookingstate =1; 381 if((control.cooking || oven->cooking() || oven->preheating() || oven->cooldown())) cookingstate =1;
  382 + else if(state.cleaning_sate !=0) cookingstate = 2;
377 383
378 ltime = time(NULL); 384 ltime = time(NULL);
379 385
@@ -393,14 +399,14 @@ void OvenStatistics::oneSecTimerFired(void){ @@ -393,14 +399,14 @@ void OvenStatistics::oneSecTimerFired(void){
393 nCommErrVal = state.communication_error; 399 nCommErrVal = state.communication_error;
394 if(nCommErrVal ==0) { 400 if(nCommErrVal ==0) {
395 curCommErrorState = nCommErrVal; 401 curCommErrorState = nCommErrVal;
396 - nCommErrValStableCnt = 60; 402 + nCommErrValStableCnt = DELAY_ERROR_TIME;
397 } 403 }
398 else { 404 else {
399 nCommErrValStableCnt=0; 405 nCommErrValStableCnt=0;
400 } 406 }
401 } 407 }
402 else{ 408 else{
403 - if(nCommErrValStableCnt >=60){ 409 + if(nCommErrValStableCnt >=DELAY_ERROR_TIME){
404 errstatetemp = state.communication_error; 410 errstatetemp = state.communication_error;
405 if(errstatetemp!=0 && errstatetemp != curCommErrorState ){ 411 if(errstatetemp!=0 && errstatetemp != curCommErrorState ){
406 processCommError( (errstatetemp & comm_err_mask[cookingstate][cfg->getConfigValue(Define::config_model).d32]),ltime ); 412 processCommError( (errstatetemp & comm_err_mask[cookingstate][cfg->getConfigValue(Define::config_model).d32]),ltime );
@@ -414,14 +420,14 @@ void OvenStatistics::oneSecTimerFired(void){ @@ -414,14 +420,14 @@ void OvenStatistics::oneSecTimerFired(void){
414 nStateErrVal = state.controller_error; 420 nStateErrVal = state.controller_error;
415 if(nStateErrVal == 0 ) { 421 if(nStateErrVal == 0 ) {
416 curControlErrorState = nStateErrVal; 422 curControlErrorState = nStateErrVal;
417 - nStateErrValStableCnt=60; 423 + nStateErrValStableCnt=DELAY_ERROR_TIME;
418 } 424 }
419 else{ 425 else{
420 nStateErrValStableCnt=0; 426 nStateErrValStableCnt=0;
421 } 427 }
422 } 428 }
423 else{ 429 else{
424 - if(nStateErrValStableCnt>=60){ 430 + if(nStateErrValStableCnt>=DELAY_ERROR_TIME){
425 errstatetemp = state.controller_error; 431 errstatetemp = state.controller_error;
426 if(errstatetemp != 0 && errstatetemp != curControlErrorState){ 432 if(errstatetemp != 0 && errstatetemp != curControlErrorState){
427 processStateError((errstatetemp&state_err_mask[cookingstate][cfg->getConfigValue(Define::config_model).d32]),ltime); 433 processStateError((errstatetemp&state_err_mask[cookingstate][cfg->getConfigValue(Define::config_model).d32]),ltime);
@@ -604,7 +610,7 @@ void OvenStatistics::oneSecTimerFired(void){ @@ -604,7 +610,7 @@ void OvenStatistics::oneSecTimerFired(void){
604 610
605 } 611 }
606 612
607 -void OvenStatistics::processErrorItems(error_item *item, error_exe_type errtype, const QString &MsgDesc, const QString &MsgTitle, time_t ltime){ 613 +void OvenStatistics::processErrorItems(error_item *item, error_exe_type errtype, const QString &MsgDesc, const QString &MsgTitle, time_t ltime, error_sound_type sndtype){
608 QWidget* pParent; 614 QWidget* pParent;
609 uint32_t erridx = (uint32_t) (item - &(srvdata->err_log.values[0])); 615 uint32_t erridx = (uint32_t) (item - &(srvdata->err_log.values[0]));
610 616
@@ -646,7 +652,7 @@ void OvenStatistics::processErrorItems(error_item *item, error_exe_type errtype, @@ -646,7 +652,7 @@ void OvenStatistics::processErrorItems(error_item *item, error_exe_type errtype,
646 case error_type_popclrstopcmd: 652 case error_type_popclrstopcmd:
647 { 653 {
648 if(m_mapPopupList.find(erridx) == m_mapPopupList.end()){ 654 if(m_mapPopupList.find(erridx) == m_mapPopupList.end()){
649 - ErrorPopupDlg *dlg = new ErrorPopupDlg(pParent,MsgDesc,MsgTitle , (errtype > error_type_clrsplit), erridx); 655 + ErrorPopupDlg *dlg = new ErrorPopupDlg(pParent,MsgDesc,MsgTitle , (errtype > error_type_clrsplit), erridx, sndtype);
650 connect(dlg,SIGNAL(closedErrorPopup(int)), this, SLOT(onErrorPopupClosed(int))); 656 connect(dlg,SIGNAL(closedErrorPopup(int)), this, SLOT(onErrorPopupClosed(int)));
651 m_mapPopupList.insert(erridx,dlg); 657 m_mapPopupList.insert(erridx,dlg);
652 qApp->setActiveWindow(dlg); 658 qApp->setActiveWindow(dlg);
@@ -662,7 +668,7 @@ void OvenStatistics::processErrorItems(error_item *item, error_exe_type errtype, @@ -662,7 +668,7 @@ void OvenStatistics::processErrorItems(error_item *item, error_exe_type errtype,
662 //EngineerMenuWindow *w = new EngineerMenuWindow(0); 668 //EngineerMenuWindow *w = new EngineerMenuWindow(0);
663 //w->showFullScreen(); 669 //w->showFullScreen();
664 if(m_mapPopupList.find(erridx)==m_mapPopupList.end()){ 670 if(m_mapPopupList.find(erridx)==m_mapPopupList.end()){
665 - ErrorPopupDlg *dlg = new ErrorPopupDlg(pParent,MsgDesc,MsgTitle, false,erridx); 671 + ErrorPopupDlg *dlg = new ErrorPopupDlg(pParent,MsgDesc,MsgTitle, false,erridx,sndtype);
666 connect(dlg,SIGNAL(closedErrorPopup(int)),this,SLOT(onErrorPopupClosed(int))); 672 connect(dlg,SIGNAL(closedErrorPopup(int)),this,SLOT(onErrorPopupClosed(int)));
667 m_mapPopupList.insert(erridx,dlg); 673 m_mapPopupList.insert(erridx,dlg);
668 dlg->showFullScreen(); 674 dlg->showFullScreen();
app/gui/oven_control/ovenstatics.h
@@ -12,8 +12,8 @@ @@ -12,8 +12,8 @@
12 12
13 13
14 #define MAX_MODEL_COUNT 12 14 #define MAX_MODEL_COUNT 12
15 -#define SYS_STATE_MAX 4  
16 - 15 +#define SYS_STATE_MAX 5
  16 +#define DELAY_ERROR_TIME 10 //Secs
17 17
18 #define SYS_ERR_MAX 10 18 #define SYS_ERR_MAX 10
19 19
@@ -93,7 +93,8 @@ enum sys_state_type{ @@ -93,7 +93,8 @@ enum sys_state_type{
93 SYS_OFF_COOK_OFF=0, 93 SYS_OFF_COOK_OFF=0,
94 SYS_ON_COOK_OFF=1, 94 SYS_ON_COOK_OFF=1,
95 SYS_ON_COOK_ON=2, 95 SYS_ON_COOK_ON=2,
96 - SYS_OFF_COOK_ON=3 //unnormal state 96 + SYS_ON_WASH=3,
  97 + SYS_OFF_COOK_ON=4 //unnormal state
97 }; 98 };
98 99
99 enum sys_error_id{ 100 enum sys_error_id{
@@ -155,6 +156,12 @@ enum error_exe_type{ @@ -155,6 +156,12 @@ enum error_exe_type{
155 error_type_engclrstopcmd, 156 error_type_engclrstopcmd,
156 }; 157 };
157 158
  159 +enum error_sound_type{
  160 + error_sound_none=0,
  161 + error_sound1,
  162 + error_sound2
  163 +};
  164 +
158 165
159 enum wash_mode_type{ 166 enum wash_mode_type{
160 wash_mode_nocleanser=1, 167 wash_mode_nocleanser=1,
@@ -211,35 +218,48 @@ public: @@ -211,35 +218,48 @@ public:
211 218
212 private: 219 private:
213 220
214 - const uint32_t sys_err_mask[2][MAX_MODEL_COUNT] = {  
215 - {0x00f8, //ele_10  
216 - 0x00f8, //ele_20  
217 - 0x00f8, //ele_24  
218 - 0x00f8, //ele_40  
219 - 0x00f8, //lpg_10  
220 - 0x00f8, //lpg_20  
221 - 0x00f8, //lpg_24  
222 - 0x00f8, //lpg_40  
223 - 0x00f8, //lng_10  
224 - 0x00f8, //lng_20  
225 - 0x00f8, //lng_24  
226 - 0x00f8 //lng_40  
227 - },// end of noncooking state  
228 - {0x03fd, //ele_10  
229 - 0x03ff, //ele_20  
230 - 0x03fd, //ele_24  
231 - 0x03ff, //ele_40  
232 - 0x03fd, //lpg_10  
233 - 0x03ff, //lpg_20  
234 - 0x03fd, //lpg_24  
235 - 0x03ff, //lpg_40  
236 - 0x03fd, //lng_10  
237 - 0x03ff, //lng_20  
238 - 0x03fd, //lng_24  
239 - 0x03ff //lng_40  
240 - }, 221 + const uint32_t sys_err_mask[3][MAX_MODEL_COUNT] = {
  222 + {0x00b8, //ele_10
  223 + 0x00b8, //ele_20
  224 + 0x00b8, //ele_24
  225 + 0x00b8, //ele_40
  226 + 0x00b8, //lpg_10
  227 + 0x00b8, //lpg_20
  228 + 0x00b8, //lpg_24
  229 + 0x00b8, //lpg_40
  230 + 0x00b8, //lng_10
  231 + 0x00b8, //lng_20
  232 + 0x00b8, //lng_24
  233 + 0x00b8 //lng_40
  234 + },// noncooking state
  235 + {0x03bd, //ele_10
  236 + 0x03bf, //ele_20
  237 + 0x03bd, //ele_24
  238 + 0x03bf, //ele_40
  239 + 0x03bd, //lpg_10
  240 + 0x03bf, //lpg_20
  241 + 0x03bd, //lpg_24
  242 + 0x03bf, //lpg_40
  243 + 0x03bd, //lng_10
  244 + 0x03bf, //lng_20
  245 + 0x03bd, //lng_24
  246 + 0x03bf //lng_40
  247 + },//cooking state
  248 + {0x03bd, //ele_10
  249 + 0x03bf, //ele_20
  250 + 0x03bd, //ele_24
  251 + 0x03bf, //ele_40
  252 + 0x03bd, //lpg_10
  253 + 0x03bf, //lpg_20
  254 + 0x03bd, //lpg_24
  255 + 0x03bf, //lpg_40
  256 + 0x03bd, //lng_10
  257 + 0x03bf, //lng_20
  258 + 0x03bd, //lng_24
  259 + 0x03bf //lng_40
  260 + } //washing state
241 }; 261 };
242 - const uint32_t comm_err_mask[2][MAX_MODEL_COUNT] = { 262 + const uint32_t comm_err_mask[3][MAX_MODEL_COUNT] = {
243 {0x000d, //ele_10 263 {0x000d, //ele_10
244 0x001f, //ele_20 264 0x001f, //ele_20
245 0x000d, //ele_24 265 0x000d, //ele_24
@@ -252,7 +272,20 @@ private: @@ -252,7 +272,20 @@ private:
252 0x001f, //lng_20 272 0x001f, //lng_20
253 0x000d, //lng_24 273 0x000d, //lng_24
254 0x001f //lng_40 274 0x001f //lng_40
255 - }, // end of noncooking state 275 + }, // noncooking state
  276 + {0x000d, //ele_10
  277 + 0x001f, //ele_20
  278 + 0x000d, //ele_24
  279 + 0x001f, //ele_40
  280 + 0x000d, //lpg_10
  281 + 0x001f, //lpg_20
  282 + 0x000d, //lpg_24
  283 + 0x001f, //lpg_40
  284 + 0x000d, //lng_10
  285 + 0x001f, //lng_20
  286 + 0x000d, //lng_24
  287 + 0x001f //lng_40
  288 + }, //cooking state
256 {0x000d, //ele_10 289 {0x000d, //ele_10
257 0x001f, //ele_20 290 0x001f, //ele_20
258 0x000d, //ele_24 291 0x000d, //ele_24
@@ -265,7 +298,8 @@ private: @@ -265,7 +298,8 @@ private:
265 0x001f, //lng_20 298 0x001f, //lng_20
266 0x000d, //lng_24 299 0x000d, //lng_24
267 0x001f //lng_40 300 0x001f //lng_40
268 - }}; 301 + } // washing state
  302 + };
269 // const uint32_t sensor_err_mask[MAX_MODEL_COUNT] = {0x0213, //ele10 303 // const uint32_t sensor_err_mask[MAX_MODEL_COUNT] = {0x0213, //ele10
270 // 0x0213, //ele 20 304 // 0x0213, //ele 20
271 // 0x0213, //ele 24 305 // 0x0213, //ele 24
@@ -280,60 +314,89 @@ private: @@ -280,60 +314,89 @@ private:
280 // 0x0213 //lng40 314 // 0x0213 //lng40
281 // }; 315 // };
282 316
283 - const uint32_t sensor_err_mask[2][MAX_MODEL_COUNT] = {  
284 - {0x0213, //ele10  
285 - 0x0213, //ele 20  
286 - 0x0213, //ele 24  
287 - 0x0213, //ele 40  
288 - 0x0213, //lpg 10  
289 - 0x0213, //lpg 20  
290 - 0x0213, //lpg 24  
291 - 0x0213, //lpg 40  
292 - 0x0213, //lng 10  
293 - 0x0213, //lng 20  
294 - 0x0213, //lng 24  
295 - 0x0213 //lng40 317 + const uint32_t sensor_err_mask[3][MAX_MODEL_COUNT] = {
  318 + {0x03f3, //ele10
  319 + 0x03f3, //ele 20
  320 + 0x03f3, //ele 24
  321 + 0x03f3, //ele 40
  322 + 0x03f3, //lpg 10
  323 + 0x03f3, //lpg 20
  324 + 0x03f3, //lpg 24
  325 + 0x03f3, //lpg 40
  326 + 0x03f3, //lng 10
  327 + 0x03f3, //lng 20
  328 + 0x03f3, //lng 24
  329 + 0x03f3 //lng40
296 }, // end of noncooking state 330 }, // end of noncooking state
297 - {0x0213, //ele10  
298 - 0x0213, //ele 20  
299 - 0x0213, //ele 24  
300 - 0x0213, //ele 40  
301 - 0x0213, //lpg 10  
302 - 0x0213, //lpg 20  
303 - 0x0213, //lpg 24  
304 - 0x0213, //lpg 40  
305 - 0x0213, //lng 10  
306 - 0x0213, //lng 20  
307 - 0x0213, //lng 24  
308 - 0x0213 //lng40  
309 - }};  
310 - const uint32_t state_err_mask[2][MAX_MODEL_COUNT] = {  
311 - {0x0008, //ele 10  
312 - 0x0018, //ele 20  
313 - 0x0008, //ele 24  
314 - 0x0018, //ele 40  
315 - 0x0008, //lpg 10  
316 - 0x0018, //lpg 20  
317 - 0x0008, //lpg 24  
318 - 0x0018, //lpg 40  
319 - 0x0008, //lng 10  
320 - 0x0018, //lng 20  
321 - 0x0008, //lng 24  
322 - 0x0018 //lng 40 331 + {0x03f3, //ele10
  332 + 0x03f3, //ele 20
  333 + 0x03f3, //ele 24
  334 + 0x03f3, //ele 40
  335 + 0x03f3, //lpg 10
  336 + 0x03f3, //lpg 20
  337 + 0x03f3, //lpg 24
  338 + 0x03f3, //lpg 40
  339 + 0x03f3, //lng 10
  340 + 0x03f3, //lng 20
  341 + 0x03f3, //lng 24
  342 + 0x03f3 //lng40
  343 + }, //cooking state
  344 + {0x03f3, //ele10
  345 + 0x03f3, //ele 20
  346 + 0x03f3, //ele 24
  347 + 0x03f3, //ele 40
  348 + 0x03f3, //lpg 10
  349 + 0x03f3, //lpg 20
  350 + 0x03f3, //lpg 24
  351 + 0x03f3, //lpg 40
  352 + 0x03f3, //lng 10
  353 + 0x03f3, //lng 20
  354 + 0x03f3, //lng 24
  355 + 0x03f3 //lng40
  356 + } // washing state
  357 + };
  358 +
  359 + const uint32_t state_err_mask[3][MAX_MODEL_COUNT] = {
  360 + {0x0000, //ele 10
  361 + 0x0000, //ele 20
  362 + 0x0000, //ele 24
  363 + 0x0000, //ele 40
  364 + 0x0000, //lpg 10
  365 + 0x0000, //lpg 20
  366 + 0x0000, //lpg 24
  367 + 0x0000, //lpg 40
  368 + 0x0000, //lng 10
  369 + 0x0000, //lng 20
  370 + 0x0000, //lng 24
  371 + 0x0000 //lng 40
323 }, //end of noncooking state 372 }, //end of noncooking state
324 - {0x0008, //ele 10  
325 - 0x0018, //ele 20  
326 - 0x0008, //ele 24  
327 - 0x0018, //ele 40  
328 - 0x0008, //lpg 10  
329 - 0x0018, //lpg 20  
330 - 0x0008, //lpg 24  
331 - 0x0018, //lpg 40  
332 - 0x0008, //lng 10  
333 - 0x0018, //lng 20  
334 - 0x0008, //lng 24  
335 - 0x0018 //lng 40  
336 - }}; 373 + {0x0000, //ele 10
  374 + 0x0000, //ele 20
  375 + 0x0000, //ele 24
  376 + 0x0000, //ele 40
  377 + 0x0000, //lpg 10
  378 + 0x0000, //lpg 20
  379 + 0x0000, //lpg 24
  380 + 0x0000, //lpg 40
  381 + 0x0000, //lng 10
  382 + 0x0000, //lng 20
  383 + 0x0000, //lng 24
  384 + 0x0000 //lng 40
  385 + },
  386 + {0x0000, //ele 10
  387 + 0x0000, //ele 20
  388 + 0x0000, //ele 24
  389 + 0x0000, //ele 40
  390 + 0x0000, //lpg 10
  391 + 0x0000, //lpg 20
  392 + 0x0000, //lpg 24
  393 + 0x0000, //lpg 40
  394 + 0x0000, //lng 10
  395 + 0x0000, //lng 20
  396 + 0x0000, //lng 24
  397 + 0x0000 //lng 40
  398 + }//washing state
  399 + };
337 400
338 401
339 const error_exe_type sys_err_type_def[SYS_STATE_MAX][SYS_ERR_MAX]={ //30047 402 const error_exe_type sys_err_type_def[SYS_STATE_MAX][SYS_ERR_MAX]={ //30047
@@ -344,6 +407,8 @@ private: @@ -344,6 +407,8 @@ private:
344 {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd, 407 {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,
345 error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, // SYS_ON_COOK_ON state 408 error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, // SYS_ON_COOK_ON state
346 {error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr, 409 {error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,
  410 + error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, // SYS_ON_WASH state
  411 + {error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,
347 error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, // SYS_OFF_COOK_ON state 412 error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, // SYS_OFF_COOK_ON state
348 }; 413 };
349 414
@@ -351,6 +416,7 @@ private: @@ -351,6 +416,7 @@ private:
351 {error_type_popnonclr,error_type_popnonclr,error_type_popnonclr,error_type_engnonclr,error_type_engnonclr}, //SYS_OFF_COO_OFF 416 {error_type_popnonclr,error_type_popnonclr,error_type_popnonclr,error_type_engnonclr,error_type_engnonclr}, //SYS_OFF_COO_OFF
352 {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_COO_OFF 417 {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_COO_OFF
353 {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_COO_ON 418 {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_COO_ON
  419 + {error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, //SYS_ON_WASH
354 {error_type_popnonclr,error_type_popnonclr,error_type_popnonclr,error_type_engnonclr,error_type_engnonclr}, //SYS_OFF_COO_ON 420 {error_type_popnonclr,error_type_popnonclr,error_type_popnonclr,error_type_engnonclr,error_type_engnonclr}, //SYS_OFF_COO_ON
355 }; 421 };
356 422
@@ -358,20 +424,38 @@ private: @@ -358,20 +424,38 @@ private:
358 {error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, //SYS_OFF_COO_OFF 424 {error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, //SYS_OFF_COO_OFF
359 {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_COO_OFF 425 {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_COO_OFF
360 {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_COO_ON 426 {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_COO_ON
  427 + {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_WASH
361 {error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, //SYS_OFF_COO_ON 428 {error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, //SYS_OFF_COO_ON
362 }; 429 };
363 430
364 const error_exe_type sensor_err_type_def[SYS_STATE_MAX][SENSOR_ERR_MAX]={ //30049 431 const error_exe_type sensor_err_type_def[SYS_STATE_MAX][SENSOR_ERR_MAX]={ //30049
365 - {error_type_engnonclr,error_type_popnonclr,error_type_allnone,error_type_popnonclr,error_type_onlychk,  
366 - error_type_popnonclr,error_type_allnone,error_type_allnone,error_type_allnone,error_type_popnonclr}, // SYS_OFF_COOK_OFF state 432 + {error_type_popclr,error_type_popclr,error_type_allnone,error_type_popclr,error_type_popclr,
  433 + error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, // SYS_OFF_COOK_OFF state
367 {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_allnone,error_type_popclrstopcmd,error_type_popclrstopcmd, 434 {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_allnone,error_type_popclrstopcmd,error_type_popclrstopcmd,
368 error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, // SYS_ON_COOK_OFF state 435 error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, // SYS_ON_COOK_OFF state
369 {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_allnone,error_type_popclrstopcmd,error_type_popclrstopcmd, 436 {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_allnone,error_type_popclrstopcmd,error_type_popclrstopcmd,
370 error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, // SYS_ON_COOK_ON state 437 error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, // SYS_ON_COOK_ON state
  438 + {error_type_popclr,error_type_popclr,error_type_allnone,error_type_allnone,error_type_popclr,
  439 + error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, // SYS_ON_WASH
371 {error_type_engnonclr,error_type_popnonclr,error_type_allnone,error_type_popnonclr,error_type_onlychk, 440 {error_type_engnonclr,error_type_popnonclr,error_type_allnone,error_type_popnonclr,error_type_onlychk,
372 error_type_popnonclr,error_type_allnone,error_type_allnone,error_type_allnone,error_type_popnonclr}, // SYS_OFF_COOK_ON state same with SYS_OFF_COOK_OFF 441 error_type_popnonclr,error_type_allnone,error_type_allnone,error_type_allnone,error_type_popnonclr}, // SYS_OFF_COOK_ON state same with SYS_OFF_COOK_OFF
373 }; 442 };
374 443
  444 +
  445 + const error_sound_type sys_err_sound_def[SYS_ERR_MAX]={ //30047
  446 + error_sound2,error_sound2,error_sound2,error_sound2,error_sound2,
  447 + error_sound2,error_sound2,error_sound2,error_sound2,error_sound2};
  448 +
  449 + const error_sound_type comm_err_sound_def[COMM_ERR_MAX] ={ //30048
  450 + error_sound1,error_sound1,error_sound1,error_sound1,error_sound1};
  451 +
  452 + const error_sound_type state_err_sound_def[STATE_ERR_MAX] ={ //30057
  453 + error_sound1,error_sound1,error_sound1,error_sound1,error_sound1};
  454 +
  455 + const error_sound_type sensor_err_sound_def[SENSOR_ERR_MAX]={ //30049
  456 + error_sound1,error_sound1,error_sound1,error_sound1,error_sound1,
  457 + error_sound1,error_sound1,error_sound1,error_sound1,error_sound2};
  458 +
375 const uint8_t sensorTypeInfo[MAX_LOG_SENSOR] = { 459 const uint8_t sensorTypeInfo[MAX_LOG_SENSOR] = {
376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
377 1, 1, 2, 0, 1, 1 461 1, 1, 2, 0, 1, 1
@@ -409,7 +493,7 @@ private: @@ -409,7 +493,7 @@ private:
409 void processCommError(uint16_t errflag,time_t ltime); 493 void processCommError(uint16_t errflag,time_t ltime);
410 void processSensorError(uint16_t errflag, time_t ltime); 494 void processSensorError(uint16_t errflag, time_t ltime);
411 void processStateError(uint16_t errflat, time_t ltime); 495 void processStateError(uint16_t errflat, time_t ltime);
412 - void processErrorItems(error_item *item, error_exe_type errtype, const QString &MsgDesc,const QString &MsgTitle, time_t ltime); 496 + void processErrorItems(error_item *item, error_exe_type errtype, const QString &MsgDesc,const QString &MsgTitle, time_t ltime, error_sound_type errsnd=error_sound1);
413 497
414 public: 498 public:
415 bool loadWashState(void){return srvdata->loadWashState();} 499 bool loadWashState(void){return srvdata->loadWashState();}
app/gui/oven_control/servicepassinputdlg.cpp
@@ -19,8 +19,10 @@ ServicePassInputDlg::ServicePassInputDlg(QWidget *parent, service_pass_type mode @@ -19,8 +19,10 @@ ServicePassInputDlg::ServicePassInputDlg(QWidget *parent, service_pass_type mode
19 ui->ctrProgressBar->setFocus(); 19 ui->ctrProgressBar->setFocus();
20 20
21 this->setResult(QDialog::Accepted); 21 this->setResult(QDialog::Accepted);
22 - foreach (QPushButton *button, findChildren<QPushButton *>())  
23 - connect(button, &QPushButton::pressed, SoundPlayer::playClick); 22 +// foreach (QPushButton *button, findChildren<QPushButton *>())
  23 +// connect(button, &QPushButton::pressed, SoundPlayer::playClick);
  24 + connect(ui->ctrBtnOk, &QPushButton::pressed, SoundPlayer::playClick);
  25 + connect(ui->ctrBtnCancel, &QPushButton::pressed, SoundPlayer::playClick);
24 ui->ctrProgressBar->setMaxProgress(0,MAX_PASSWORD); 26 ui->ctrProgressBar->setMaxProgress(0,MAX_PASSWORD);
25 m_nCurInputCount = 0; 27 m_nCurInputCount = 0;
26 memset(m_strInputPass, 0x00, MAX_PASSWORD+1); 28 memset(m_strInputPass, 0x00, MAX_PASSWORD+1);