fix: 260618 룸컨 동기·쾌적조리·시나리오·그래프DB 등 수정
펌웨어(SOURCE/HECO2/User): - My_Hood.c: 후드 전원 OFF 시 쾌적조리 토글 자동 해제 (6) - My_RJ2.c/My_Homenet.c/My_define.h: 룸컨 전용 pending(RoomCtrl_Push) 도입 → 전원 ON 간헐 미동작·전원 OFF 후 룸컨 옛모드(공청) 표시 해소 (11)(12) (공유 Command_request_type 레이스 + 716 equalize 조기클리어 + 분배기 wipe 회피) 대시보드(TestProgram/PCDashBoard): - 쾌적조리 미선택+후드 ON 시 다른 시나리오 버튼 선택 가능 (7) - 시나리오 버튼 항상 선택 가능 + 상호배타 로직 삭제 (8)(9) - 데모 루틴 전체 삭제 (DemoStatus.cs 포함) (9) - 전원 OFF 시 풍량 버튼(0 포함) 비활성 (13) - 그래프 DB(HERV_Log.db)를 임시폴더가 아닌 exe 폴더에 저장 (14) 문서/메모리: doc/260618_*.md 정리, command-request-type-shared-race 메모리 추가 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -265,6 +265,10 @@ static void hn_apply_cmd(uint8_t cmd, uint8_t *pl, uint8_t len)
|
||||
for(i = 1; i <= 4; i++) { Diffuser_Damper_Manual[i] = 0; Diffuser_Led_Manual[i] = 0; }
|
||||
/* 각실분배기 : 전원 비트(TYPE_POWER) + 모드/풍량. 룸컨(RJ2)도 Command_request_type 로 푸시 */
|
||||
Command_request_type |= (TYPE_POWER | TYPE_MODE | TYPE_FAN_SPEED);
|
||||
/* [룸컨푸시] 전원 ON/OFF 는 룸컨 전용 pending 으로도 표시 → 분배기(My_bunbaegi L522 Command_request_type=0)나
|
||||
My_RJ2 L716(전원OFF는 모터정지 위해 Set==현재 equalize 강제 → TYPE_*_조기클리어)로 룸컨 푸시가 유실되어
|
||||
룸컨이 옛 모드(예: 공청)를 계속 표시하던 문제 해소. RJ2 ack(echo) 시 자동 해제. */
|
||||
RoomCtrl_Push = 1;
|
||||
} else result = 1;
|
||||
break;
|
||||
case 0x02: /* CTRL_RUNMODE [mode] 0off/1환기/2자동/3공청/4바이패스 */
|
||||
|
||||
@@ -212,6 +212,11 @@ uint8_t Hood_process(void)//200ms
|
||||
Hood_Yeundong_flag = 0;
|
||||
Hood_Warming_up_Timer = 0;
|
||||
Tx_Yeundong_Delay = 0;
|
||||
/* [쾌적조리자동해제] 후드 전원 OFF(단수 0) → 쾌적조리 토글 자동 해제.
|
||||
사장님 요청(2026-06-18) : 후드 OFF 후 대시보드 쾌적조리 버튼이 저절로 꺼지게.
|
||||
Enable=0 이면 STATUS byte4 bit1/byte5 bit0 모두 0 → 대시보드 _state.ComfortCook 자동 해제.
|
||||
(기존 사양 9p 3.3 'armed 유지'와 반대 — 본 요청으로 변경) */
|
||||
Hood_YeunDong_Enable = 0;
|
||||
}
|
||||
else // 후드 단수 변경(1~5) : 메이크업 풍량 단수 추종 갱신
|
||||
{
|
||||
|
||||
@@ -140,6 +140,7 @@ uint8_t Filter_Reset_Flag = 0;
|
||||
uint8_t EEP_Save_Flag = 0;
|
||||
|
||||
uint8_t Command_request_type = 0;
|
||||
uint8_t RoomCtrl_Push = 0; /* [룸컨푸시] 대시보드 전원변경의 룸컨 전용 pending. 분배기(My_bunbaegi L522 Command_request_type=0)·716 equalize 조기클리어와 무관하게 룸컨에 푸시 보장, RJ2 ack 로만 해제 */
|
||||
uint8_t Roomcon_Filter_Error = 0; // 2021.5.31
|
||||
|
||||
|
||||
@@ -329,7 +330,7 @@ void roomcon_parsing(void)
|
||||
Err_Code &= ~(ERROR_FILTER_CLEAN|ERROR_FILTER_CHANGE|ERROR_SOJA_CHANGE|ERROR_PROTECT|ERROR_SOMETIME);
|
||||
Err_Code |= Rx_roomcon232_buffer[7]&(ERROR_FILTER_CLEAN|ERROR_FILTER_CHANGE|ERROR_SOJA_CHANGE|ERROR_PROTECT|ERROR_SOMETIME);
|
||||
|
||||
if(Command_request_type & (TYPE_MODE|TYPE_FAN_SPEED|TYPE_RESERVATION) )
|
||||
if((Command_request_type & (TYPE_MODE|TYPE_FAN_SPEED|TYPE_RESERVATION)) || RoomCtrl_Push) /* [룸컨푸시] 전용 pending 도 푸시 트리거 */
|
||||
{
|
||||
if((Hood_Yeundong_flag == 1)&&(Tx_Yeundong_Delay == 0))
|
||||
{
|
||||
@@ -398,6 +399,7 @@ void roomcon_parsing(void)
|
||||
{
|
||||
Command_request_type = 0;
|
||||
Command_request_type &= ~TYPE_SEND_FLAG;
|
||||
RoomCtrl_Push = 0; /* [룸컨푸시] 룸컨 ack(echo) → 전용 pending 해제 */
|
||||
Run_Mode = Rx_roomcon232_buffer[2];
|
||||
if(Run_Mode != MODE_AUTO)
|
||||
{
|
||||
@@ -406,7 +408,7 @@ void roomcon_parsing(void)
|
||||
//if(Run_Mode != MODE_AUTO)Fan_Mode = Rx_roomcon232_buffer[3];//DEMO
|
||||
//else Fan_Mode = Set_Fan_Mode;
|
||||
}
|
||||
else
|
||||
else if(!RoomCtrl_Push && !(Command_request_type & (TYPE_MODE|TYPE_FAN_SPEED))) /* [룸컨푸시] 명령 푸시 대기중엔 룸컨 자기보고로 Set_* 를 덮지 않음 */
|
||||
{
|
||||
|
||||
Set_Run_Mode = Run_Mode = Rx_roomcon232_buffer[2];
|
||||
@@ -689,13 +691,14 @@ void roomcon_parsing(void)
|
||||
if(Command_request_type & TYPE_SEND_FLAG)
|
||||
{
|
||||
Command_request_type &= ~TYPE_SEND_FLAG;
|
||||
RoomCtrl_Push = 0; /* [룸컨푸시] 룸컨 ack(echo) → 전용 pending 해제 */
|
||||
Run_Mode = Rx_roomcon232_buffer[2];
|
||||
if(Run_Mode != MODE_AUTO)
|
||||
{
|
||||
Fan_Mode = Rx_roomcon232_buffer[3];///////////////// DEMO
|
||||
}
|
||||
}
|
||||
else
|
||||
else if(!RoomCtrl_Push && !(Command_request_type & (TYPE_MODE|TYPE_FAN_SPEED))) /* [룸컨푸시] 명령 푸시 대기중엔 룸컨 자기보고로 Set_* 를 덮지 않음 */
|
||||
{
|
||||
Set_Run_Mode = Run_Mode = Rx_roomcon232_buffer[2];
|
||||
if(Run_Mode != MODE_AUTO)
|
||||
|
||||
@@ -371,6 +371,7 @@ extern uint8_t BlackOut_Run_Mode;
|
||||
extern uint8_t BlackOut_Fan_Mode;
|
||||
|
||||
extern uint8_t Command_request_type;
|
||||
extern uint8_t RoomCtrl_Push; /* [룸컨푸시] 대시보드 전원변경의 룸컨(RJ2) 전용 pending. 분배기와 공유 안 함, RJ2 ack(echo)로만 클리어 */
|
||||
|
||||
|
||||
uint16_t Diffuser_Damper_process(uint8_t mode);//100ms
|
||||
|
||||
Reference in New Issue
Block a user