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 |