Commit b52cba705c4d721283ea3225b1bfee17faf05e8a
Exists in
master
and in
2 other branches
Merge branch 'master' of 192.168.10.12:falinux/1611_0007_prime_oven
Showing
18 changed files
Show diff stats
app/gui/oven_control/config.cpp
@@ -153,12 +153,12 @@ bool Config::saveConfig(void){ | @@ -153,12 +153,12 @@ bool Config::saveConfig(void){ | ||
153 | } | 153 | } |
154 | 154 | ||
155 | bool Config::loadConfig(){ | 155 | bool Config::loadConfig(){ |
156 | - char buff[sizeof(config_lists)+1]; | 156 | + uint8_t buff[sizeof(config_lists)+1]; |
157 | qint64 readlen; | 157 | qint64 readlen; |
158 | QFile file(CONFIG_FILE_NAME); | 158 | QFile file(CONFIG_FILE_NAME); |
159 | initConfig(); | 159 | initConfig(); |
160 | if(file.open(QIODevice::ReadOnly)){ | 160 | if(file.open(QIODevice::ReadOnly)){ |
161 | - readlen = file.read(buff,sizeof(config_lists)+1); | 161 | + readlen = file.read((char *) buff,sizeof(config_lists)+1); |
162 | file.close(); | 162 | file.close(); |
163 | if(readlen != (sizeof(configlist)+1)){ | 163 | if(readlen != (sizeof(configlist)+1)){ |
164 | //File size is wrong. apply default config value & save default value; | 164 | //File size is wrong. apply default config value & save default value; |
@@ -166,7 +166,7 @@ bool Config::loadConfig(){ | @@ -166,7 +166,7 @@ bool Config::loadConfig(){ | ||
166 | saveConfig(); | 166 | saveConfig(); |
167 | return false; | 167 | return false; |
168 | } | 168 | } |
169 | - if(buff[sizeof(config_lists)] ==0x9c){ | 169 | + if (buff[sizeof(config_lists)] ==0x9c){ |
170 | memcpy(configlist.data,buff,sizeof(config_lists)); | 170 | memcpy(configlist.data,buff,sizeof(config_lists)); |
171 | qDebug() << "loading config file success"; | 171 | qDebug() << "loading config file success"; |
172 | } | 172 | } |
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/cooldownpopup.cpp
@@ -6,10 +6,9 @@ | @@ -6,10 +6,9 @@ | ||
6 | #include "soundplayer.h" | 6 | #include "soundplayer.h" |
7 | #include "stringer.h" | 7 | #include "stringer.h" |
8 | 8 | ||
9 | -CooldownPopup::CooldownPopup(QWidget *parent, Oven *oven) : | 9 | +CooldownPopup::CooldownPopup(QWidget *parent, int target) : |
10 | QWidget(parent), | 10 | QWidget(parent), |
11 | ui(new Ui::CooldownPopup), | 11 | ui(new Ui::CooldownPopup), |
12 | - oven(oven), | ||
13 | showingCurrentTemp(false), | 12 | showingCurrentTemp(false), |
14 | needCookStarting(false) | 13 | needCookStarting(false) |
15 | { | 14 | { |
@@ -17,6 +16,8 @@ CooldownPopup::CooldownPopup(QWidget *parent, Oven *oven) : | @@ -17,6 +16,8 @@ CooldownPopup::CooldownPopup(QWidget *parent, Oven *oven) : | ||
17 | 16 | ||
18 | setAttribute(Qt::WA_DeleteOnClose); | 17 | setAttribute(Qt::WA_DeleteOnClose); |
19 | 18 | ||
19 | + oven = Oven::getInstance(); | ||
20 | + | ||
20 | lastDisplayedFanLevel = -1; | 21 | lastDisplayedFanLevel = -1; |
21 | lastDisplayedHumidification = !oven->humidification(); | 22 | lastDisplayedHumidification = !oven->humidification(); |
22 | 23 | ||
@@ -33,6 +34,7 @@ CooldownPopup::CooldownPopup(QWidget *parent, Oven *oven) : | @@ -33,6 +34,7 @@ CooldownPopup::CooldownPopup(QWidget *parent, Oven *oven) : | ||
33 | 34 | ||
34 | ui->tempSlider->setSubPixmap(":/images/slider/sub_red.png"); | 35 | ui->tempSlider->setSubPixmap(":/images/slider/sub_red.png"); |
35 | ui->tempSlider->setRange(30, 300); | 36 | ui->tempSlider->setRange(30, 300); |
37 | + ui->tempSlider->setValue(target); | ||
36 | 38 | ||
37 | cookingFanLevel = oven->fan(); | 39 | cookingFanLevel = oven->fan(); |
38 | expectingFanLevel = oven->maxFan(); | 40 | expectingFanLevel = oven->maxFan(); |
app/gui/oven_control/cooldownpopup.h
@@ -15,7 +15,7 @@ class CooldownPopup : public QWidget | @@ -15,7 +15,7 @@ class CooldownPopup : public QWidget | ||
15 | Q_OBJECT | 15 | Q_OBJECT |
16 | 16 | ||
17 | public: | 17 | public: |
18 | - explicit CooldownPopup(QWidget *parent = 0, Oven *oven = 0); | 18 | + explicit CooldownPopup(QWidget *parent = 0, int target = 30); |
19 | ~CooldownPopup(); | 19 | ~CooldownPopup(); |
20 | 20 | ||
21 | protected: | 21 | protected: |
app/gui/oven_control/define.h
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 &MsgDesc, const QStr | @@ -15,14 +15,36 @@ ErrorPopupDlg::ErrorPopupDlg(QWidget *parent, const QString &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/fileprocessdlg.cpp
@@ -658,7 +658,7 @@ void FileProcessDlg::configDownload(){ | @@ -658,7 +658,7 @@ void FileProcessDlg::configDownload(){ | ||
658 | } | 658 | } |
659 | 659 | ||
660 | void FileProcessDlg::configUpload(){ | 660 | void FileProcessDlg::configUpload(){ |
661 | - char buff[sizeof(config_lists)+1]; | 661 | + uint8_t buff[sizeof(config_lists)+1]; |
662 | qint64 readlen; | 662 | qint64 readlen; |
663 | QString strUsbPath; | 663 | QString strUsbPath; |
664 | QString strSrcPath; | 664 | QString strSrcPath; |
@@ -668,7 +668,7 @@ void FileProcessDlg::configUpload(){ | @@ -668,7 +668,7 @@ void FileProcessDlg::configUpload(){ | ||
668 | QFile srcFile(strSrcPath); | 668 | QFile srcFile(strSrcPath); |
669 | //Check Source File is valid this machine | 669 | //Check Source File is valid this machine |
670 | if(srcFile.open(QIODevice::ReadOnly)){ | 670 | if(srcFile.open(QIODevice::ReadOnly)){ |
671 | - readlen = srcFile.read(buff,sizeof(config_lists)+1); | 671 | + readlen = srcFile.read((char *) buff,sizeof(config_lists)+1); |
672 | srcFile.close(); | 672 | srcFile.close(); |
673 | if(readlen != (sizeof(config_lists)+1)) { | 673 | if(readlen != (sizeof(config_lists)+1)) { |
674 | qDebug() << "SRC config.ini file size wrong"; | 674 | qDebug() << "SRC config.ini file size wrong"; |
@@ -682,7 +682,7 @@ void FileProcessDlg::configUpload(){ | @@ -682,7 +682,7 @@ void FileProcessDlg::configUpload(){ | ||
682 | QTimer::singleShot(1000,this,SLOT(close())); | 682 | QTimer::singleShot(1000,this,SLOT(close())); |
683 | return; | 683 | return; |
684 | } | 684 | } |
685 | - cfg->copyConfigArea(buff); | 685 | + cfg->copyConfigArea((char *) buff); |
686 | cfg->saveConfig(); | 686 | cfg->saveConfig(); |
687 | cfg->applyConfig(); | 687 | cfg->applyConfig(); |
688 | } | 688 | } |
app/gui/oven_control/keepwarmpopup.cpp
@@ -67,9 +67,9 @@ void KeepWarmPopup::onEncoderRight() | @@ -67,9 +67,9 @@ void KeepWarmPopup::onEncoderRight() | ||
67 | 67 | ||
68 | } | 68 | } |
69 | 69 | ||
70 | -void KeepWarmPopup::onEncoderClicked(QWidget *clicked) | 70 | +void KeepWarmPopup::onEncoderClicked(QWidget */*clicked*/) |
71 | { | 71 | { |
72 | - | 72 | + close(); |
73 | } | 73 | } |
74 | 74 | ||
75 | void KeepWarmPopup::updateView() | 75 | void KeepWarmPopup::updateView() |
app/gui/oven_control/manualcookwindow.cpp
@@ -988,7 +988,7 @@ void ManualCookWindow::on_cooldownButton_clicked() | @@ -988,7 +988,7 @@ void ManualCookWindow::on_cooldownButton_clicked() | ||
988 | { | 988 | { |
989 | startCookingTimer.stop(); | 989 | startCookingTimer.stop(); |
990 | 990 | ||
991 | - CooldownPopup *p = new CooldownPopup(this, oven); | 991 | + CooldownPopup *p = new CooldownPopup(this, 30); |
992 | p->setWindowModality(Qt::WindowModal); | 992 | p->setWindowModality(Qt::WindowModal); |
993 | p->showFullScreen(); | 993 | p->showFullScreen(); |
994 | 994 |
app/gui/oven_control/ovenstatics.cpp
@@ -74,6 +74,7 @@ void OvenStatistics::onDataChanged() | @@ -74,6 +74,7 @@ void OvenStatistics::onDataChanged() | ||
74 | time(<ime); | 74 | time(<ime); |
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){ |
@@ -93,11 +94,11 @@ void OvenStatistics::onDataChanged() | @@ -93,11 +94,11 @@ void OvenStatistics::onDataChanged() | ||
93 | } | 94 | } |
94 | curSysErrorState = state.system_error; | 95 | curSysErrorState = state.system_error; |
95 | 96 | ||
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; | 97 | +// errstatetemp = state.communication_error; |
98 | +// if(errstatetemp!=0 && errstatetemp != curCommErrorState ){ | ||
99 | +// processCommError( (errstatetemp & comm_err_mask[cookingstate][cfg->getConfigValue(Define::config_model).d32]),ltime ); | ||
100 | +// } | ||
101 | +// curCommErrorState = errstatetemp; | ||
101 | 102 | ||
102 | errstatetemp = state.sensor_error; | 103 | errstatetemp = state.sensor_error; |
103 | if(errstatetemp!=0 && errstatetemp != curSensorErrorState ){ | 104 | if(errstatetemp!=0 && errstatetemp != curSensorErrorState ){ |
@@ -105,11 +106,11 @@ void OvenStatistics::onDataChanged() | @@ -105,11 +106,11 @@ void OvenStatistics::onDataChanged() | ||
105 | } | 106 | } |
106 | curSensorErrorState = errstatetemp; | 107 | curSensorErrorState = errstatetemp; |
107 | 108 | ||
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; | 109 | +// errstatetemp = state.controller_error; |
110 | +// if(errstatetemp != 0 && errstatetemp != curControlErrorState){ | ||
111 | +// processStateError((errstatetemp&state_err_mask[cookingstate][cfg->getConfigValue(Define::config_model).d32]),ltime); | ||
112 | +// } | ||
113 | +// curControlErrorState = errstatetemp; | ||
113 | 114 | ||
114 | } | 115 | } |
115 | 116 | ||
@@ -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 | ||
@@ -367,6 +372,15 @@ void OvenStatistics::oneSecTimerFired(void){ | @@ -367,6 +372,15 @@ void OvenStatistics::oneSecTimerFired(void){ | ||
367 | static int nOneSecCnt=1; | 372 | static int nOneSecCnt=1; |
368 | time_t ltime; | 373 | time_t ltime; |
369 | 374 | ||
375 | + static int nStateErrValStableCnt = 0; | ||
376 | + static int nCommErrValStableCnt = 0; | ||
377 | + static uint16_t nCommErrVal = 0; | ||
378 | + static uint16_t nStateErrVal = 0; | ||
379 | + uint16_t errstatetemp=0; | ||
380 | + int cookingstate=0; | ||
381 | + if((control.cooking || oven->cooking() || oven->preheating() || oven->cooldown())) cookingstate =1; | ||
382 | + else if(state.cleaning_sate !=0) cookingstate = 2; | ||
383 | + | ||
370 | ltime = time(NULL); | 384 | ltime = time(NULL); |
371 | 385 | ||
372 | nOneSecCnt++; | 386 | nOneSecCnt++; |
@@ -374,11 +388,55 @@ void OvenStatistics::oneSecTimerFired(void){ | @@ -374,11 +388,55 @@ void OvenStatistics::oneSecTimerFired(void){ | ||
374 | srvdata->saveServiceData(); | 388 | srvdata->saveServiceData(); |
375 | } | 389 | } |
376 | 390 | ||
391 | + | ||
377 | if(bDataRefreshed) bDataRefreshed= false; | 392 | if(bDataRefreshed) bDataRefreshed= false; |
378 | else{ | 393 | else{ |
379 | udp->fillControl(control); | 394 | udp->fillControl(control); |
380 | udp->fillData(state); | 395 | udp->fillData(state); |
381 | } | 396 | } |
397 | + | ||
398 | + if(nCommErrVal != state.communication_error){ | ||
399 | + nCommErrVal = state.communication_error; | ||
400 | + if(nCommErrVal ==0) { | ||
401 | + curCommErrorState = nCommErrVal; | ||
402 | + nCommErrValStableCnt = DELAY_ERROR_TIME; | ||
403 | + } | ||
404 | + else { | ||
405 | + nCommErrValStableCnt=0; | ||
406 | + } | ||
407 | + } | ||
408 | + else{ | ||
409 | + if(nCommErrValStableCnt >=DELAY_ERROR_TIME){ | ||
410 | + errstatetemp = state.communication_error; | ||
411 | + if(errstatetemp!=0 && errstatetemp != curCommErrorState ){ | ||
412 | + processCommError( (errstatetemp & comm_err_mask[cookingstate][cfg->getConfigValue(Define::config_model).d32]),ltime ); | ||
413 | + } | ||
414 | + curCommErrorState = errstatetemp; | ||
415 | + } | ||
416 | + else nCommErrValStableCnt++; | ||
417 | + } | ||
418 | + | ||
419 | + if(nStateErrVal != state.controller_error){ | ||
420 | + nStateErrVal = state.controller_error; | ||
421 | + if(nStateErrVal == 0 ) { | ||
422 | + curControlErrorState = nStateErrVal; | ||
423 | + nStateErrValStableCnt=DELAY_ERROR_TIME; | ||
424 | + } | ||
425 | + else{ | ||
426 | + nStateErrValStableCnt=0; | ||
427 | + } | ||
428 | + } | ||
429 | + else{ | ||
430 | + if(nStateErrValStableCnt>=DELAY_ERROR_TIME){ | ||
431 | + errstatetemp = state.controller_error; | ||
432 | + if(errstatetemp != 0 && errstatetemp != curControlErrorState){ | ||
433 | + processStateError((errstatetemp&state_err_mask[cookingstate][cfg->getConfigValue(Define::config_model).d32]),ltime); | ||
434 | + } | ||
435 | + curControlErrorState = errstatetemp; | ||
436 | + } | ||
437 | + else nStateErrValStableCnt++; | ||
438 | + } | ||
439 | + | ||
382 | //가열부 시간 측정 | 440 | //가열부 시간 측정 |
383 | if( (state.onoff_state1 & LOAD_STATE1_STEAM_BUNNER) !=0){ | 441 | if( (state.onoff_state1 & LOAD_STATE1_STEAM_BUNNER) !=0){ |
384 | srvdata->use_log.items.steam_heat +=1; | 442 | srvdata->use_log.items.steam_heat +=1; |
@@ -552,7 +610,7 @@ void OvenStatistics::oneSecTimerFired(void){ | @@ -552,7 +610,7 @@ void OvenStatistics::oneSecTimerFired(void){ | ||
552 | 610 | ||
553 | } | 611 | } |
554 | 612 | ||
555 | -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){ |
556 | QWidget* pParent; | 614 | QWidget* pParent; |
557 | uint32_t erridx = (uint32_t) (item - &(srvdata->err_log.values[0])); | 615 | uint32_t erridx = (uint32_t) (item - &(srvdata->err_log.values[0])); |
558 | 616 | ||
@@ -594,7 +652,7 @@ void OvenStatistics::processErrorItems(error_item *item, error_exe_type errtype, | @@ -594,7 +652,7 @@ void OvenStatistics::processErrorItems(error_item *item, error_exe_type errtype, | ||
594 | case error_type_popclrstopcmd: | 652 | case error_type_popclrstopcmd: |
595 | { | 653 | { |
596 | if(m_mapPopupList.find(erridx) == m_mapPopupList.end()){ | 654 | if(m_mapPopupList.find(erridx) == m_mapPopupList.end()){ |
597 | - 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); |
598 | connect(dlg,SIGNAL(closedErrorPopup(int)), this, SLOT(onErrorPopupClosed(int))); | 656 | connect(dlg,SIGNAL(closedErrorPopup(int)), this, SLOT(onErrorPopupClosed(int))); |
599 | m_mapPopupList.insert(erridx,dlg); | 657 | m_mapPopupList.insert(erridx,dlg); |
600 | qApp->setActiveWindow(dlg); | 658 | qApp->setActiveWindow(dlg); |
@@ -610,7 +668,7 @@ void OvenStatistics::processErrorItems(error_item *item, error_exe_type errtype, | @@ -610,7 +668,7 @@ void OvenStatistics::processErrorItems(error_item *item, error_exe_type errtype, | ||
610 | //EngineerMenuWindow *w = new EngineerMenuWindow(0); | 668 | //EngineerMenuWindow *w = new EngineerMenuWindow(0); |
611 | //w->showFullScreen(); | 669 | //w->showFullScreen(); |
612 | if(m_mapPopupList.find(erridx)==m_mapPopupList.end()){ | 670 | if(m_mapPopupList.find(erridx)==m_mapPopupList.end()){ |
613 | - ErrorPopupDlg *dlg = new ErrorPopupDlg(pParent,MsgDesc,MsgTitle, false,erridx); | 671 | + ErrorPopupDlg *dlg = new ErrorPopupDlg(pParent,MsgDesc,MsgTitle, false,erridx,sndtype); |
614 | connect(dlg,SIGNAL(closedErrorPopup(int)),this,SLOT(onErrorPopupClosed(int))); | 672 | connect(dlg,SIGNAL(closedErrorPopup(int)),this,SLOT(onErrorPopupClosed(int))); |
615 | m_mapPopupList.insert(erridx,dlg); | 673 | m_mapPopupList.insert(erridx,dlg); |
616 | 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/realtimesensorwindow.h
@@ -35,7 +35,7 @@ private: | @@ -35,7 +35,7 @@ private: | ||
35 | 0,1,3,4,5,6,7,8,12,13 | 35 | 0,1,3,4,5,6,7,8,12,13 |
36 | }; | 36 | }; |
37 | const uint16_t m_arrCriticalValue[REALSENSOR_CONTROL_LIST_ITEM_MAX] = { | 37 | const uint16_t m_arrCriticalValue[REALSENSOR_CONTROL_LIST_ITEM_MAX] = { |
38 | - 320,120,120,270,300,300,300,300,80,80 | 38 | + 320,120,120,150,300,300,300,300,80,80 |
39 | }; | 39 | }; |
40 | 40 | ||
41 | Ui::RealtimeSensorWindow *ui; | 41 | Ui::RealtimeSensorWindow *ui; |
app/gui/oven_control/servicedata.cpp
@@ -79,7 +79,7 @@ bool ServiceData::loadServiceData(void){ | @@ -79,7 +79,7 @@ bool ServiceData::loadServiceData(void){ | ||
79 | if(fd>0){ | 79 | if(fd>0){ |
80 | memset(buffs,0x00,FRAM_SIZE); | 80 | memset(buffs,0x00,FRAM_SIZE); |
81 | read(fd,buffs,FRAM_SIZE); | 81 | read(fd,buffs,FRAM_SIZE); |
82 | - if(buffs[sizeof(error_log) + sizeof(use_statics_log) + sizeof(sensor_statics_log) + sizeof(qint64) + sizeof(int)] != 0x9C){ | 82 | + if(buffs[sizeof(error_log) + sizeof(use_statics_log) + sizeof(sensor_statics_log)] != 0x9C){ |
83 | qDebug() << "service data read incorrected!"; | 83 | qDebug() << "service data read incorrected!"; |
84 | close(fd); | 84 | close(fd); |
85 | return saveServiceData(); | 85 | return saveServiceData(); |
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); |
app/gui/oven_control/washwindow.cpp
@@ -9,6 +9,7 @@ | @@ -9,6 +9,7 @@ | ||
9 | #include "configwindow.h" | 9 | #include "configwindow.h" |
10 | #include "mainwindow.h" | 10 | #include "mainwindow.h" |
11 | #include "ovenstatics.h" | 11 | #include "ovenstatics.h" |
12 | +#include "cooldownpopup.h" | ||
12 | 13 | ||
13 | WashWindow::WashWindow(QWidget *parent) : | 14 | WashWindow::WashWindow(QWidget *parent) : |
14 | QMainWindow(parent), | 15 | QMainWindow(parent), |
@@ -73,9 +74,11 @@ WashWindow::WashWindow(QWidget *parent) : | @@ -73,9 +74,11 @@ WashWindow::WashWindow(QWidget *parent) : | ||
73 | ui->animation->load(":/images/animation/wash_02.png"); | 74 | ui->animation->load(":/images/animation/wash_02.png"); |
74 | ui->animation->load(":/images/animation/wash_03.png"); | 75 | ui->animation->load(":/images/animation/wash_03.png"); |
75 | ui->animation->load(":/images/animation/wash_04.png"); | 76 | ui->animation->load(":/images/animation/wash_04.png"); |
77 | + ui->animation->show(); | ||
78 | + ui->animation->start(300); | ||
76 | ui->washStepGauge->setValue(0); | 79 | ui->washStepGauge->setValue(0); |
77 | - ui->titleLabel->setText(tr("스팀통헹굼 진행 중입니다.")); | ||
78 | - ui->descLabel->setText(tr("완료될 때까지 문을 열지 마세요.")); | 80 | + ui->titleLabel->setText(tr("제품 스팀통을 세척 중입니다")); |
81 | + ui->descLabel->setText(tr("완료될 때까지 문을 열지 마세요\n제품의 스팀통 자동 세척 기능을 실행 중입니다")); | ||
79 | ui->washStepTypeLabel->setText(""); | 82 | ui->washStepTypeLabel->setText(""); |
80 | ui->washStepCountLabel->setText(""); | 83 | ui->washStepCountLabel->setText(""); |
81 | 84 | ||
@@ -85,6 +88,7 @@ WashWindow::WashWindow(QWidget *parent) : | @@ -85,6 +88,7 @@ WashWindow::WashWindow(QWidget *parent) : | ||
85 | 88 | ||
86 | WashWindow::~WashWindow() | 89 | WashWindow::~WashWindow() |
87 | { | 90 | { |
91 | + udp->turnOff(TG_CLEANING); | ||
88 | delete ui; | 92 | delete ui; |
89 | } | 93 | } |
90 | 94 | ||
@@ -131,21 +135,48 @@ void WashWindow::start(int type) | @@ -131,21 +135,48 @@ void WashWindow::start(int type) | ||
131 | if (type < 1 || type > 5) | 135 | if (type < 1 || type > 5) |
132 | return; | 136 | return; |
133 | 137 | ||
134 | - state = OpenDoor; | ||
135 | - | ||
136 | this->type = type; | 138 | this->type = type; |
137 | 139 | ||
138 | - returnToClockTimer.stop(); | 140 | + if (udp->getData().sensor1 > 60) |
141 | + { | ||
142 | + state = CoolDown; | ||
139 | 143 | ||
140 | - ui->animation->clear(); | ||
141 | - ui->animation->load(":/images/animation/pull_01.png"); | ||
142 | - ui->animation->load(":/images/animation/pull_02.png"); | ||
143 | - ui->animation->load(":/images/animation/pull_03.png"); | ||
144 | - ui->animation->load(":/images/animation/pull_04.png"); | ||
145 | - ui->animation->show(); | ||
146 | - ui->animation->start(300); | 144 | + CooldownPopup *p = new CooldownPopup(this, 60); |
145 | + p->setWindowModality(Qt::WindowModal); | ||
146 | + p->showFullScreen(); | ||
147 | + | ||
148 | + connect(p, SIGNAL(destroyed(QObject*)), SLOT(resume())); | ||
149 | + } | ||
150 | + else | ||
151 | + { | ||
152 | + state = OpenDoor; | ||
153 | + | ||
154 | + returnToClockTimer.stop(); | ||
155 | + | ||
156 | + ui->animation->clear(); | ||
157 | + ui->animation->load(":/images/animation/pull_01.png"); | ||
158 | + ui->animation->load(":/images/animation/pull_02.png"); | ||
159 | + ui->animation->load(":/images/animation/pull_03.png"); | ||
160 | + ui->animation->load(":/images/animation/pull_04.png"); | ||
161 | + ui->animation->show(); | ||
162 | + ui->animation->start(300); | ||
163 | + | ||
164 | + udp->set(TG_OVEN_MODE, 2); | ||
165 | + } | ||
166 | +} | ||
147 | 167 | ||
148 | - udp->set(TG_OVEN_MODE, 2); | 168 | +void WashWindow::resume() |
169 | +{ | ||
170 | + if (udp->getData().door_state) | ||
171 | + { | ||
172 | + state = CloseDoor; | ||
173 | + showCloseDoor(); | ||
174 | + } | ||
175 | + else | ||
176 | + { | ||
177 | + state = Request; | ||
178 | + request(); | ||
179 | + } | ||
149 | } | 180 | } |
150 | 181 | ||
151 | void WashWindow::stop() | 182 | void WashWindow::stop() |
@@ -217,6 +248,48 @@ void WashWindow::updateView() | @@ -217,6 +248,48 @@ void WashWindow::updateView() | ||
217 | } | 248 | } |
218 | } | 249 | } |
219 | 250 | ||
251 | +void WashWindow::showCloseDoor() | ||
252 | +{ | ||
253 | + ui->animation->clear(); | ||
254 | + ui->animation->load(":/images/animation/door_big_09.png"); | ||
255 | + ui->animation->load(":/images/animation/door_big_08.png"); | ||
256 | + ui->animation->load(":/images/animation/door_big_07.png"); | ||
257 | + ui->animation->load(":/images/animation/door_big_06.png"); | ||
258 | + ui->animation->load(":/images/animation/door_big_05.png"); | ||
259 | + ui->animation->load(":/images/animation/door_big_04.png"); | ||
260 | + ui->animation->load(":/images/animation/door_big_03.png"); | ||
261 | + ui->animation->load(":/images/animation/door_big_02.png"); | ||
262 | + ui->animation->load(":/images/animation/door_big_01.png"); | ||
263 | + ui->animation->start(300); | ||
264 | + ui->closeDoorArrow->show(); | ||
265 | +} | ||
266 | + | ||
267 | +void WashWindow::request() | ||
268 | +{ | ||
269 | + udp->set(TG_CLEAN_TYPE, type); | ||
270 | + udp->turnOn(TG_CLEANING); | ||
271 | + | ||
272 | + OvenStatistics::getInstance()->setWashState(true); | ||
273 | + | ||
274 | + SoundPlayer::playStart(); | ||
275 | + | ||
276 | + ui->closeDoorArrow->hide(); | ||
277 | + ui->animation->clear(); | ||
278 | + ui->animation->load(":/images/animation/wash_01.png"); | ||
279 | + ui->animation->load(":/images/animation/wash_02.png"); | ||
280 | + ui->animation->load(":/images/animation/wash_03.png"); | ||
281 | + ui->animation->load(":/images/animation/wash_04.png"); | ||
282 | + ui->animation->start(300); | ||
283 | + | ||
284 | + ui->washStepGauge->setValue(0); | ||
285 | + ui->titleLabel->setText(tr("기기의 내부를 세척 중입니다")); | ||
286 | + ui->descLabel->setText(tr("완료될 때까지 문을 열지 마세요.\n제품 내부의 자동 세척 기능을 실행 중입니다.")); | ||
287 | + ui->washStepTypeLabel->setText(""); | ||
288 | + ui->washStepCountLabel->setText(""); | ||
289 | + | ||
290 | + ui->upperStack->setCurrentIndex(1); | ||
291 | +} | ||
292 | + | ||
220 | void WashWindow::onChanged() | 293 | void WashWindow::onChanged() |
221 | { | 294 | { |
222 | if (state == Idle) | 295 | if (state == Idle) |
@@ -225,51 +298,20 @@ void WashWindow::onChanged() | @@ -225,51 +298,20 @@ void WashWindow::onChanged() | ||
225 | switch (state) | 298 | switch (state) |
226 | { | 299 | { |
227 | case Idle: | 300 | case Idle: |
301 | + case CoolDown: | ||
228 | return; | 302 | return; |
229 | case OpenDoor: | 303 | case OpenDoor: |
230 | if (udp->getData().door_state) | 304 | if (udp->getData().door_state) |
231 | { | 305 | { |
232 | state = CloseDoor; | 306 | state = CloseDoor; |
233 | - | ||
234 | - ui->animation->clear(); | ||
235 | - ui->animation->load(":/images/animation/door_big_09.png"); | ||
236 | - ui->animation->load(":/images/animation/door_big_08.png"); | ||
237 | - ui->animation->load(":/images/animation/door_big_07.png"); | ||
238 | - ui->animation->load(":/images/animation/door_big_06.png"); | ||
239 | - ui->animation->load(":/images/animation/door_big_05.png"); | ||
240 | - ui->animation->load(":/images/animation/door_big_04.png"); | ||
241 | - ui->animation->load(":/images/animation/door_big_03.png"); | ||
242 | - ui->animation->load(":/images/animation/door_big_02.png"); | ||
243 | - ui->animation->load(":/images/animation/door_big_01.png"); | ||
244 | - ui->closeDoorArrow->show(); | 307 | + showCloseDoor(); |
245 | } | 308 | } |
246 | break; | 309 | break; |
247 | case CloseDoor: | 310 | case CloseDoor: |
248 | if (!udp->getData().door_state) | 311 | if (!udp->getData().door_state) |
249 | { | 312 | { |
250 | state = Request; | 313 | state = Request; |
251 | - | ||
252 | - SoundPlayer::playStart(); | ||
253 | - | ||
254 | - ui->closeDoorArrow->hide(); | ||
255 | - ui->animation->clear(); | ||
256 | - | ||
257 | - ui->animation->load(":/images/animation/wash_01.png"); | ||
258 | - ui->animation->load(":/images/animation/wash_02.png"); | ||
259 | - ui->animation->load(":/images/animation/wash_03.png"); | ||
260 | - ui->animation->load(":/images/animation/wash_04.png"); | ||
261 | - ui->washStepGauge->setValue(0); | ||
262 | - ui->titleLabel->setText(tr("기기의 내부를 세척 중입니다")); | ||
263 | - ui->descLabel->setText(tr("완료될 때까지 문을 열지 마세요.\n기기의 내부의 자동 세척 기능을 실행 중입니다.")); | ||
264 | - ui->washStepTypeLabel->setText(""); | ||
265 | - ui->washStepCountLabel->setText(""); | ||
266 | - | ||
267 | - ui->upperStack->setCurrentIndex(1); | ||
268 | - | ||
269 | - udp->set(TG_CLEAN_TYPE, type); | ||
270 | - udp->turnOn(TG_CLEANING); | ||
271 | - | ||
272 | - OvenStatistics::getInstance()->setWashState(true); | 314 | + request(); |
273 | } | 315 | } |
274 | break; | 316 | break; |
275 | case Request: | 317 | case Request: |
@@ -337,6 +379,8 @@ void WashWindow::onChanged() | @@ -337,6 +379,8 @@ void WashWindow::onChanged() | ||
337 | } | 379 | } |
338 | else | 380 | else |
339 | { | 381 | { |
382 | + state = Idle; | ||
383 | + SoundPlayer::playStop(); | ||
340 | OvenStatistics::getInstance()->setWashState(false); | 384 | OvenStatistics::getInstance()->setWashState(false); |
341 | 385 | ||
342 | ui->titleLabel->setText(tr("세척이 종료되었습니다")); | 386 | ui->titleLabel->setText(tr("세척이 종료되었습니다")); |
@@ -366,6 +410,7 @@ void WashWindow::on_backButton_clicked() | @@ -366,6 +410,7 @@ void WashWindow::on_backButton_clicked() | ||
366 | case Running: | 410 | case Running: |
367 | stop(); | 411 | stop(); |
368 | break; | 412 | break; |
413 | + case CoolDown: | ||
369 | case Stopping: | 414 | case Stopping: |
370 | case RequestClean: | 415 | case RequestClean: |
371 | case RunningClean: | 416 | case RunningClean: |
@@ -393,6 +438,7 @@ void WashWindow::on_configButton_clicked() | @@ -393,6 +438,7 @@ void WashWindow::on_configButton_clicked() | ||
393 | case Running: | 438 | case Running: |
394 | stop(); | 439 | stop(); |
395 | break; | 440 | break; |
441 | + case CoolDown: | ||
396 | case Stopping: | 442 | case Stopping: |
397 | case RequestClean: | 443 | case RequestClean: |
398 | case RunningClean: | 444 | case RunningClean: |
app/gui/oven_control/washwindow.h
@@ -24,11 +24,15 @@ protected: | @@ -24,11 +24,15 @@ protected: | ||
24 | 24 | ||
25 | private slots: | 25 | private slots: |
26 | void start(int type); | 26 | void start(int type); |
27 | + void resume(); | ||
27 | void stop(); | 28 | void stop(); |
28 | void returnToClock(); | 29 | void returnToClock(); |
29 | void updateGauge(); | 30 | void updateGauge(); |
30 | void updateView(); | 31 | void updateView(); |
31 | 32 | ||
33 | + void showCloseDoor(); | ||
34 | + void request(); | ||
35 | + | ||
32 | void onChanged(); | 36 | void onChanged(); |
33 | 37 | ||
34 | void on_backButton_clicked(); | 38 | void on_backButton_clicked(); |
@@ -40,7 +44,7 @@ private: | @@ -40,7 +44,7 @@ private: | ||
40 | UdpHandler *udp; | 44 | UdpHandler *udp; |
41 | 45 | ||
42 | enum State { | 46 | enum State { |
43 | - Idle, OpenDoor, CloseDoor, Request, Running, Stopping, | 47 | + Idle, CoolDown, OpenDoor, CloseDoor, Request, Running, Stopping, |
44 | RequestClean, RunningClean | 48 | RequestClean, RunningClean |
45 | } state = Idle; | 49 | } state = Idle; |
46 | 50 |