feat: 06-17 신규 작업본 반영 (개발사양서/기능검토/승인원/Source 등 추가)

.claude/ 제외(.gitignore 추가). 기존 초기커밋(5a96a69) 위에 신규·수정·이동분 커밋.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-18 07:54:58 +09:00
parent 5a96a696b1
commit 096111e983
529 changed files with 12439 additions and 1166 deletions
@@ -12,7 +12,7 @@ namespace ErvDashboard.Model
bool _powerOn;
RunMode _runMode = RunMode.Off;
byte _fanMode;
bool _hood, _hoodConnected;
bool _hood, _hoodConnected, _hoodRunning;
bool _smartSleep, _comfortCook, _reliefRecover;
public bool PowerOn { get => _powerOn; set { if (_powerOn != value) { _powerOn = value; OnChanged(); } } }
@@ -24,6 +24,8 @@ namespace ErvDashboard.Model
public bool Hood { get => _hood; set { if (_hood != value) { _hood = value; OnChanged(); } } }
// 후드 485 통신연결 여부 (STATUS byte5 bit2). 후드연동 ON일 때 연결/미연결 텍스트 표시용
public bool HoodConnected { get => _hoodConnected; set { if (_hoodConnected != value) { _hoodConnected = value; OnChanged(); } } }
// 후드연동에 의한 운전중(메이크업 에어 실제 동작중, STATUS byte5 bit1). 후드 OFF면 false → 쾌적조리 표시 해제·운전모드 활성.
public bool HoodRunning { get => _hoodRunning; set { if (_hoodRunning != value) { _hoodRunning = value; OnChanged(); } } }
// ---- (꺼짐)예약 : 잔여초(STATUS 수신) ----
int _reserveRemainSec;
@@ -115,6 +117,20 @@ namespace ErvDashboard.Model
public int[][] Pm10Thr { get; } = { new int[4], new int[4], new int[4] };
public int[][] VocThr { get; } = { new int[4], new int[4], new int[4] };
// ===== 사양서 기본값 (히스테리시스/VSP 창의 '프리셋' 버튼용 — 불변) =====
// 오염단계 임계 [preset 0 ECO/1 NORMAL/2 TURBO][L0~L3 상한] — 개발사양서 p.10
public static readonly int[][] DefCo2Thr = { new[]{1000,1300,1600,2000}, new[]{800,1100,1400,1700}, new[]{700,1000,1300,1600} };
public static readonly int[][] DefPm25Thr = { new[]{20,38,60,86}, new[]{14,29,49,69}, new[]{12,23,38,52} };
public static readonly int[][] DefPm10Thr = { new[]{40,86,126,173}, new[]{28,66,102,138}, new[]{24,53,78,104} };
public static readonly int[][] DefVocThr = { new[]{171,195,308,438}, new[]{120,150,250,350}, new[]{103,120,192,263} };
// 데드밴드(하강) [preset] (Pm25,Pm10,Voc,Co2) — 개발사양서 p.10
public static readonly (int Pm25,int Pm10,int Voc,int Co2)[] DefDeadband =
{ (2,5,5,50), (2,5,5,50), (2,5,3,30) };
// 풍량 VSP 기본값 [9엔트리: 환기1~4/바이패스/공청1~4] (Sa,Ea)
// 개발사양서 p.12 첫 표(휴벤 ECO2/좌타입 HRD1-150EPI) = 펌웨어 MyControl.c 기본값. 환기4(터보)=자동250CMH 행.
public static readonly (int Sa,int Ea)[] DefVsp =
{ (56,57), (63,63), (70,70), (86,85), (67,75), (65,0), (72,0), (78,0), (80,0) };
// ---- 각실 ----
public ObservableCollection<RoomState> Rooms { get; }