Commit c3af501ea015f6fbd2d1ba13e3756e969ae0246d
1 parent
3fd8255a11
Exists in
master
and in
2 other branches
GUI V0.2.0
- 자동 요리 중엔 중심 온도 값이 유효할 때만 메인 보드에 중심 온도를 설정 - IP 설정이 다를 때만 새로 설정하도록 수정
Showing
4 changed files
with
26 additions
and
63 deletions
Show diff stats
app/gui/oven_control/autocook.cpp
... | ... | @@ -44,14 +44,9 @@ void AutoCook::startStep() |
44 | 44 | oven->setTemp(currentStep.temp); |
45 | 45 | oven->setFan(currentStep.fan); |
46 | 46 | oven->setTime(remainingTime() + 300); |
47 | - | |
47 | + oven->setInterTempEnabled(false); | |
48 | 48 | if (cook.isCoreTempValid()) |
49 | - { | |
50 | 49 | oven->setInterTemp(cook.coreTemp()); |
51 | - oven->setInterTempEnabled(true); | |
52 | - } | |
53 | - else | |
54 | - oven->setInterTempEnabled(false); | |
55 | 50 | |
56 | 51 | if (currentStep.dehumidification) |
57 | 52 | { |
... | ... | @@ -80,8 +75,6 @@ void AutoCook::startStep() |
80 | 75 | |
81 | 76 | void AutoCook::nextStep() |
82 | 77 | { |
83 | - qDebug() << "Next Step Before" << remainingTime(); | |
84 | - | |
85 | 78 | Oven *oven = Oven::getInstance(); |
86 | 79 | |
87 | 80 | CookStep ¤tStep = cook.steps[currentStepIndex]; |
... | ... | @@ -106,12 +99,7 @@ void AutoCook::nextStep() |
106 | 99 | oven->setTime(remainingTime() + 300); |
107 | 100 | |
108 | 101 | if (cook.isCoreTempValid()) |
109 | - { | |
110 | 102 | oven->setInterTemp(cook.coreTemp()); |
111 | - oven->setInterTempEnabled(true); | |
112 | - } | |
113 | - else | |
114 | - oven->setInterTempEnabled(false); | |
115 | 103 | |
116 | 104 | stepStartTime.start(); |
117 | 105 | oven->startCooking(); |
... | ... | @@ -235,6 +223,7 @@ void AutoCook::nextStep() |
235 | 223 | oven->stopHumidification(); |
236 | 224 | } |
237 | 225 | |
226 | + oven->setInterTempEnabled(false); | |
238 | 227 | oven->stopCooking(); |
239 | 228 | isWaitingDoorOpened_ = true; |
240 | 229 | } |
... | ... | @@ -242,8 +231,6 @@ void AutoCook::nextStep() |
242 | 231 | currentStepIndex++; |
243 | 232 | |
244 | 233 | advance(); |
245 | - | |
246 | - qDebug() << "Next Step After" << remainingTime(); | |
247 | 234 | } |
248 | 235 | |
249 | 236 | bool AutoCook::advance() |
... | ... | @@ -359,6 +346,11 @@ bool AutoCook::advance() |
359 | 346 | lastCoreTempIncreasedTime.start(); |
360 | 347 | } |
361 | 348 | |
349 | + if (cook.coreTemp() != oven->interTemp()) | |
350 | + oven->setInterTemp(cook.coreTemp()); | |
351 | + | |
352 | + if (!oven->interTempEnabled()) | |
353 | + oven->setInterTempEnabled(true); | |
362 | 354 | |
363 | 355 | int currentCoreTemp = oven->currentInterTemp(); |
364 | 356 | if (currentCoreTemp >= cook.coreTemp()) |
... | ... | @@ -413,13 +405,6 @@ bool AutoCook::advance() |
413 | 405 | CookStep &lastStep = cook.steps[cook.steps.size() - 1]; |
414 | 406 | |
415 | 407 | int expectedRemainingTime = (cook.coreTemp() - currentCoreTemp) * lastCoreTempChangedTime.elapsed() / (currentCoreTemp - lastCoreTemp); |
416 | - | |
417 | - qDebug() << "cook.coreTemp()" << cook.coreTemp(); | |
418 | - qDebug() << "currentCoreTemp" << currentCoreTemp; | |
419 | - qDebug() << "lastCoreTemp" << lastCoreTemp; | |
420 | - qDebug() << "lastCoreTempChangedTime.elapsed()" << lastCoreTempChangedTime.elapsed(); | |
421 | - qDebug() << "expectedRemainingTime" << expectedRemainingTime; | |
422 | - | |
423 | 408 | if (expectedRemainingTime > 30000) |
424 | 409 | { |
425 | 410 | lastStep.time = expectedRemainingTime; |
... | ... | @@ -428,10 +413,6 @@ bool AutoCook::advance() |
428 | 413 | else |
429 | 414 | { |
430 | 415 | int currentRemainingTime = lastStep.time - lastCoreTempIncreasedTime.elapsed(); |
431 | - | |
432 | - qDebug() << "lastCoreTempIncreasedTime" << lastCoreTempIncreasedTime; | |
433 | - qDebug() << "currentRemainingTime" << currentRemainingTime; | |
434 | - | |
435 | 416 | if (currentRemainingTime > 30000) |
436 | 417 | { |
437 | 418 | lastStep.time = 30000; |
... | ... | @@ -449,42 +430,10 @@ bool AutoCook::advance() |
449 | 430 | lastCoreTemp = currentCoreTemp; |
450 | 431 | lastCoreTempChangedTime.start(); |
451 | 432 | } |
452 | - | |
453 | - | |
454 | -// int currentCoreTemp = oven->currentInterTemp(); | |
455 | -// if (currentCoreTemp != lastCoreTemp) | |
456 | -// { | |
457 | -// int remainingStepsTime = 0; | |
458 | -// for (int idx = currentStepIndex + 1; idx < cook.steps.size(); idx++) | |
459 | -// remainingStepsTime += cook.steps[idx].time; | |
460 | - | |
461 | -// int currentRemainingTime = currentStep.time - lastCoreTempTime.elapsed() + remainingStepsTime; | |
462 | -// int expectedTime = (cook.coreTemp() - currentCoreTemp) * qAbs(lastCoreTempTime.elapsed() / (currentCoreTemp - lastCoreTemp)); | |
463 | -// int expectedCurrentStepTime = expectedTime - remainingStepsTime; | |
464 | - | |
465 | -// for (int idx = currentStepIndex; idx < cook.steps.size(); idx++) | |
466 | -// { | |
467 | -// CookStep &step = cook.steps[idx]; | |
468 | -// if (expectedCurrentStepTime > 0) | |
469 | -// { | |
470 | -// step.time = expectedCurrentStepTime; | |
471 | -// break; | |
472 | -// } | |
473 | -// else | |
474 | -// { | |
475 | -// expectedCurrentStepTime += step.time; | |
476 | -// step.time = 0; | |
477 | -// } | |
478 | -// } | |
479 | - | |
480 | -// lastCoreTemp = oven->currentInterTemp(); | |
481 | -// lastCoreTempTime.start(); | |
482 | -// stepStartTime.start(); | |
483 | - | |
484 | -// advance(); | |
485 | - | |
486 | -// return true; | |
487 | -// } | |
433 | + } | |
434 | + else if (oven->interTempEnabled()) | |
435 | + { | |
436 | + oven->setInterTempEnabled(false); | |
488 | 437 | } |
489 | 438 | } |
490 | 439 | case Define::InvalidClass: | ... | ... |
app/gui/oven_control/mainwindow.ui
... | ... | @@ -666,7 +666,7 @@ QPushButton:pressed, QPushButton:focus { background-image: url(:/images/cook_typ |
666 | 666 | </font> |
667 | 667 | </property> |
668 | 668 | <property name="text"> |
669 | - <string>V0.1.12</string> | |
669 | + <string>V0.2.0</string> | |
670 | 670 | </property> |
671 | 671 | <property name="alignment"> |
672 | 672 | <set>Qt::AlignBottom|Qt::AlignRight|Qt::AlignTrailing</set> | ... | ... |
app/gui/oven_control/system.cpp
... | ... | @@ -4,8 +4,17 @@ |
4 | 4 | #include <fcntl.h> |
5 | 5 | #include <linux/rtc.h> |
6 | 6 | |
7 | +namespace { | |
8 | +System::IPData setting; | |
9 | +} | |
10 | + | |
7 | 11 | void System::setIP(System::IPData &data) |
8 | 12 | { |
13 | + if (setting == data) | |
14 | + return; | |
15 | + | |
16 | + setting = data; | |
17 | + | |
9 | 18 | QString ifconfig = QString("ifconfig eth0 %1 netmask %2 up").arg(data.address, data.netmask); |
10 | 19 | QString route = QString("route del default; route add default gw %1").arg(data.gateway); |
11 | 20 | ... | ... |
app/gui/oven_control/system.h
... | ... | @@ -11,6 +11,11 @@ struct IPData |
11 | 11 | QString address; |
12 | 12 | QString netmask; |
13 | 13 | QString gateway; |
14 | + | |
15 | + bool operator==(const IPData &other) | |
16 | + { | |
17 | + return address == other.address && netmask == other.netmask && gateway == other.gateway; | |
18 | + } | |
14 | 19 | }; |
15 | 20 | |
16 | 21 | void setIP(IPData &data); | ... | ... |