diff --git a/app/gui/oven_control/autocook.cpp b/app/gui/oven_control/autocook.cpp
index 5e6f044..6459875 100644
--- a/app/gui/oven_control/autocook.cpp
+++ b/app/gui/oven_control/autocook.cpp
@@ -44,14 +44,9 @@ void AutoCook::startStep()
oven->setTemp(currentStep.temp);
oven->setFan(currentStep.fan);
oven->setTime(remainingTime() + 300);
-
+ oven->setInterTempEnabled(false);
if (cook.isCoreTempValid())
- {
oven->setInterTemp(cook.coreTemp());
- oven->setInterTempEnabled(true);
- }
- else
- oven->setInterTempEnabled(false);
if (currentStep.dehumidification)
{
@@ -80,8 +75,6 @@ void AutoCook::startStep()
void AutoCook::nextStep()
{
- qDebug() << "Next Step Before" << remainingTime();
-
Oven *oven = Oven::getInstance();
CookStep ¤tStep = cook.steps[currentStepIndex];
@@ -106,12 +99,7 @@ void AutoCook::nextStep()
oven->setTime(remainingTime() + 300);
if (cook.isCoreTempValid())
- {
oven->setInterTemp(cook.coreTemp());
- oven->setInterTempEnabled(true);
- }
- else
- oven->setInterTempEnabled(false);
stepStartTime.start();
oven->startCooking();
@@ -235,6 +223,7 @@ void AutoCook::nextStep()
oven->stopHumidification();
}
+ oven->setInterTempEnabled(false);
oven->stopCooking();
isWaitingDoorOpened_ = true;
}
@@ -242,8 +231,6 @@ void AutoCook::nextStep()
currentStepIndex++;
advance();
-
- qDebug() << "Next Step After" << remainingTime();
}
bool AutoCook::advance()
@@ -359,6 +346,11 @@ bool AutoCook::advance()
lastCoreTempIncreasedTime.start();
}
+ if (cook.coreTemp() != oven->interTemp())
+ oven->setInterTemp(cook.coreTemp());
+
+ if (!oven->interTempEnabled())
+ oven->setInterTempEnabled(true);
int currentCoreTemp = oven->currentInterTemp();
if (currentCoreTemp >= cook.coreTemp())
@@ -413,13 +405,6 @@ bool AutoCook::advance()
CookStep &lastStep = cook.steps[cook.steps.size() - 1];
int expectedRemainingTime = (cook.coreTemp() - currentCoreTemp) * lastCoreTempChangedTime.elapsed() / (currentCoreTemp - lastCoreTemp);
-
- qDebug() << "cook.coreTemp()" << cook.coreTemp();
- qDebug() << "currentCoreTemp" << currentCoreTemp;
- qDebug() << "lastCoreTemp" << lastCoreTemp;
- qDebug() << "lastCoreTempChangedTime.elapsed()" << lastCoreTempChangedTime.elapsed();
- qDebug() << "expectedRemainingTime" << expectedRemainingTime;
-
if (expectedRemainingTime > 30000)
{
lastStep.time = expectedRemainingTime;
@@ -428,10 +413,6 @@ bool AutoCook::advance()
else
{
int currentRemainingTime = lastStep.time - lastCoreTempIncreasedTime.elapsed();
-
- qDebug() << "lastCoreTempIncreasedTime" << lastCoreTempIncreasedTime;
- qDebug() << "currentRemainingTime" << currentRemainingTime;
-
if (currentRemainingTime > 30000)
{
lastStep.time = 30000;
@@ -449,42 +430,10 @@ bool AutoCook::advance()
lastCoreTemp = currentCoreTemp;
lastCoreTempChangedTime.start();
}
-
-
-// int currentCoreTemp = oven->currentInterTemp();
-// if (currentCoreTemp != lastCoreTemp)
-// {
-// int remainingStepsTime = 0;
-// for (int idx = currentStepIndex + 1; idx < cook.steps.size(); idx++)
-// remainingStepsTime += cook.steps[idx].time;
-
-// int currentRemainingTime = currentStep.time - lastCoreTempTime.elapsed() + remainingStepsTime;
-// int expectedTime = (cook.coreTemp() - currentCoreTemp) * qAbs(lastCoreTempTime.elapsed() / (currentCoreTemp - lastCoreTemp));
-// int expectedCurrentStepTime = expectedTime - remainingStepsTime;
-
-// for (int idx = currentStepIndex; idx < cook.steps.size(); idx++)
-// {
-// CookStep &step = cook.steps[idx];
-// if (expectedCurrentStepTime > 0)
-// {
-// step.time = expectedCurrentStepTime;
-// break;
-// }
-// else
-// {
-// expectedCurrentStepTime += step.time;
-// step.time = 0;
-// }
-// }
-
-// lastCoreTemp = oven->currentInterTemp();
-// lastCoreTempTime.start();
-// stepStartTime.start();
-
-// advance();
-
-// return true;
-// }
+ }
+ else if (oven->interTempEnabled())
+ {
+ oven->setInterTempEnabled(false);
}
}
case Define::InvalidClass:
diff --git a/app/gui/oven_control/mainwindow.ui b/app/gui/oven_control/mainwindow.ui
index 6201834..d55e026 100644
--- a/app/gui/oven_control/mainwindow.ui
+++ b/app/gui/oven_control/mainwindow.ui
@@ -666,7 +666,7 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_typ
- V0.1.12
+ V0.2.0
Qt::AlignBottom|Qt::AlignRight|Qt::AlignTrailing
diff --git a/app/gui/oven_control/system.cpp b/app/gui/oven_control/system.cpp
index 9beadc8..f26d535 100644
--- a/app/gui/oven_control/system.cpp
+++ b/app/gui/oven_control/system.cpp
@@ -4,8 +4,17 @@
#include
#include
+namespace {
+System::IPData setting;
+}
+
void System::setIP(System::IPData &data)
{
+ if (setting == data)
+ return;
+
+ setting = data;
+
QString ifconfig = QString("ifconfig eth0 %1 netmask %2 up").arg(data.address, data.netmask);
QString route = QString("route del default; route add default gw %1").arg(data.gateway);
diff --git a/app/gui/oven_control/system.h b/app/gui/oven_control/system.h
index 260d348..f4f872f 100644
--- a/app/gui/oven_control/system.h
+++ b/app/gui/oven_control/system.h
@@ -11,6 +11,11 @@ struct IPData
QString address;
QString netmask;
QString gateway;
+
+ bool operator==(const IPData &other)
+ {
+ return address == other.address && netmask == other.netmask && gateway == other.gateway;
+ }
};
void setIP(IPData &data);