diff --git a/app/gui/oven_control/configmastervolumedlg.cpp b/app/gui/oven_control/configmastervolumedlg.cpp index 4eef98a..25ffd1d 100644 --- a/app/gui/oven_control/configmastervolumedlg.cpp +++ b/app/gui/oven_control/configmastervolumedlg.cpp @@ -1,3 +1,4 @@ + #include "configmastervolumedlg.h" #include "ui_configmastervolumedlg.h" @@ -19,8 +20,9 @@ ConfigVolumeDlg::ConfigVolumeDlg(QWidget *parent, ConfigType type) : qApp->setActiveWindow(this); this->setFocus(); - foreach (QPushButton *button, findChildren()) - connect(button, &QPushButton::pressed, SoundPlayer::playClick); + + connect(ui->ctrBtnOk, &QPushButton::pressed, SoundPlayer::playClick); + connect(ui->ctrBtnCancel, &QPushButton::pressed, SoundPlayer::playClick); if(type == config_keypad_sound2){ diff --git a/app/gui/oven_control/configwindow.cpp b/app/gui/oven_control/configwindow.cpp index 3cb606c..9b8bee2 100644 --- a/app/gui/oven_control/configwindow.cpp +++ b/app/gui/oven_control/configwindow.cpp @@ -283,17 +283,18 @@ void ConfigWindow::reloadUi(void){ Config* cfg = Config::getInstance(); QString strtemp=""; + for(i = 0; i < m_vectorMenuList.count();i++){ pw = pws[i]; ui->scrollAreaMenuLayout->removeWidget(pw); - delete pw; + pw->deleteLater(); } m_vectorMenuList.clear(); for(i=0;iscrollAreaMenuLayout->removeWidget(fpw); - delete fpw; + fpw->deleteLater(); } m_vectorFavorMenuList.clear(); diff --git a/app/gui/oven_control/define.h b/app/gui/oven_control/define.h index 348fbab..2b46564 100644 --- a/app/gui/oven_control/define.h +++ b/app/gui/oven_control/define.h @@ -4,8 +4,8 @@ #include #define MAJOR_VER 0 -#define MINOR_VER 3 -#define HOTFIX_VER 15 +#define MINOR_VER 4 +#define HOTFIX_VER 0 namespace Define { diff --git a/app/gui/oven_control/errorpopupdlg.cpp b/app/gui/oven_control/errorpopupdlg.cpp index c68a624..9b2a497 100644 --- a/app/gui/oven_control/errorpopupdlg.cpp +++ b/app/gui/oven_control/errorpopupdlg.cpp @@ -5,7 +5,7 @@ #include "soundplayer.h" #include "udphandler.h" -ErrorPopupDlg::ErrorPopupDlg(QWidget *parent, const QString &MsgDesc, const QString &MsgTitle, bool sendClrCmd,int erridx) : +ErrorPopupDlg::ErrorPopupDlg(QWidget *parent, const QString &MsgDesc, const QString &MsgTitle, bool sendClrCmd,int erridx, int errsound) : QDialog(parent), ui(new Ui::ErrorPopupDlg) { @@ -15,14 +15,36 @@ ErrorPopupDlg::ErrorPopupDlg(QWidget *parent, const QString &MsgDesc, const QStr this->setWindowFlags(Qt::FramelessWindowHint); //ui->centralwidget->setWindowFlags(Qt::FramelessWindowHint); + + //if(MsgDesc.length()> ) + + qDebug() << "msgdesc length is " << MsgDesc.length(); + + + + if(MsgDesc.size()>100){ + QFont font = ui->ctrlWarnDescription->font(); + font.setPointSize(font.pointSize() - 1); + ui->ctrlWarnDescription->setFont(font); + } + + + ui->ctrlWarnDescription->setText(MsgDesc); ui->ctrlWarnTitle->setText(MsgTitle); m_pParent = parent; - foreach (QPushButton *button, findChildren()) - connect(button, &QPushButton::pressed, SoundPlayer::playClick); +// foreach (QPushButton *button, findChildren()) +// connect(button, &QPushButton::pressed, SoundPlayer::playClick); m_bClrCmd = sendClrCmd; m_nErrIdx = erridx; + + if(errsound == 1){ + SoundPlayer::repeatError1(); + } + else if(errsound ==2){ + SoundPlayer::repeatError2(); + } } ErrorPopupDlg::~ErrorPopupDlg() @@ -32,6 +54,7 @@ ErrorPopupDlg::~ErrorPopupDlg() void ErrorPopupDlg::on_ctrlOkBtn_clicked() { + SoundPlayer::stop(); emit closedErrorPopup(m_nErrIdx); qApp->setActiveWindow(m_pParent); this->hide(); diff --git a/app/gui/oven_control/errorpopupdlg.h b/app/gui/oven_control/errorpopupdlg.h index fe21d85..b0c10cf 100644 --- a/app/gui/oven_control/errorpopupdlg.h +++ b/app/gui/oven_control/errorpopupdlg.h @@ -12,7 +12,7 @@ class ErrorPopupDlg : public QDialog Q_OBJECT public: - explicit ErrorPopupDlg(QWidget *parent = 0, const QString &MsgDesc=0, const QString &MsgTitle=0, bool sendClrCmd = false, int erridx = -1); + explicit ErrorPopupDlg(QWidget *parent = 0, const QString &MsgDesc=0, const QString &MsgTitle=0, bool sendClrCmd = false, int erridx = -1, int errsound=0); ~ErrorPopupDlg(); signals: diff --git a/app/gui/oven_control/ovenstatics.cpp b/app/gui/oven_control/ovenstatics.cpp index 956fef1..1c0670b 100644 --- a/app/gui/oven_control/ovenstatics.cpp +++ b/app/gui/oven_control/ovenstatics.cpp @@ -74,6 +74,7 @@ void OvenStatistics::onDataChanged() time(<ime); if((control.cooking || oven->cooking() || oven->preheating() || oven->cooldown())) cookingstate = 1; + else if(state.cleaning_sate != 0 ) cookingstate = 2; if(oven->cooking() && control.system){ if(state.door_state ==1 && curdoorstate==0){ @@ -121,71 +122,72 @@ void OvenStatistics::processSensorError(uint16_t errflag, time_t ltime){ if( control.system==0 && !bCookingState ) state = SYS_OFF_COOK_OFF; else if(control.system != 0 && !bCookingState) state = SYS_ON_COOK_OFF; else if(control.system !=0 && bCookingState) state = SYS_ON_COOK_ON; + else if(control.system !=0 && this->state.cleaning_sate !=0 ) state = SYS_ON_WASH; else state = SYS_ON_COOK_OFF; if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_1)){ item = &(srvdata->err_log.items.inner_temp_fail); - strTitle = tr("내부 온도 이상 발생"); - strMsg = tr("내부 온도 센서에 이상이 발생하였습니다."); - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_1],strMsg,strTitle, ltime); + strTitle = tr("내부 온도 센서 이상"); + strMsg = tr("조리실 내부 온도센서 오류가 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오."); + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_1],strMsg,strTitle, ltime, sensor_err_sound_def[SENSOR_ERR_SENSOR_1]); } if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_2)){ item = &(srvdata->err_log.items.qunching_temp_fail); - strTitle = tr("퀀칭 온도 이상 발생"); - strMsg = tr("퀀칭 온도에 이상이 발생하였습니다."); - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_2],strMsg,strTitle, ltime); + strTitle = tr("배수 탱크 온도 센서 이상"); + strMsg = tr("배수 탱크 온도센서 오류가 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오."); + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_2],strMsg,strTitle, ltime,sensor_err_sound_def[SENSOR_ERR_SENSOR_2]); } if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_3)){ //Reserved allerrornoe 설정 item = &(srvdata->err_log.items.qunching_temp_fail); - strTitle = tr("퀀칭 온도 이상 발생"); - strMsg = tr("퀀칭 온도 센서에 이상이 발생하였습니다."); - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_3],strMsg,strTitle, ltime); + strTitle = tr("퀀칭 온도 센서 발생"); + strMsg = tr("퀀칭 온도센서 오류가 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오."); + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_3],strMsg,strTitle, ltime,sensor_err_sound_def[SENSOR_ERR_SENSOR_3]); } if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_4)){ item = &(srvdata->err_log.items.wall_temp1_fail); - strTitle = tr("벽면 온도 이상 발생"); - strMsg = tr("벽면 온도 센서에 이상이 발생하였습니다."); - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_4],strMsg,strTitle, ltime); + strTitle = tr("벽면 온도 센서 이상"); + strMsg = tr("조리실 벽면 센서 오류가 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오."); + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_4],strMsg,strTitle, ltime,sensor_err_sound_def[SENSOR_ERR_SENSOR_4]); } if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_5)){ item = &(srvdata->err_log.items.steam_gen_temp_fail); - strTitle = tr("스팀제네레이터 온도 이상 발생"); - strMsg = tr("스팀제네레이터 온도 센서에 이상이 발생하였습니다."); - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_5],strMsg,strTitle, ltime); + strTitle = tr("스팀발생기 온도 센서 이상"); + strMsg = tr("스팀발생기 내부 센서 오류가 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오."); + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_5],strMsg,strTitle, ltime,sensor_err_sound_def[SENSOR_ERR_SENSOR_5]); } if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_6)){ item = &(srvdata->err_log.items.meatprove_temp1_fail); - strTitle = tr("미트프로브 온도 이상 발생"); - strMsg = tr("미트프로브 온도 센서에 이상이 발생하였습니다."); - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_6],strMsg,strTitle, ltime); + strTitle = tr("중심온도 센서 이상"); + strMsg = tr("중심온도계 센서 오류가 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오."); + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_6],strMsg,strTitle, ltime,sensor_err_sound_def[SENSOR_ERR_SENSOR_6]); } if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_7)){ //Reseved item = &(srvdata->err_log.items.meatprove_temp2_fail); - strTitle = tr("미트프로브2 온도 이상 발생"); - strMsg = tr("미트프로브2 온도 센서에 이상이 발생하였습니다."); - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_7],strMsg , strTitle, ltime); + strTitle = tr("중심온도 센서 이상"); + strMsg = tr("중심온도계 센서 오류가 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오."); + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_7],strMsg , strTitle, ltime,sensor_err_sound_def[SENSOR_ERR_SENSOR_7]); } if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_8)){ //Reserved item = &(srvdata->err_log.items.meatprove_temp3_fail); - strMsg = tr("미트프로브3 온도 센서에 이상이 발생하였습니다."); - strTitle = tr("미트프로브3 온도 이상 발생"); - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_8],strMsg,strTitle, ltime); + strTitle = tr("중심온도 센서 이상"); + strMsg = tr("중심온도계 센서 오류가 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오."); + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_8],strMsg,strTitle, ltime,sensor_err_sound_def[SENSOR_ERR_SENSOR_8]); } if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_9)){ //Reserved item = &(srvdata->err_log.items.meatprove_temp4_fail); - strMsg = tr("미트프로브4 온도 센서에 이상이 발생하였습니다."); - strTitle = tr("미트프로브4 온도 이상 발생"); - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_9],strMsg,strTitle, ltime); + strTitle = tr("중심온도 센서 이상"); + strMsg = tr("중심온도계 센서 오류가 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오."); + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_9],strMsg,strTitle, ltime,sensor_err_sound_def[SENSOR_ERR_SENSOR_9]); } if(errflag & MAKE_MASK(SENSOR_ERR_SENSOR_10)){ item = &(srvdata->err_log.items.pcb_temp_fail); - strMsg = tr("PCB 온도 센서에 이상이 발생하였습니다."); - strTitle = tr("PCB 온도 이상 발생"); - processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_10],strMsg,strTitle, ltime); + strTitle = tr("PCB온도 과열 이상"); + strMsg = tr("PCB 과열 안전장치가 작동하였습니다.\n제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오."); + processErrorItems(item,sensor_err_type_def[state][SENSOR_ERR_SENSOR_10],strMsg,strTitle, ltime,sensor_err_sound_def[SENSOR_ERR_SENSOR_10]); } } @@ -197,37 +199,38 @@ void OvenStatistics::processCommError(uint16_t errflag, time_t ltime){ if( control.system==0 && !bCookingState ) state = SYS_OFF_COOK_OFF; else if(control.system != 0 && !bCookingState) state = SYS_ON_COOK_OFF; else if(control.system !=0 && bCookingState) state = SYS_ON_COOK_ON; + else if(control.system !=0 && this->state.cleaning_sate !=0 ) state = SYS_ON_WASH; else state = SYS_ON_COOK_OFF; if(errflag & MAKE_MASK(COMM_ERR_BUNNER1)){ item = &(srvdata->err_log.items.upper_pan_fail); - strMsg = tr("상부 송풍기 통신 이상 발생"); - strTitle = tr("상부 송풍기 이상 발생"); - processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER1],strMsg,strTitle, ltime); + strTitle = tr("상부 버너 컨트롤러 통신 이상"); + strMsg = tr("상부 버너 컨트롤러 PCB 통신 불량이 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오."); + processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER1],strMsg,strTitle, ltime, comm_err_sound_def[COMM_ERR_BUNNER1]); } if(errflag & MAKE_MASK(COMM_ERR_BUNNER2)){ item = &(srvdata->err_log.items.lower_pan_fail); - strMsg = tr("하부 송풍기 통신 이상 발생"); - strTitle = tr("하부 송풍기 이상 발생"); - processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER2],strMsg,strTitle, ltime); + strTitle = tr("하부 버너 컨트롤러 통신 이상"); + strMsg = tr("하 버너 컨트롤러 PCB 통신 불량이 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오."); + processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER2],strMsg,strTitle, ltime, comm_err_sound_def[COMM_ERR_BUNNER2]); } if(errflag & MAKE_MASK(COMM_ERR_BUNNER3)){ item = &(srvdata->err_log.items.steam_pan_fail); - strMsg = tr("스팀 송풍기 통신 이상 발생"); - strTitle = tr("스팀 송풍기 이상 발생"); - processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER3],strMsg,strTitle, ltime); + strTitle = tr("스팀 버너 컨트롤러 통신 이상"); + strMsg = tr("스팀발생기 버너 컨트롤러 PCB 통신 불량이 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오."); + processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER3],strMsg,strTitle, ltime, comm_err_sound_def[COMM_ERR_BUNNER3]); } if(errflag & MAKE_MASK(COMM_ERR_LOWERFAN)){ item = &(srvdata->err_log.items.lower_motor_fail); - strMsg = tr("하부 FAN 컨트롤러 통신 이상 발생"); - strTitle = tr("하부 FAN 컨트롤러 이상 발생"); - processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER2],strMsg,strTitle, ltime); + strTitle = tr("하부 FAN 모터 컨트롤러 이상"); + strMsg = tr("하부 Fan 모터 컨트롤러 이상 상황이 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오."); + processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER2],strMsg,strTitle, ltime, comm_err_sound_def[COMM_ERR_LOWERFAN]); } if(errflag & MAKE_MASK(COMM_ERR_UPPERFAN)){ item = &(srvdata->err_log.items.upper_motor_fail); - strMsg = tr("상부 FAN 컨트롤러 통신 이상 발생"); - strTitle = tr("상부 FAN 컨트롤러 이상 발생"); - processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER2],strMsg,strTitle, ltime); + strTitle = tr("상부 FAN 모터 컨트롤러 이상"); + strMsg = tr("상부 Fan 모터 컨트롤러 이상 상황이 발생하였습니다.\n제품의 전원을 OFF한 후 다시 ON해 주십시오.\n이 후에도 문제가 해결되지 않을 경우, 서비스센터로 연락하여 주십시오."); + processErrorItems(item,comm_err_type_def[state][COMM_ERR_BUNNER2],strMsg,strTitle, ltime, comm_err_sound_def[COMM_ERR_UPPERFAN]); } } @@ -239,37 +242,38 @@ void OvenStatistics::processStateError(uint16_t errflag, time_t ltime){ if( control.system==0 && !bCookingState ) state = SYS_OFF_COOK_OFF; else if(control.system != 0 && !bCookingState) state = SYS_ON_COOK_OFF; else if(control.system !=0 && bCookingState) state = SYS_ON_COOK_ON; + else if(control.system !=0 && this->state.cleaning_sate !=0 ) state = SYS_ON_WASH; else state = SYS_ON_COOK_OFF; if(errflag & MAKE_MASK(STATE_ERR_BUNNER1)){ item = &(srvdata->err_log.items.upper_pan_fail); strMsg = tr("버너컨트롤러 1 이상 발생하였습니다."); strTitle = tr("버너컨트롤러 1 이상 발생"); - processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER1],strMsg,strTitle, ltime); + processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER1],strMsg,strTitle, ltime, state_err_sound_def[STATE_ERR_BUNNER1]); } if(errflag & MAKE_MASK(STATE_ERR_BUNNER2)){ item = &(srvdata->err_log.items.lower_pan_fail); strMsg = tr("버너컨트롤러 2 이상 발생하였습니다."); strTitle = tr("버너컨트롤러 2 이상 발생"); - processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER2],strMsg,strTitle, ltime); + processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER2],strMsg,strTitle, ltime, state_err_sound_def[STATE_ERR_BUNNER2]); } if(errflag & MAKE_MASK(STATE_ERR_BUNNER3)){ item = &(srvdata->err_log.items.steam_pan_fail); strMsg = tr("버너컨트롤러 3 이상 발생하였습니다."); strTitle = tr("버너컨트롤러 3 이상 발생"); - processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER3],strMsg,strTitle, ltime); + processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER3],strMsg,strTitle, ltime, state_err_sound_def[STATE_ERR_BUNNER3]); } if(errflag & MAKE_MASK(STATE_ERR_LOWERFAN)){ item = &(srvdata->err_log.items.lower_motor_fail); strMsg = tr("하부 FAN 컨트롤러 이상 발생하였습니다."); strTitle = tr("하부 FAN 컨트롤러 이상 발생"); - processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER2],strMsg,strTitle, ltime); + processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER2],strMsg,strTitle, ltime, state_err_sound_def[STATE_ERR_LOWERFAN]); } if(errflag & MAKE_MASK(STATE_ERR_UPPERFAN)){ item = &(srvdata->err_log.items.upper_motor_fail); strMsg = tr("상부 FAN 컨트롤러 이상 발생하였습니다."); strTitle = tr("상부 FAN 컨트롤러 이상 발생"); - processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER2],strMsg,strTitle, ltime); + processErrorItems(item,state_err_type_def[state][STATE_ERR_BUNNER2],strMsg,strTitle, ltime, state_err_sound_def[STATE_ERR_UPPERFAN]); } } @@ -281,73 +285,74 @@ void OvenStatistics::processSystemError(uint16_t errflag,time_t ltime){ if( control.system==0 && !bCookingState ) state = SYS_OFF_COOK_OFF; else if(control.system != 0 && !bCookingState) state = SYS_ON_COOK_OFF; else if(control.system !=0 && bCookingState) state = SYS_ON_COOK_ON; + else if(control.system !=0 && this->state.cleaning_sate !=0 ) state = SYS_ON_WASH; else state = SYS_ON_COOK_OFF; if( errflag & MAKE_MASK(SYS_ERR_FIRE_TRIGGER1)){ //버너 컨트롤러 1 착화 이상 item = &(srvdata->err_log.items.upper_fire_fail); - strMsg = tr("상부 버너 착화가 되지 않습니다."); - strTitle = tr("상부 버너 착화 이상 발생"); - processErrorItems(item, sys_err_type_def[state][SYS_ERR_FIRE_TRIGGER1],strMsg,strTitle,ltime); + strTitle = tr("상부 버너 착화 이상"); + strMsg = tr("상부 버너 착화 이상 안전장치가 작동하였습니다.\n제품의 전원을 OFF한 후 가스 밸브가 잠겨있는지 확인 해 주십시오.\n가스 밸브가 열려 있는데도 에러 발생 시, 즉시 서비스센터에 연락하여 주십시오."); + processErrorItems(item, sys_err_type_def[state][SYS_ERR_FIRE_TRIGGER1],strMsg,strTitle,ltime, sys_err_sound_def[SYS_ERR_FIRE_TRIGGER1]); } if(errflag & MAKE_MASK(SYS_ERR_FIRE_TRIGGER2)){ //버너 컨트롤러 2 착화 이상 item = &(srvdata->err_log.items.lower_fire_fail); - strMsg = tr("하부 버너 착화가 되지 않습니다."); - strTitle = tr("하부 버너 착화 이상 발생"); - processErrorItems(item, sys_err_type_def[state][SYS_ERR_FIRE_TRIGGER2],strMsg,strTitle,ltime); + strTitle = tr("하부 버너 착화 이상"); + strMsg = tr("하부 버너 착화 이상 안전장치가 작동하였습니다.\n제품의 전원을 OFF한 후 가스 밸브가 잠겨있는지 확인 해 주십시오.\n가스 밸브가 열려 있는데도 에러 발생 시, 즉시 서비스센터에 연락하여 주십시오."); + processErrorItems(item, sys_err_type_def[state][SYS_ERR_FIRE_TRIGGER2],strMsg,strTitle,ltime, sys_err_sound_def[SYS_ERR_FIRE_TRIGGER1]); } if(errflag & MAKE_MASK(SYS_ERR_FIRE_TRIGGER3)){ item = &(srvdata->err_log.items.steam_fire_fail); - strMsg = tr("스팀 버너 착화가 되지 않습니다."); - strTitle = tr("스팀 버너 착화 이상 발생"); - processErrorItems(item, sys_err_type_def[state][SYS_ERR_FIRE_TRIGGER3],strMsg,strTitle,ltime); + strTitle = tr("스팀 버너 착화 이상"); + strMsg = tr("스팀발생기 버너 착화 이상 안전장치가 작동하였습니다.\n제품의 전원을 OFF한 후 가스 밸브가 잠겨있는지 확인 해 주십시오.\n가스 밸브가 열려 있는데도 에러 발생 시, 즉시 서비스센터에 연락하여 주십시오."); + processErrorItems(item, sys_err_type_def[state][SYS_ERR_FIRE_TRIGGER3],strMsg,strTitle,ltime, sys_err_sound_def[SYS_ERR_FIRE_TRIGGER3]); } if(errflag & MAKE_MASK(SYS_ERR_OVNE_TEMP_ALARM)){ item = &(srvdata->err_log.items.inner_temp_high_alarm); - strMsg = tr("내부 온도가 과열되었습니다."); - strTitle = tr("내부 온도 과열 발생"); - processErrorItems(item, sys_err_type_def[state][SYS_ERR_OVNE_TEMP_ALARM],strMsg,strTitle,ltime); + strTitle = tr("내부 온도 과열 이상"); + strMsg = tr("조리실 내부 과열 안전장치가 작동하였습니다.\n제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오."); + processErrorItems(item, sys_err_type_def[state][SYS_ERR_OVNE_TEMP_ALARM],strMsg,strTitle,ltime,sys_err_sound_def[SYS_ERR_OVNE_TEMP_ALARM]); } if(errflag & MAKE_MASK(SYS_ERR_QUN_TEMP_ALARM)){ //퀀칭 온도 센서 과열 item = &(srvdata->err_log.items.qunching_temp_high_alarm); - strTitle = tr("퀀칭 온도 센서 이상 발생"); - strMsg = tr("퀀칭 온도 센서가 과열되었습니다"); - processErrorItems(item, sys_err_type_def[state][SYS_ERR_QUN_TEMP_ALARM],strMsg,strTitle,ltime); + strTitle = tr("배수 탱크 온도 과열 이상"); + strMsg = tr("배수 탱크 과열 안전장치가 작동하였습니다.\n제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오."); + processErrorItems(item, sys_err_type_def[state][SYS_ERR_QUN_TEMP_ALARM],strMsg,strTitle,ltime,sys_err_sound_def[SYS_ERR_QUN_TEMP_ALARM]); } if(errflag & MAKE_MASK(SYS_ERR_CENTER_TEMP_ALARM)){ //중심 온도 과열 item = &(srvdata->err_log.items.meatprove_temp1_high_alarm); - strTitle = tr("미트프로브 온도 센서 이상 발생."); - strMsg = tr("미트프로브 온도 센서 과열되었습니다."); - processErrorItems(item, sys_err_type_def[state][SYS_ERR_CENTER_TEMP_ALARM],strMsg,strTitle,ltime); + strTitle = tr("중심 온도 과열 이상"); + strMsg = tr("중심온도계 과열 안전장치가 작동하였습니다.\n제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오."); + processErrorItems(item, sys_err_type_def[state][SYS_ERR_CENTER_TEMP_ALARM],strMsg,strTitle,ltime, sys_err_sound_def[SYS_ERR_CENTER_TEMP_ALARM]); } if(errflag & MAKE_MASK(SYS_ERR_WALL_TEMP_ALARM)){ item = &(srvdata->err_log.items.wall_temp1_high_alarm); - strTitle = tr("벽면 온도 센서 이상 발생."); - strMsg = tr("벽면 온도 센서가 과열 되었습니다."); - processErrorItems(item, sys_err_type_def[state][SYS_ERR_WALL_TEMP_ALARM],strMsg,strTitle,ltime); + strTitle = tr("벽면 온도 과열 이상"); + strMsg = tr("조리실 벽면 과열 안전장치가 작동하였습니다.\n제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오."); + processErrorItems(item, sys_err_type_def[state][SYS_ERR_WALL_TEMP_ALARM],strMsg,strTitle,ltime, sys_err_sound_def[SYS_ERR_WALL_TEMP_ALARM]); } if(errflag & MAKE_MASK(SYS_ERR_STAM_TEMP_ALARM)){ item = &(srvdata->err_log.items.steam_gen_temp_high_alram); - strTitle = tr("스팀제네레이터 온도 이상 발생."); - strMsg = tr("스팀제네레이터 온도 센서가 과열 되었습니다."); - processErrorItems(item, sys_err_type_def[state][SYS_ERR_STAM_TEMP_ALARM],strMsg,strTitle,ltime); + strTitle = tr("스팀 온도 과열 이상"); + strMsg = tr("스팀통 내부 과열 안전장치가 작동하였습니다.\n제품의 전원을 OFF한 뒤, 즉시 서비스센터에 연락하여 주십시오."); + processErrorItems(item, sys_err_type_def[state][SYS_ERR_STAM_TEMP_ALARM],strMsg,strTitle,ltime, sys_err_sound_def[SYS_ERR_STAM_TEMP_ALARM]); } if(errflag & MAKE_MASK(SYS_ERR_WATER_SPLY_FAIL)){ //급수 이상 -> 유량 센서 이상 item = &(srvdata->err_log.items.water_level_sensor_fail); - strTitle = tr("급수 이상 발생"); - strMsg = tr("급수가 되지 않습니다."); - processErrorItems(item, sys_err_type_def[state][SYS_ERR_WATER_SPLY_FAIL],strMsg,strTitle,ltime); + strTitle = tr("급수 이상"); + strMsg = tr("제품 급수이상 안전장치가 작동하였습니다.\n제품에 들어가는 물 공급을 확인하십시오.\n물 공급이 정상적으로 들어갈 시 즉시 서비스센터에 연락하여 주십시오.\n단수 유무는 샤워건을 사용하십시오."); + processErrorItems(item, sys_err_type_def[state][SYS_ERR_WATER_SPLY_FAIL],strMsg,strTitle,ltime, sys_err_sound_def[SYS_ERR_WATER_SPLY_FAIL]); } if(errflag & MAKE_MASK(SYS_ERR_WATER_LEVEL_FAIL)){ //급수 이상 -> 수위 센서 이상 item = &(srvdata->err_log.items.water_level_sensor_fail); - strTitle = tr("급수 이상 발생"); - strMsg = tr("급수가 되지 않습니다."); - processErrorItems(item, sys_err_type_def[state][SYS_ERR_WATER_LEVEL_FAIL],strMsg,strTitle,ltime); + strTitle = tr("수위 센서 이상"); + strMsg = tr("스팀통 수위 감지 안전장치가 작동하였습니다.\n제품에 들어가는 물 공급을 확인하십시오.\n물 공급이 정상적으로 들어갈 시 즉시 서비스센터에 연락하여 주십시오.\n단수 유무는 샤워건을 사용하십시오."); + processErrorItems(item, sys_err_type_def[state][SYS_ERR_WATER_LEVEL_FAIL],strMsg,strTitle,ltime, sys_err_sound_def[SYS_ERR_WATER_LEVEL_FAIL]); } } @@ -374,6 +379,7 @@ void OvenStatistics::oneSecTimerFired(void){ uint16_t errstatetemp=0; int cookingstate=0; if((control.cooking || oven->cooking() || oven->preheating() || oven->cooldown())) cookingstate =1; + else if(state.cleaning_sate !=0) cookingstate = 2; ltime = time(NULL); @@ -393,14 +399,14 @@ void OvenStatistics::oneSecTimerFired(void){ nCommErrVal = state.communication_error; if(nCommErrVal ==0) { curCommErrorState = nCommErrVal; - nCommErrValStableCnt = 60; + nCommErrValStableCnt = DELAY_ERROR_TIME; } else { nCommErrValStableCnt=0; } } else{ - if(nCommErrValStableCnt >=60){ + if(nCommErrValStableCnt >=DELAY_ERROR_TIME){ errstatetemp = state.communication_error; if(errstatetemp!=0 && errstatetemp != curCommErrorState ){ processCommError( (errstatetemp & comm_err_mask[cookingstate][cfg->getConfigValue(Define::config_model).d32]),ltime ); @@ -414,14 +420,14 @@ void OvenStatistics::oneSecTimerFired(void){ nStateErrVal = state.controller_error; if(nStateErrVal == 0 ) { curControlErrorState = nStateErrVal; - nStateErrValStableCnt=60; + nStateErrValStableCnt=DELAY_ERROR_TIME; } else{ nStateErrValStableCnt=0; } } else{ - if(nStateErrValStableCnt>=60){ + if(nStateErrValStableCnt>=DELAY_ERROR_TIME){ errstatetemp = state.controller_error; if(errstatetemp != 0 && errstatetemp != curControlErrorState){ processStateError((errstatetemp&state_err_mask[cookingstate][cfg->getConfigValue(Define::config_model).d32]),ltime); @@ -604,7 +610,7 @@ void OvenStatistics::oneSecTimerFired(void){ } -void OvenStatistics::processErrorItems(error_item *item, error_exe_type errtype, const QString &MsgDesc, const QString &MsgTitle, time_t ltime){ +void OvenStatistics::processErrorItems(error_item *item, error_exe_type errtype, const QString &MsgDesc, const QString &MsgTitle, time_t ltime, error_sound_type sndtype){ QWidget* pParent; uint32_t erridx = (uint32_t) (item - &(srvdata->err_log.values[0])); @@ -646,7 +652,7 @@ void OvenStatistics::processErrorItems(error_item *item, error_exe_type errtype, case error_type_popclrstopcmd: { if(m_mapPopupList.find(erridx) == m_mapPopupList.end()){ - ErrorPopupDlg *dlg = new ErrorPopupDlg(pParent,MsgDesc,MsgTitle , (errtype > error_type_clrsplit), erridx); + ErrorPopupDlg *dlg = new ErrorPopupDlg(pParent,MsgDesc,MsgTitle , (errtype > error_type_clrsplit), erridx, sndtype); connect(dlg,SIGNAL(closedErrorPopup(int)), this, SLOT(onErrorPopupClosed(int))); m_mapPopupList.insert(erridx,dlg); qApp->setActiveWindow(dlg); @@ -662,7 +668,7 @@ void OvenStatistics::processErrorItems(error_item *item, error_exe_type errtype, //EngineerMenuWindow *w = new EngineerMenuWindow(0); //w->showFullScreen(); if(m_mapPopupList.find(erridx)==m_mapPopupList.end()){ - ErrorPopupDlg *dlg = new ErrorPopupDlg(pParent,MsgDesc,MsgTitle, false,erridx); + ErrorPopupDlg *dlg = new ErrorPopupDlg(pParent,MsgDesc,MsgTitle, false,erridx,sndtype); connect(dlg,SIGNAL(closedErrorPopup(int)),this,SLOT(onErrorPopupClosed(int))); m_mapPopupList.insert(erridx,dlg); dlg->showFullScreen(); diff --git a/app/gui/oven_control/ovenstatics.h b/app/gui/oven_control/ovenstatics.h index 50a0868..7ce976d 100644 --- a/app/gui/oven_control/ovenstatics.h +++ b/app/gui/oven_control/ovenstatics.h @@ -12,8 +12,8 @@ #define MAX_MODEL_COUNT 12 -#define SYS_STATE_MAX 4 - +#define SYS_STATE_MAX 5 +#define DELAY_ERROR_TIME 10 //Secs #define SYS_ERR_MAX 10 @@ -93,7 +93,8 @@ enum sys_state_type{ SYS_OFF_COOK_OFF=0, SYS_ON_COOK_OFF=1, SYS_ON_COOK_ON=2, - SYS_OFF_COOK_ON=3 //unnormal state + SYS_ON_WASH=3, + SYS_OFF_COOK_ON=4 //unnormal state }; enum sys_error_id{ @@ -155,6 +156,12 @@ enum error_exe_type{ error_type_engclrstopcmd, }; +enum error_sound_type{ + error_sound_none=0, + error_sound1, + error_sound2 +}; + enum wash_mode_type{ wash_mode_nocleanser=1, @@ -211,35 +218,48 @@ public: private: - const uint32_t sys_err_mask[2][MAX_MODEL_COUNT] = { - {0x00f8, //ele_10 - 0x00f8, //ele_20 - 0x00f8, //ele_24 - 0x00f8, //ele_40 - 0x00f8, //lpg_10 - 0x00f8, //lpg_20 - 0x00f8, //lpg_24 - 0x00f8, //lpg_40 - 0x00f8, //lng_10 - 0x00f8, //lng_20 - 0x00f8, //lng_24 - 0x00f8 //lng_40 - },// end of noncooking state - {0x03fd, //ele_10 - 0x03ff, //ele_20 - 0x03fd, //ele_24 - 0x03ff, //ele_40 - 0x03fd, //lpg_10 - 0x03ff, //lpg_20 - 0x03fd, //lpg_24 - 0x03ff, //lpg_40 - 0x03fd, //lng_10 - 0x03ff, //lng_20 - 0x03fd, //lng_24 - 0x03ff //lng_40 - }, + const uint32_t sys_err_mask[3][MAX_MODEL_COUNT] = { + {0x00b8, //ele_10 + 0x00b8, //ele_20 + 0x00b8, //ele_24 + 0x00b8, //ele_40 + 0x00b8, //lpg_10 + 0x00b8, //lpg_20 + 0x00b8, //lpg_24 + 0x00b8, //lpg_40 + 0x00b8, //lng_10 + 0x00b8, //lng_20 + 0x00b8, //lng_24 + 0x00b8 //lng_40 + },// noncooking state + {0x03bd, //ele_10 + 0x03bf, //ele_20 + 0x03bd, //ele_24 + 0x03bf, //ele_40 + 0x03bd, //lpg_10 + 0x03bf, //lpg_20 + 0x03bd, //lpg_24 + 0x03bf, //lpg_40 + 0x03bd, //lng_10 + 0x03bf, //lng_20 + 0x03bd, //lng_24 + 0x03bf //lng_40 + },//cooking state + {0x03bd, //ele_10 + 0x03bf, //ele_20 + 0x03bd, //ele_24 + 0x03bf, //ele_40 + 0x03bd, //lpg_10 + 0x03bf, //lpg_20 + 0x03bd, //lpg_24 + 0x03bf, //lpg_40 + 0x03bd, //lng_10 + 0x03bf, //lng_20 + 0x03bd, //lng_24 + 0x03bf //lng_40 + } //washing state }; - const uint32_t comm_err_mask[2][MAX_MODEL_COUNT] = { + const uint32_t comm_err_mask[3][MAX_MODEL_COUNT] = { {0x000d, //ele_10 0x001f, //ele_20 0x000d, //ele_24 @@ -252,7 +272,20 @@ private: 0x001f, //lng_20 0x000d, //lng_24 0x001f //lng_40 - }, // end of noncooking state + }, // noncooking state + {0x000d, //ele_10 + 0x001f, //ele_20 + 0x000d, //ele_24 + 0x001f, //ele_40 + 0x000d, //lpg_10 + 0x001f, //lpg_20 + 0x000d, //lpg_24 + 0x001f, //lpg_40 + 0x000d, //lng_10 + 0x001f, //lng_20 + 0x000d, //lng_24 + 0x001f //lng_40 + }, //cooking state {0x000d, //ele_10 0x001f, //ele_20 0x000d, //ele_24 @@ -265,7 +298,8 @@ private: 0x001f, //lng_20 0x000d, //lng_24 0x001f //lng_40 - }}; + } // washing state + }; // const uint32_t sensor_err_mask[MAX_MODEL_COUNT] = {0x0213, //ele10 // 0x0213, //ele 20 // 0x0213, //ele 24 @@ -280,60 +314,89 @@ private: // 0x0213 //lng40 // }; - const uint32_t sensor_err_mask[2][MAX_MODEL_COUNT] = { - {0x0213, //ele10 - 0x0213, //ele 20 - 0x0213, //ele 24 - 0x0213, //ele 40 - 0x0213, //lpg 10 - 0x0213, //lpg 20 - 0x0213, //lpg 24 - 0x0213, //lpg 40 - 0x0213, //lng 10 - 0x0213, //lng 20 - 0x0213, //lng 24 - 0x0213 //lng40 + const uint32_t sensor_err_mask[3][MAX_MODEL_COUNT] = { + {0x03f3, //ele10 + 0x03f3, //ele 20 + 0x03f3, //ele 24 + 0x03f3, //ele 40 + 0x03f3, //lpg 10 + 0x03f3, //lpg 20 + 0x03f3, //lpg 24 + 0x03f3, //lpg 40 + 0x03f3, //lng 10 + 0x03f3, //lng 20 + 0x03f3, //lng 24 + 0x03f3 //lng40 }, // end of noncooking state - {0x0213, //ele10 - 0x0213, //ele 20 - 0x0213, //ele 24 - 0x0213, //ele 40 - 0x0213, //lpg 10 - 0x0213, //lpg 20 - 0x0213, //lpg 24 - 0x0213, //lpg 40 - 0x0213, //lng 10 - 0x0213, //lng 20 - 0x0213, //lng 24 - 0x0213 //lng40 - }}; - const uint32_t state_err_mask[2][MAX_MODEL_COUNT] = { - {0x0008, //ele 10 - 0x0018, //ele 20 - 0x0008, //ele 24 - 0x0018, //ele 40 - 0x0008, //lpg 10 - 0x0018, //lpg 20 - 0x0008, //lpg 24 - 0x0018, //lpg 40 - 0x0008, //lng 10 - 0x0018, //lng 20 - 0x0008, //lng 24 - 0x0018 //lng 40 + {0x03f3, //ele10 + 0x03f3, //ele 20 + 0x03f3, //ele 24 + 0x03f3, //ele 40 + 0x03f3, //lpg 10 + 0x03f3, //lpg 20 + 0x03f3, //lpg 24 + 0x03f3, //lpg 40 + 0x03f3, //lng 10 + 0x03f3, //lng 20 + 0x03f3, //lng 24 + 0x03f3 //lng40 + }, //cooking state + {0x03f3, //ele10 + 0x03f3, //ele 20 + 0x03f3, //ele 24 + 0x03f3, //ele 40 + 0x03f3, //lpg 10 + 0x03f3, //lpg 20 + 0x03f3, //lpg 24 + 0x03f3, //lpg 40 + 0x03f3, //lng 10 + 0x03f3, //lng 20 + 0x03f3, //lng 24 + 0x03f3 //lng40 + } // washing state + }; + + const uint32_t state_err_mask[3][MAX_MODEL_COUNT] = { + {0x0000, //ele 10 + 0x0000, //ele 20 + 0x0000, //ele 24 + 0x0000, //ele 40 + 0x0000, //lpg 10 + 0x0000, //lpg 20 + 0x0000, //lpg 24 + 0x0000, //lpg 40 + 0x0000, //lng 10 + 0x0000, //lng 20 + 0x0000, //lng 24 + 0x0000 //lng 40 }, //end of noncooking state - {0x0008, //ele 10 - 0x0018, //ele 20 - 0x0008, //ele 24 - 0x0018, //ele 40 - 0x0008, //lpg 10 - 0x0018, //lpg 20 - 0x0008, //lpg 24 - 0x0018, //lpg 40 - 0x0008, //lng 10 - 0x0018, //lng 20 - 0x0008, //lng 24 - 0x0018 //lng 40 - }}; + {0x0000, //ele 10 + 0x0000, //ele 20 + 0x0000, //ele 24 + 0x0000, //ele 40 + 0x0000, //lpg 10 + 0x0000, //lpg 20 + 0x0000, //lpg 24 + 0x0000, //lpg 40 + 0x0000, //lng 10 + 0x0000, //lng 20 + 0x0000, //lng 24 + 0x0000 //lng 40 + }, + {0x0000, //ele 10 + 0x0000, //ele 20 + 0x0000, //ele 24 + 0x0000, //ele 40 + 0x0000, //lpg 10 + 0x0000, //lpg 20 + 0x0000, //lpg 24 + 0x0000, //lpg 40 + 0x0000, //lng 10 + 0x0000, //lng 20 + 0x0000, //lng 24 + 0x0000 //lng 40 + }//washing state + }; const error_exe_type sys_err_type_def[SYS_STATE_MAX][SYS_ERR_MAX]={ //30047 @@ -344,6 +407,8 @@ private: {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd, error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, // SYS_ON_COOK_ON state {error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr, + error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, // SYS_ON_WASH state + {error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr, error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, // SYS_OFF_COOK_ON state }; @@ -351,6 +416,7 @@ private: {error_type_popnonclr,error_type_popnonclr,error_type_popnonclr,error_type_engnonclr,error_type_engnonclr}, //SYS_OFF_COO_OFF {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_COO_OFF {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_COO_ON + {error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, //SYS_ON_WASH {error_type_popnonclr,error_type_popnonclr,error_type_popnonclr,error_type_engnonclr,error_type_engnonclr}, //SYS_OFF_COO_ON }; @@ -358,20 +424,38 @@ private: {error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, //SYS_OFF_COO_OFF {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_COO_OFF {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_COO_ON + {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, //SYS_ON_WASH {error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, //SYS_OFF_COO_ON }; const error_exe_type sensor_err_type_def[SYS_STATE_MAX][SENSOR_ERR_MAX]={ //30049 - {error_type_engnonclr,error_type_popnonclr,error_type_allnone,error_type_popnonclr,error_type_onlychk, - error_type_popnonclr,error_type_allnone,error_type_allnone,error_type_allnone,error_type_popnonclr}, // SYS_OFF_COOK_OFF state + {error_type_popclr,error_type_popclr,error_type_allnone,error_type_popclr,error_type_popclr, + error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, // SYS_OFF_COOK_OFF state {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_allnone,error_type_popclrstopcmd,error_type_popclrstopcmd, error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, // SYS_ON_COOK_OFF state {error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_allnone,error_type_popclrstopcmd,error_type_popclrstopcmd, error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd,error_type_popclrstopcmd}, // SYS_ON_COOK_ON state + {error_type_popclr,error_type_popclr,error_type_allnone,error_type_allnone,error_type_popclr, + error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr,error_type_popclr}, // SYS_ON_WASH {error_type_engnonclr,error_type_popnonclr,error_type_allnone,error_type_popnonclr,error_type_onlychk, 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 }; + + const error_sound_type sys_err_sound_def[SYS_ERR_MAX]={ //30047 + error_sound2,error_sound2,error_sound2,error_sound2,error_sound2, + error_sound2,error_sound2,error_sound2,error_sound2,error_sound2}; + + const error_sound_type comm_err_sound_def[COMM_ERR_MAX] ={ //30048 + error_sound1,error_sound1,error_sound1,error_sound1,error_sound1}; + + const error_sound_type state_err_sound_def[STATE_ERR_MAX] ={ //30057 + error_sound1,error_sound1,error_sound1,error_sound1,error_sound1}; + + const error_sound_type sensor_err_sound_def[SENSOR_ERR_MAX]={ //30049 + error_sound1,error_sound1,error_sound1,error_sound1,error_sound1, + error_sound1,error_sound1,error_sound1,error_sound1,error_sound2}; + const uint8_t sensorTypeInfo[MAX_LOG_SENSOR] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 0, 1, 1 @@ -409,7 +493,7 @@ private: void processCommError(uint16_t errflag,time_t ltime); void processSensorError(uint16_t errflag, time_t ltime); void processStateError(uint16_t errflat, time_t ltime); - void processErrorItems(error_item *item, error_exe_type errtype, const QString &MsgDesc,const QString &MsgTitle, time_t ltime); + void processErrorItems(error_item *item, error_exe_type errtype, const QString &MsgDesc,const QString &MsgTitle, time_t ltime, error_sound_type errsnd=error_sound1); public: bool loadWashState(void){return srvdata->loadWashState();} diff --git a/app/gui/oven_control/servicepassinputdlg.cpp b/app/gui/oven_control/servicepassinputdlg.cpp index b364a53..d27e0d1 100644 --- a/app/gui/oven_control/servicepassinputdlg.cpp +++ b/app/gui/oven_control/servicepassinputdlg.cpp @@ -19,8 +19,10 @@ ServicePassInputDlg::ServicePassInputDlg(QWidget *parent, service_pass_type mode ui->ctrProgressBar->setFocus(); this->setResult(QDialog::Accepted); - foreach (QPushButton *button, findChildren()) - connect(button, &QPushButton::pressed, SoundPlayer::playClick); +// foreach (QPushButton *button, findChildren()) +// connect(button, &QPushButton::pressed, SoundPlayer::playClick); + connect(ui->ctrBtnOk, &QPushButton::pressed, SoundPlayer::playClick); + connect(ui->ctrBtnCancel, &QPushButton::pressed, SoundPlayer::playClick); ui->ctrProgressBar->setMaxProgress(0,MAX_PASSWORD); m_nCurInputCount = 0; memset(m_strInputPass, 0x00, MAX_PASSWORD+1);