feat: 06-17 신규 작업본 반영 (개발사양서/기능검토/승인원/Source 등 추가)
.claude/ 제외(.gitignore 추가). 기존 초기커밋(5a96a69) 위에 신규·수정·이동분 커밋.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -12,11 +12,11 @@ namespace HoodSimulator
|
||||
readonly HoodProtocol _hood = new();
|
||||
int _rxCount;
|
||||
|
||||
// 조리 종료 후 메이크업 유지(잔여 냄새 배출) — 후드측이 담당. 유지중에는 ERV 에 계속 '켜짐' 보고,
|
||||
// 조리 종료 후 지연배기(잔여 냄새 배출) — 후드측이 담당. 배기중에는 ERV 에 계속 '켜짐' 보고,
|
||||
// 종료 시점에 OFF 전송 → ERV 가 원래 모드/풍량으로 복귀. (사양 260613 9p 3.3)
|
||||
readonly System.Windows.Threading.DispatcherTimer _makeupTimer =
|
||||
new() { Interval = TimeSpan.FromSeconds(1) };
|
||||
const int MakeupHoldSec = 10; // 메이크업 유지 시간 (10초)
|
||||
const int MakeupHoldSec = 10; // 지연배기 유지 시간 — 시간 불변(시뮬 10초; 사양 원래 30초)
|
||||
int _makeupRemainSec;
|
||||
|
||||
static readonly Brush AccentCyan = (Brush)new BrushConverter().ConvertFromString("#7DCFFF")!;
|
||||
@@ -83,7 +83,7 @@ namespace HoodSimulator
|
||||
{
|
||||
if (tglPower.IsChecked == true)
|
||||
{
|
||||
// 켜기 : 진행중인 메이크업 유지 취소 후 즉시 ON (풍량 1)
|
||||
// 켜기 : 진행중인 지연배기 취소 후 즉시 ON (풍량 1)
|
||||
StopMakeupHold();
|
||||
_hood.PowerOn = true;
|
||||
_hood.FanStage = 1;
|
||||
@@ -94,27 +94,27 @@ namespace HoodSimulator
|
||||
}
|
||||
else
|
||||
{
|
||||
// 끄기 : OFF 표시 + 옆에 메이크업 유지(1분) 카운트다운 시작. 그동안 ERV엔 계속 '켜짐' 보고.
|
||||
// 유지 종료 시 후드 OFF 전송 → ERV 가 원래 모드/풍량으로 복귀.
|
||||
// 끄기 : OFF 표시 + 옆에 지연배기 카운트다운 시작. 그동안 ERV엔 계속 '켜짐' 보고.
|
||||
// 지연배기 종료 시 후드 OFF 전송 → ERV 가 원래 모드/풍량으로 복귀.
|
||||
txtPower.Text = "OFF";
|
||||
txtPower.Foreground = TextSecondary;
|
||||
if (_hood.PowerOn && _makeupRemainSec == 0)
|
||||
{
|
||||
_makeupRemainSec = MakeupHoldSec;
|
||||
_makeupTimer.Start();
|
||||
txtMakeup.Text = $"메이크업 {_makeupRemainSec}s";
|
||||
OnLog($"[제어] 전원 OFF 요청 → 메이크업 에어 {MakeupHoldSec}s 유지 (ERV엔 계속 켜짐 보고)");
|
||||
txtMakeup.Text = $"지연배기(원래는 30초) {_makeupRemainSec}s";
|
||||
OnLog($"[제어] 전원 OFF 요청 → 지연배기 {MakeupHoldSec}s 유지 (ERV엔 계속 켜짐 보고)");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 메이크업 유지 카운트다운 (1초). 0이 되면 실제 OFF 전송.
|
||||
// 지연배기 카운트다운 (1초). 0이 되면 실제 OFF 전송.
|
||||
void MakeupTick(object? s, EventArgs e)
|
||||
{
|
||||
_makeupRemainSec--;
|
||||
if (_makeupRemainSec > 0)
|
||||
{
|
||||
txtMakeup.Text = $"메이크업 {_makeupRemainSec}s";
|
||||
txtMakeup.Text = $"지연배기(원래는 30초) {_makeupRemainSec}s";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -122,7 +122,7 @@ namespace HoodSimulator
|
||||
_hood.PowerOn = false;
|
||||
_hood.FanStage = 0;
|
||||
UpdateFanButtons();
|
||||
OnLog("[제어] 메이크업 유지 종료 → 후드 OFF 전송 (ERV 원래 모드/풍량 복귀)");
|
||||
OnLog("[제어] 지연배기 종료 → 후드 OFF 전송 (ERV 원래 모드/풍량 복귀)");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -166,7 +166,7 @@ namespace HoodSimulator
|
||||
// 에러 발생 시 전원 OFF / 풍량 0 / 조명 OFF (다음 응답에 반영되어 전송)
|
||||
if (_hood.ErrorCode != 0)
|
||||
{
|
||||
StopMakeupHold(); // 진행중인 메이크업 유지 즉시 취소
|
||||
StopMakeupHold(); // 진행중인 지연배기 즉시 취소
|
||||
_hood.PowerOn = false;
|
||||
_hood.FanStage = 0;
|
||||
_hood.Light = false;
|
||||
|
||||
Reference in New Issue
Block a user