Files
HECO2/doc/260602_소스_개발사양서_260318.md
T
jeon a502322188 chore: HERV 통합 저장소 재초기화 커밋
손상된 .git 히스토리(missing tree)로 재초기화 후 작업트리 전체 커밋.
.claude/ 만 제외(로컬 에이전트 설정). 구 저장소 백업(.git_corrupt_backup/) 포함.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 09:32:17 +09:00

6.6 KiB
Raw Blame History

소스 ↔ 개발사양서 비교 분석

  • 작성일: 2026-06-02
  • 대상 사양서: 각실제어시스템_개발사양서_DL_동작로직_260318.pptx (2026.03.18, 전경선 수석)
  • 대상 소스: d:\project\nuvoton\HERV\program\User\ (Nuvoton NANO100SE3BN, arm-gnu-gcc 빌드)
  • 시스템: 각실제어 시스템(DL) — ERV 본체 + 각실 디퓨저(거실=room1, 침실13=room24)

검증 방식: 핵심 불일치 항목(쾌적조리 풍량, 스마트수면, 공기질 색상등급)은 소스 직접 확인, 광범위 항목은 다중 탐색으로 수집 후 교차 확인.


1. 요약 (Conclusion)

구분 항목 수 비고
일치 9 센서 임계값, 집중/전실 판정, 안심회복, LED 등
불일치/미반영 3 쾌적조리 풍량, 스마트수면 26.03.18 개정, 공기질 색상등급
⚠️ 확인 필요 2 팬 VSP 4단/공청 값, 센서 주기

2. 일치하는 항목

사양 항목 사양값 코드 위치
센서→풍량단계 임계값 (슬라이드5) CO2 600/700/800/900, VOC 250/300/350/400, PM2.5 15/30/50/70 m_CO2/VOC/PM2_5_Level_1~4 기본값 동일 (CO2는 히스테리시스 50 적용) My_Uart.c:1313-1326
3종 센서 Max로 풍량 결정 최대 등급 채택 CO2|VOC|PM2.5 OR 비트 → 0~4단 My_system.c:890-935
집중/전실 판정 [최대−2번째]≥2 → 집중 (vars[0].value - vars[1].value) >= 2 My_system.c:1080, 1108
집중모드 최소시간 5분 (최신) Focus_Mode_RunTime = 3000 (=5분, 100ms×3000) My_system.c:1087, 1115
풍량 최대 4단 4단 if(Tmp_Air_Volume>4)=4 My_system.c:1179
안심회복 모드 침실1 음압(급기X/배기O), 타실 급기O/배기X, 2단 선택실 SA=0/RA=110, 타실 SA=110/RA=0, Set_Fan_Mode=2 My_system.c:732-770
디퓨저 LED 댐퍼 1개라도 열리면 ON, 밝기 0~9 SA|RA≠0 → ON, Light_Bright 0~9 My_system.c:714-724
공청 시 배기팬 OFF 공청=급기만 공청 1~4단 EA팬 duty=0 MyMotor.c:1294-1307
팬 VSP 기본값(환기 1~3단) 슬라이드13: 1단 EA56/SA57, 2단 65/67, 3단 72/75 s_FAN2/1_VEN_* 동일값 MyControl.c:124-152

안심회복 모드 상세 (사양 대비 정확 일치)

  • 사양: 급기(SA) 거실O 침실1X 침실2O 침실3O / 배기(RA) 거실X 침실1O 침실2X 침실3X, 환기 2단
  • 코드: 전실 SA=110/RA=0으로 초기화 후 Ext_Select_Room(침실1)만 SA=0/RA=110 역전 → 사양과 동일

3. 불일치 / 미반영 항목 (소스 직접 확인)

3.1 쾌적조리 모드 ERV 풍량 — 사양 3단 vs 코드 4단

  • 사양(슬라이드9): "H-ERV 환기모드, 풍량 3단계 (전실 급기 댐퍼 ON)"
  • 코드: Tmp_Air_Volume = 4;4단 (My_system.c:1030)
  • 운전모드도 사양은 환기모드(MODE_VENTILATION)이나 코드는 Set_Run_Mode = MODE_AUTO (My_system.c:1026)
  • 급기 전실 ON / 배기 전실 OFF, 후드 3단 연동(Hood_Fan_Mode=3)은 일치

3.2 스마트수면 모드 — 26.03.18 개정분 미반영 (코드는 구버전 로직)

이력관리 "2026.03.18 자동, 수면 모드 수정(9P)" 항목이 코드에 미적용:

26.03.18 사양 코드 현재 위치
풍량 1단 고정 if(Tmp_Air_Volume>=2) Tmp_Air_Volume-=1 (자동값 1, 구버전) My_system.c:1191-1200
초기 거실 CLOSE / 침실1~3 OPEN 전용 댐퍼 패턴 없음 -
1시간마다 CO2≥1000 OPEN 미구현 (일반 focus mode vars 차이≥2만 사용) My_system.c:1080
  • 진입부(Ext_Run_Mode==4)는 Set_Fan_Mode=1 설정하나, 이후 PASS_VOLUME에서 매 주기 센서값 재계산 후 −1 → 실제로는 "자동−1"로 동작.

3.3 공기질 색상등급(슬라이드6, 26.03.18) — 전체 비활성(dead code)

  • Air_Quality_color_process() 시작부 return(0); 로 즉시 반환 → 색상/문구(좋음·보통·나쁨·매우나쁨) 로직 전부 미동작 (My_system.c:1216)
  • 임계값도 슬라이드6(CO2 700/1000/1300)이 아니라 m_Level(600/700/800/900) 기준으로 작성됨 → 살리더라도 26.03.18 등급표와 불일치

4. ⚠️ 확인·주의 필요

4.1 팬 VSP 4단 / 공청 값

  • 환기 4단: 코드 SA87/EA84 vs 슬라이드13 SA95/EA92 (단 슬라이드14·15 실측은 86/85 — "4단 250→230CMH 소음저감"(25.10.17) 반영값에 근접)
  • 공청: 코드 SA 46/51/56/60 vs 사양 전압표 SA 66/70/77 → 상이
  • 이 값들은 VSP 테스트모드 + EEPROM으로 현장 튜닝되는 값이라 컴파일 기본값과 사양 실측표 차이는 정상일 수 있음. EEPROM 저장값 별도 확인 권장

4.2 센서 주기

  • 사양: "센서 주기 30초 단위"
  • 코드: 분배기 폴링 1초(InCom_polling_timer=100×10ms) → SEN66 내부 측정주기와 폴링주기 구분 확인 필요

5. 🔗 직전 작업(CVnet 삭제)과의 연관 — DL_Sinario 처리

  • 월패드→각실 시나리오 명령 DL_Sinario_Process()(CMD 0~5: 전실/침실 급배기 패턴)는 CVnet 홈넷통신으로만 트리거되던 코드.
  • 2026-06-02 작업에서 CVnet 삭제 → DL_Sinario가 dead code가 되어 DL_Sinario_Process() 및 관련 참조 일괄 제거 완료.
    • 제거: My_system.c(함수+DL_Sinario_CMD), My_Uart.c(0x61 호출부+extern), My_define.h(extern)
  • 안심회복/쾌적조리/스마트수면(Ext_Run_Mode)은 룸콘 "S Mode Select" 경로라 영향 없음.
  • ※ 월패드(씨브이넷) 기반 각실 제어가 사양상 필요하면 CVnet 삭제와 충돌 → 방향 재확인 필요.

6. 후속 작업 후보(TODO)

  1. 쾌적조리 ERV 풍량 4단 → 3단 수정 (My_system.c:1030, 운전모드 검토)
  2. 스마트수면 26.03.18 로직 구현 (1단 고정 / 거실 CLOSE·침실 OPEN / 1시간마다 CO2≥1000 OPEN)
  3. 공기질 색상등급(Air_Quality_color_process) 활성화 + 슬라이드6 임계값 반영
  4. 팬 VSP 4단/공청 EEPROM 저장값 확인
  5. 260520(5월판) 사양서와 추가 비교

부록. 주요 소스 위치

파일 역할
My_system.c 모드 제어(Ext_Run_Mode), 센서→풍량/색상, 집중/전실, 팬 duty 변환
My_Uart.c 센서 임계값/기본값, 분배기 파싱, VSP 테스트, PC 메뉴
MyMotor.c 디퓨저 댐퍼(Diffuser_Damper_process), 팬 속도(Fan_Speed_*), BLDC_SPEED_TABLE
MyControl.c 팬 duty 기본값 / EEPROM 저장·로드
My_define.h 모드·핀·EEPROM 주소 정의
My_RJ2.c 룸콘(232) 프로토콜, VSP 모드, Set_Run/Fan_Mode