ver 26.3.19.1

- 시동 OFF 시퀀스 단순화
- ACU ARC 체크를 드라이브모드 공통 경로로 이동
- RC 수동/자동 동시 요청 시 ACU 원인 비상상태 예외 처리 추가
- 비상모드 해제 조건 완화
- BMS fault 판정 조건에서 인터락 제외
- ACU fault의 비상 반영 조건을 ACU 관련 상황으로 제한
- 램프 제어 순서 변경 및 전조등/상향등 시 미등 연동 추가
- 비상/기본 모드 조향 명령 0 처리 추가
- RWA fault 시 반대편 rack feedback 대체 로직 추가
- RWS rack angle feedback 동기화 코드 추가
This commit is contained in:
3minbe 2026-03-20 14:39:48 +09:00
parent 99ad012576
commit 885b4dbd53
32 changed files with 37801 additions and 37678 deletions

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -19,13 +19,13 @@ Callgraph clone;ECU3_CAN_Data_Set_100ms;103;../src/can.c;628;6;CAN_Task_100ms;87
Callgraph clone;ECU3_CAN_Bypass_1000ms;112;../src/can.c;684;6;CAN_Task_1000ms;89;../src/can.c;332;6;inlining to Callgraph clone;ECU3_CAN_Bypass_1000ms;112;../src/can.c;684;6;CAN_Task_1000ms;89;../src/can.c;332;6;inlining to
Callgraph clone;ECU3_InputData_Set_for_Logic_1000ms;110;../src/can.c;667;6;CAN_Task_1000ms;89;../src/can.c;332;6;inlining to Callgraph clone;ECU3_InputData_Set_for_Logic_1000ms;110;../src/can.c;667;6;CAN_Task_1000ms;89;../src/can.c;332;6;inlining to
Callgraph clone;ECU3_CAN_Bypass_5ms;92;../src/can.c;395;6;CAN_Task_5ms;84;../src/can.c;287;6;inlining to Callgraph clone;ECU3_CAN_Bypass_5ms;92;../src/can.c;395;6;CAN_Task_5ms;84;../src/can.c;287;6;inlining to
Callgraph clone;Bypass_Data_Set_BCM_VCU_Signal4_0x595_CH0_to_CH1;335;../src/can.c;3478;6;ECU3_CAN_Bypass_10ms;96;../src/can.c;528;6;inlining to Callgraph clone;Bypass_Data_Set_BCM_VCU_Signal4_0x595_CH0_to_CH1;335;../src/can.c;3482;6;ECU3_CAN_Bypass_10ms;96;../src/can.c;528;6;inlining to
Callgraph clone;Bypass_Data_Set_BCM_VCU_Signal3_0x590_CH0_to_CH1;334;../src/can.c;3472;6;ECU3_CAN_Bypass_10ms;96;../src/can.c;528;6;inlining to Callgraph clone;Bypass_Data_Set_BCM_VCU_Signal3_0x590_CH0_to_CH1;334;../src/can.c;3476;6;ECU3_CAN_Bypass_10ms;96;../src/can.c;528;6;inlining to
Callgraph clone;Bypass_Data_Set_BCM_VCU_Signal2_0x580_CH0_to_CH1;333;../src/can.c;3466;6;ECU3_CAN_Bypass_10ms;96;../src/can.c;528;6;inlining to Callgraph clone;Bypass_Data_Set_BCM_VCU_Signal2_0x580_CH0_to_CH1;333;../src/can.c;3470;6;ECU3_CAN_Bypass_10ms;96;../src/can.c;528;6;inlining to
Callgraph clone;Bypass_Data_Set_BCM_VCU_Signal1_0x570_CH0_to_CH1;332;../src/can.c;3460;6;ECU3_CAN_Bypass_10ms;96;../src/can.c;528;6;inlining to Callgraph clone;Bypass_Data_Set_BCM_VCU_Signal1_0x570_CH0_to_CH1;332;../src/can.c;3464;6;ECU3_CAN_Bypass_10ms;96;../src/can.c;528;6;inlining to
Callgraph clone;Bypass_Data_Set_RWA_VCU_RC_Signal2_0x051;340;../src/can.c;3513;6;ECU3_CAN_Bypass_10ms;96;../src/can.c;528;6;inlining to Callgraph clone;Bypass_Data_Set_RWA_VCU_RC_Signal2_0x051;340;../src/can.c;3517;6;ECU3_CAN_Bypass_10ms;96;../src/can.c;528;6;inlining to
Callgraph clone;Bypass_Data_Set_RWA_VCU_RC_Signal1_0x050;339;../src/can.c;3507;6;ECU3_CAN_Bypass_10ms;96;../src/can.c;528;6;inlining to Callgraph clone;Bypass_Data_Set_RWA_VCU_RC_Signal1_0x050;339;../src/can.c;3511;6;ECU3_CAN_Bypass_10ms;96;../src/can.c;528;6;inlining to
Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Bypass_Data_Set_VCU_RWS_Rack_Cmd_CH5_0x040;348;../src/can.c;3568;6;inlining to Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Bypass_Data_Set_VCU_RWS_Rack_Cmd_CH5_0x040;348;../src/can.c;3572;6;inlining to
Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;ECU3_CAN_Bypass_5ms;92;../src/can.c;395;6;inlining to Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;ECU3_CAN_Bypass_5ms;92;../src/can.c;395;6;inlining to
Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;ECU3_CAN_Data_Set_20ms;99;../src/can.c;604;6;inlining to Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;ECU3_CAN_Data_Set_20ms;99;../src/can.c;604;6;inlining to
Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;ECU3_CAN_Bypass_20ms;100;../src/can.c;609;6;inlining to Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;ECU3_CAN_Bypass_20ms;100;../src/can.c;609;6;inlining to
@ -43,12 +43,12 @@ Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Input_
Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Input_Data_Set_RCU_WheelStatus_CH3_0x08D;194;../src/can.c;1743;6;inlining to Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Input_Data_Set_RCU_WheelStatus_CH3_0x08D;194;../src/can.c;1743;6;inlining to
Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Input_Data_Set_RCU_BrakeStatus2_CH3_0x0C9;200;../src/can.c;1782;6;inlining to Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Input_Data_Set_RCU_BrakeStatus2_CH3_0x0C9;200;../src/can.c;1782;6;inlining to
Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Input_Data_Set_RCU_UdsResponse_CH3_0x799;201;../src/can.c;1787;6;inlining to Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Input_Data_Set_RCU_UdsResponse_CH3_0x799;201;../src/can.c;1787;6;inlining to
Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Bypass_Data_Set_BCM_VCU_Signal1_0x570_CH0_to_CH1;332;../src/can.c;3460;6;inlining to Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Bypass_Data_Set_BCM_VCU_Signal1_0x570_CH0_to_CH1;332;../src/can.c;3464;6;inlining to
Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Bypass_Data_Set_BCM_VCU_Signal2_0x580_CH0_to_CH1;333;../src/can.c;3466;6;inlining to Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Bypass_Data_Set_BCM_VCU_Signal2_0x580_CH0_to_CH1;333;../src/can.c;3470;6;inlining to
Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Bypass_Data_Set_BCM_VCU_Signal3_0x590_CH0_to_CH1;334;../src/can.c;3472;6;inlining to Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Bypass_Data_Set_BCM_VCU_Signal3_0x590_CH0_to_CH1;334;../src/can.c;3476;6;inlining to
Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Bypass_Data_Set_BCM_VCU_Signal4_0x595_CH0_to_CH1;335;../src/can.c;3478;6;inlining to Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Bypass_Data_Set_BCM_VCU_Signal4_0x595_CH0_to_CH1;335;../src/can.c;3482;6;inlining to
Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Bypass_Data_Set_RWA_VCU_RC_Signal1_0x050;339;../src/can.c;3507;6;inlining to Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Bypass_Data_Set_RWA_VCU_RC_Signal1_0x050;339;../src/can.c;3511;6;inlining to
Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Bypass_Data_Set_RWA_VCU_RC_Signal2_0x051;340;../src/can.c;3513;6;inlining to Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Bypass_Data_Set_RWA_VCU_RC_Signal2_0x051;340;../src/can.c;3517;6;inlining to
Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Bypass_Data_Set_BSC_RWA_RackCommand_CH3_0x040;345;../src/can.c;3545;6;inlining to Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Bypass_Data_Set_BSC_RWA_RackCommand_CH3_0x040;345;../src/can.c;3549;6;inlining to
Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Bypass_Data_Set_BSC_RWA_RackCommand_CH2_0x040;346;../src/can.c;3554;6;inlining to Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Bypass_Data_Set_BSC_RWA_RackCommand_CH2_0x040;346;../src/can.c;3558;6;inlining to
Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Bypass_Data_Set_VCU_RWS_Rack_Cmd_CH4_0x040;347;../src/can.c;3563;6;inlining to Callgraph clone;ECU3_InputData_Set_for_Logic_200ms;106;../src/can.c;647;6;Bypass_Data_Set_VCU_RWS_Rack_Cmd_CH4_0x040;347;../src/can.c;3567;6;inlining to

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -134,134 +134,134 @@ can.c:628:6:ECU3_CAN_Data_Set_100ms 0 static
can.c:2045:6:Output_Data_Set_TX_VCU_ACU_Fault_Flag_0x017 0 static can.c:2045:6:Output_Data_Set_TX_VCU_ACU_Fault_Flag_0x017 0 static
can.c:2057:6:Output_Data_Set_RWA_VCU_ACU_Signal1_CH1_0x050 8 static can.c:2057:6:Output_Data_Set_RWA_VCU_ACU_Signal1_CH1_0x050 8 static
can.c:2066:6:Output_Data_Set_RWA_VCU_ACU_Signal2_CH1_0x051 8 static can.c:2066:6:Output_Data_Set_RWA_VCU_ACU_Signal2_CH1_0x051 8 static
can.c:2074:6:Output_Data_Set_RWS_VCU_ACU_Signal1_CH1_0x060 8 static can.c:2074:6:Output_Data_Set_RWS_VCU_ACU_Signal1_CH1_0x060 16 static
can.c:2082:6:Output_Data_Set_RWS_VCU_ACU_Signal2_CH1_0x061 8 static can.c:2084:6:Output_Data_Set_RWS_VCU_ACU_Signal2_CH1_0x061 16 static
can.c:2090:6:Output_Data_Set_BSC_IMU_CH2_0x070 64 static can.c:2094:6:Output_Data_Set_BSC_IMU_CH2_0x070 64 static
can.c:2104:6:Output_Data_Set_CH1_IMU_TX1_CH1_0x174 0 static can.c:2108:6:Output_Data_Set_CH1_IMU_TX1_CH1_0x174 0 static
can.c:2116:6:Output_Data_Set_CH1_IMU_TX2_CH1_0x178 0 static can.c:2120:6:Output_Data_Set_CH1_IMU_TX2_CH1_0x178 0 static
can.c:2128:6:Output_Data_Set_CH1_IMU_TX3_CH1_0x17C 0 static can.c:2132:6:Output_Data_Set_CH1_IMU_TX3_CH1_0x17C 0 static
can.c:2139:6:Output_Data_Set_BCM_VCU_ACU_Signal1_CH1_0x570 20 static can.c:2143:6:Output_Data_Set_BCM_VCU_ACU_Signal1_CH1_0x570 20 static
can.c:2162:6:Output_Data_Set_BCM_VCU_ACU_Signal2_CH1_0x580 16 static can.c:2166:6:Output_Data_Set_BCM_VCU_ACU_Signal2_CH1_0x580 16 static
can.c:2184:6:Output_Data_Set_BCM_VCU_ACU_Signal5_CH1_0x585 0 static can.c:2188:6:Output_Data_Set_BCM_VCU_ACU_Signal5_CH1_0x585 0 static
can.c:2197:6:Output_Data_Set_BCM_VCU_ACU_Signal3_CH1_0x590 8 static can.c:2201:6:Output_Data_Set_BCM_VCU_ACU_Signal3_CH1_0x590 8 static
can.c:2206:6:Output_Data_Set_BCM_VCU_ACU_Signal4_CH1_0x595 8 static can.c:2210:6:Output_Data_Set_BCM_VCU_ACU_Signal4_CH1_0x595 8 static
can.c:2216:6:Output_Data_Set_VCU_245h_CH1_0x245 0 static can.c:2220:6:Output_Data_Set_VCU_245h_CH1_0x245 0 static
can.c:2222:6:Output_Data_Set_ICM_303h_CH1_0x303 8 static can.c:2226:6:Output_Data_Set_ICM_303h_CH1_0x303 8 static
can.c:2227:6:Output_Data_Set_CGW_372h_CH1_0x372 0 static can.c:2231:6:Output_Data_Set_CGW_372h_CH1_0x372 0 static
can.c:2233:6:Output_Data_Set_VCU_3ACh_CH1_0x3AC 0 static can.c:2237:6:Output_Data_Set_VCU_3ACh_CH1_0x3AC 0 static
can.c:2238:6:Output_Data_Set_CGW_588h_CH1_0x588 0 static can.c:2242:6:Output_Data_Set_CGW_588h_CH1_0x588 0 static
can.c:2247:6:Output_Data_Set_BSC_IDB_BrakeCommand_CH2_0x064 24 static can.c:2251:6:Output_Data_Set_BSC_IDB_BrakeCommand_CH2_0x064 24 static
can.c:2268:6:Output_Data_Set_BSC_IDB_StartupCommand_CH2_0x032 0 static can.c:2272:6:Output_Data_Set_BSC_IDB_StartupCommand_CH2_0x032 0 static
can.c:2275:6:Output_Data_Set_BSC_RWA_RackCommand_CH2_0x040 8 static can.c:2279:6:Output_Data_Set_BSC_RWA_RackCommand_CH2_0x040 8 static
can.c:2283:6:Output_Data_Set_BSC_RegenCommand_CH2_0x06A 24 static can.c:2287:6:Output_Data_Set_BSC_RegenCommand_CH2_0x06A 24 static
can.c:2295:6:Output_Data_Set_BSC_RWA_StartupCommand_CH2_0x310 0 static can.c:2299:6:Output_Data_Set_BSC_RWA_StartupCommand_CH2_0x310 0 static
can.c:2303:6:Output_Data_Set_BSC_RWA_Sister_CH2_0x350 0 static can.c:2307:6:Output_Data_Set_BSC_RWA_Sister_CH2_0x350 0 static
can.c:2313:6:Output_Data_Set_BSC_VehicleEnvironment_CH2_0x384 24 static can.c:2317:6:Output_Data_Set_BSC_VehicleEnvironment_CH2_0x384 24 static
can.c:2328:6:Output_Data_Set_BSC_IDB_UdsRequest_CH2_0x796 16 static can.c:2332:6:Output_Data_Set_BSC_IDB_UdsRequest_CH2_0x796 16 static
can.c:2336:6:Output_Data_Set_IDB_WheelSpeedStatus_CH2_0x088 48 static can.c:2340:6:Output_Data_Set_IDB_WheelSpeedStatus_CH2_0x088 48 static
can.c:2352:6:Output_Data_Set_BSC_RCU_StartupCommand_CH3_0x033 0 static can.c:2356:6:Output_Data_Set_BSC_RCU_StartupCommand_CH3_0x033 0 static
can.c:2359:6:Output_Data_Set_BSC_RWA_RackCommand_CH3_0x040 8 static can.c:2363:6:Output_Data_Set_BSC_RWA_RackCommand_CH3_0x040 8 static
can.c:2367:6:Output_Data_Set_BSC_RCU_BrakeCommand_CH3_0x065 8 static can.c:2371:6:Output_Data_Set_BSC_RCU_BrakeCommand_CH3_0x065 8 static
can.c:2382:6:Output_Data_Set_BSC_IMU_CH3_0x071 32 static can.c:2386:6:Output_Data_Set_BSC_IMU_CH3_0x071 32 static
can.c:2396:6:Output_Data_Set_RCU_WheelSpeedStatus_CH3_0x089 48 static can.c:2400:6:Output_Data_Set_RCU_WheelSpeedStatus_CH3_0x089 48 static
can.c:2410:6:Output_Data_Set_BSC_RWA_StartupCommand_CH3_0x310 0 static can.c:2414:6:Output_Data_Set_BSC_RWA_StartupCommand_CH3_0x310 0 static
can.c:2418:6:Output_Data_Set_BSC_RWA_Sister_CH3_0x350 0 static can.c:2422:6:Output_Data_Set_BSC_RWA_Sister_CH3_0x350 0 static
can.c:2427:6:Output_Data_Set_BSC_VehicleEnvironment_CH3_0x385 24 static can.c:2431:6:Output_Data_Set_BSC_VehicleEnvironment_CH3_0x385 24 static
can.c:675:6:ECU3_CAN_Data_Set_1000ms 8 static can.c:675:6:ECU3_CAN_Data_Set_1000ms 8 static
can.c:2441:6:Output_Data_Set_BSC_RCU_UdsRequest_CH3_0x797 16 static can.c:2445:6:Output_Data_Set_BSC_RCU_UdsRequest_CH3_0x797 16 static
can.c:478:6:ECU3_CAN_Data_Set_10ms 8 static can.c:478:6:ECU3_CAN_Data_Set_10ms 8 static
can.c:2451:6:Output_Data_Set_VCU_RWS_Rack_Cmd_CH4_0x040 8 static can.c:2455:6:Output_Data_Set_VCU_RWS_Rack_Cmd_CH4_0x040 8 static
can.c:2459:6:Output_Data_Set_VCU_RWS_StartupCommand_CH4_0x310 0 static can.c:2463:6:Output_Data_Set_VCU_RWS_StartupCommand_CH4_0x310 0 static
can.c:2467:6:Output_Data_Set_VCU_RWS_Sister_CH4_0x350 0 static can.c:2471:6:Output_Data_Set_VCU_RWS_Sister_CH4_0x350 0 static
can.c:2478:6:Output_Data_Set_VCU_RWS_Rack_Cmd_CH5_0x040 8 static can.c:2482:6:Output_Data_Set_VCU_RWS_Rack_Cmd_CH5_0x040 8 static
can.c:2486:6:Output_Data_Set_VCU_RWS_StartupCommand_CH5_0x310 0 static can.c:2490:6:Output_Data_Set_VCU_RWS_StartupCommand_CH5_0x310 0 static
can.c:2495:6:Output_Data_Set_VCU_RWS_Sister_CH5_0x350 0 static can.c:2499:6:Output_Data_Set_VCU_RWS_Sister_CH5_0x350 0 static
can.c:365:6:ECU3_CAN_Data_Set_5ms 8 static can.c:365:6:ECU3_CAN_Data_Set_5ms 8 static
can.c:2507:6:Transmit_VCU_RC_Signals1_CH0_0x010 0 static can.c:2511:6:Transmit_VCU_RC_Signals1_CH0_0x010 0 static
can.c:2522:6:Transmit_VCU_RC_Signals2_CH0_0x011 8 static can.c:2526:6:Transmit_VCU_RC_Signals2_CH0_0x011 8 static
can.c:2543:6:Transmit_CAR_STAT_CH0_0x012 0 static can.c:2547:6:Transmit_CAR_STAT_CH0_0x012 0 static
can.c:2558:6:Transmit_VCU_RC_Fault_Flag_CH0_0x013 0 static can.c:2562:6:Transmit_VCU_RC_Fault_Flag_CH0_0x013 0 static
can.c:2573:6:Transmit_TARGET_VALUE_CH0_0x140 0 static can.c:2577:6:Transmit_TARGET_VALUE_CH0_0x140 0 static
can.c:2616:6:Transmit_RWA_VCU_RC_Signal1_CH0_0x050 8 static can.c:2620:6:Transmit_RWA_VCU_RC_Signal1_CH0_0x050 8 static
can.c:2631:6:Transmit_RWA_VCU_RC_Signal2_CH0_0x051 0 static can.c:2635:6:Transmit_RWA_VCU_RC_Signal2_CH0_0x051 0 static
can.c:2644:6:Transmit_RWS_VCU_RC_Signal1_CH0_0x060 0 static can.c:2648:6:Transmit_RWS_VCU_RC_Signal1_CH0_0x060 0 static
can.c:2656:6:Transmit_RWS_VCU_RC_Signal2_CH0_0x061 0 static can.c:2660:6:Transmit_RWS_VCU_RC_Signal2_CH0_0x061 0 static
can.c:2668:6:Transmit_SW_VER_CH0_0x100 0 static can.c:2672:6:Transmit_SW_VER_CH0_0x100 0 static
can.c:2681:6:Transmit_VCU_BCM_Signal_1_CH0_0x151 4 static can.c:2685:6:Transmit_VCU_BCM_Signal_1_CH0_0x151 4 static
can.c:2705:6:Transmit_VCU_BCM_Signal_2_CH0_0x180 0 static can.c:2709:6:Transmit_VCU_BCM_Signal_2_CH0_0x180 0 static
can.c:2717:6:Transmit_VCU_EPAM_CH0_0x220 0 static can.c:2721:6:Transmit_VCU_EPAM_CH0_0x220 0 static
can.c:2724:6:Transmit_VCU_MCU_Signals1_CH0_0x250 0 static can.c:2728:6:Transmit_VCU_MCU_Signals1_CH0_0x250 0 static
can.c:2746:6:Transmit_VCU_ACU_Signal1_CH1_0x013 4 static can.c:2750:6:Transmit_VCU_ACU_Signal1_CH1_0x013 4 static
can.c:2766:6:Transmit_VCU_ACU_Signal2_CH1_0x014 8 static can.c:2770:6:Transmit_VCU_ACU_Signal2_CH1_0x014 8 static
can.c:2788:6:Transmit_VCU_ACU_Signal3_CH1_0x015 8 static can.c:2792:6:Transmit_VCU_ACU_Signal3_CH1_0x015 8 static
can.c:2804:6:Transmit_CH1_ACU_CAR_STAT_CH1_0x016 8 static can.c:2808:6:Transmit_CH1_ACU_CAR_STAT_CH1_0x016 8 static
can.c:639:6:ECU3_CAN_Transmit_100ms 0 static can.c:639:6:ECU3_CAN_Transmit_100ms 0 static
can.c:314:6:CAN_Task_100ms 8 static can.c:314:6:CAN_Task_100ms 8 static
can.c:2821:6:Transmit_VCU_ACU_Fault_Flag_CH1_0x017 0 static can.c:2825:6:Transmit_VCU_ACU_Fault_Flag_CH1_0x017 0 static
can.c:2835:6:Transmit_RWA_VCU_ACU_Signal1_CH1_0x050 8 static can.c:2839:6:Transmit_RWA_VCU_ACU_Signal1_CH1_0x050 8 static
can.c:2849:6:Transmit_RWA_VCU_ACU_Signal2_CH1_0x051 8 static can.c:2853:6:Transmit_RWA_VCU_ACU_Signal2_CH1_0x051 8 static
can.c:2863:6:Transmit_RWS_VCU_ACU_Signal1_CH1_0x060 8 static can.c:2867:6:Transmit_RWS_VCU_ACU_Signal1_CH1_0x060 8 static
can.c:2877:6:Transmit_RWS_VCU_ACU_Signal2_CH1_0x061 8 static can.c:2881:6:Transmit_RWS_VCU_ACU_Signal2_CH1_0x061 8 static
can.c:2891:6:Transmit_CH1_IMU_TX1_CH1_0x174 0 static can.c:2895:6:Transmit_CH1_IMU_TX1_CH1_0x174 0 static
can.c:2907:6:Transmit_CH1_IMU_TX2_CH1_0x178 0 static can.c:2911:6:Transmit_CH1_IMU_TX2_CH1_0x178 0 static
can.c:2923:6:Transmit_CH1_IMU_TX3_CH1_0x17C 0 static can.c:2927:6:Transmit_CH1_IMU_TX3_CH1_0x17C 0 static
can.c:2938:6:Transmit_BCM_VCU_ACU_Signal1_CH1_0x570 16 static can.c:2942:6:Transmit_BCM_VCU_ACU_Signal1_CH1_0x570 16 static
can.c:2965:6:Transmit_BCM_VCU_ACU_Signal2_CH1_0x580 16 static can.c:2969:6:Transmit_BCM_VCU_ACU_Signal2_CH1_0x580 16 static
can.c:2991:6:Transmit_BCM_VCU_ACU_Signal5_CH1_0x585 8 static can.c:2995:6:Transmit_BCM_VCU_ACU_Signal5_CH1_0x585 8 static
can.c:3008:6:Transmit_BCM_VCU_ACU_Signal3_CH1_0x590 8 static can.c:3012:6:Transmit_BCM_VCU_ACU_Signal3_CH1_0x590 8 static
can.c:3024:6:Transmit_BCM_VCU_ACU_Signal4_CH1_0x595 8 static can.c:3028:6:Transmit_BCM_VCU_ACU_Signal4_CH1_0x595 8 static
can.c:3037:6:Transmit_VCU_245h_CH1_0x245 0 static can.c:3041:6:Transmit_VCU_245h_CH1_0x245 0 static
can.c:3045:6:Transmit_ICM_303h_CH1_0x303 0 static can.c:3049:6:Transmit_ICM_303h_CH1_0x303 0 static
can.c:3053:6:Transmit_CGW_372h_CH1_0x372 0 static can.c:3057:6:Transmit_CGW_372h_CH1_0x372 0 static
can.c:3061:6:Transmit_VCU_3ACh_CH1_0x3AC 0 static can.c:3065:6:Transmit_VCU_3ACh_CH1_0x3AC 0 static
can.c:3068:6:Transmit_CGW_588h_CH1_0x588 0 static can.c:3072:6:Transmit_CGW_588h_CH1_0x588 0 static
can.c:3077:6:Transmit_BSC_IDB_StartupCommand_CH2_0x032 8 static can.c:3081:6:Transmit_BSC_IDB_StartupCommand_CH2_0x032 8 static
can.c:3088:6:Transmit_BSC_RWA_RackCommand_CH2_0x040 8 static can.c:3092:6:Transmit_BSC_RWA_RackCommand_CH2_0x040 8 static
can.c:3101:6:Transmit_BSC_IDB_BrakeCommand_CH2_0x064 16 static can.c:3105:6:Transmit_BSC_IDB_BrakeCommand_CH2_0x064 16 static
can.c:3127:6:Transmit_BSC_RegenCommand_CH2_0x06A 16 static can.c:3131:6:Transmit_BSC_RegenCommand_CH2_0x06A 16 static
can.c:3143:6:Transmit_BSC_IMU_CH2_0x070 16 static can.c:3147:6:Transmit_BSC_IMU_CH2_0x070 16 static
can.c:3163:6:Transmit_IDB_WheelSpeedStatus_CH2_0x088 8 static can.c:3167:6:Transmit_IDB_WheelSpeedStatus_CH2_0x088 8 static
can.c:3183:6:Transmit_BSC_RWA_StartupCommand_CH2_0x310 8 static can.c:3187:6:Transmit_BSC_RWA_StartupCommand_CH2_0x310 8 static
can.c:3194:6:Transmit_BSC_RWA_Sister_CH2_0x350 8 static can.c:3198:6:Transmit_BSC_RWA_Sister_CH2_0x350 8 static
can.c:3207:6:Transmit_BSC_VehicleEnvironment_CH2_0x384 16 static can.c:3211:6:Transmit_BSC_VehicleEnvironment_CH2_0x384 16 static
can.c:3225:6:Transmit_BSC_IDB_UdsRequest_CH2_0x796 0 static can.c:3229:6:Transmit_BSC_IDB_UdsRequest_CH2_0x796 0 static
can.c:3244:6:Transmit_BSC_RCU_StartupCommand_CH3_0x033 8 static can.c:3248:6:Transmit_BSC_RCU_StartupCommand_CH3_0x033 8 static
can.c:3254:6:Transmit_BSC_RWA_RackCommand_CH3_0x040 8 static can.c:3258:6:Transmit_BSC_RWA_RackCommand_CH3_0x040 8 static
can.c:3265:6:Transmit_BSC_RCU_BrakeCommand_CH3_0x065 16 static can.c:3269:6:Transmit_BSC_RCU_BrakeCommand_CH3_0x065 16 static
can.c:3285:6:Transmit_BSC_IMU_CH3_0x071 16 static can.c:3289:6:Transmit_BSC_IMU_CH3_0x071 16 static
can.c:549:6:ECU3_CAN_Transmit_10ms 8 static can.c:549:6:ECU3_CAN_Transmit_10ms 8 static
can.c:3307:6:Transmit_RCU_WheelSpeedStatus_CH3_0x089 8 static can.c:3311:6:Transmit_RCU_WheelSpeedStatus_CH3_0x089 8 static
can.c:3327:6:Transmit_BSC_RWA_StartupCommand_CH3_0x310 8 static can.c:3331:6:Transmit_BSC_RWA_StartupCommand_CH3_0x310 8 static
can.c:3337:6:Transmit_BSC_RWA_Sister_CH3_0x350 8 static can.c:3341:6:Transmit_BSC_RWA_Sister_CH3_0x350 8 static
can.c:3348:6:Transmit_BSC_VehicleEnvironment_CH3_0x385 16 static can.c:3352:6:Transmit_BSC_VehicleEnvironment_CH3_0x385 16 static
can.c:689:6:ECU3_CAN_Transmit_1000ms 8 static can.c:689:6:ECU3_CAN_Transmit_1000ms 8 static
can.c:332:6:CAN_Task_1000ms 8 static can.c:332:6:CAN_Task_1000ms 8 static
can.c:3365:6:Transmit_BSC_RCU_UdsRequest_CH3_0x797 0 static can.c:3369:6:Transmit_BSC_RCU_UdsRequest_CH3_0x797 0 static
can.c:3381:6:Transmit_VCU_RWS_Rack_Cmd_CH4_0x040 8 static can.c:3385:6:Transmit_VCU_RWS_Rack_Cmd_CH4_0x040 8 static
can.c:3397:6:Transmit_VCU_RWS_StartupCommand_CH4_0x310 8 static can.c:3401:6:Transmit_VCU_RWS_StartupCommand_CH4_0x310 8 static
can.c:3411:6:Transmit_VCU_RWS_Sister_CH4_0x350 8 static can.c:3415:6:Transmit_VCU_RWS_Sister_CH4_0x350 8 static
can.c:3425:6:Transmit_VCU_RWS_Rack_Cmd_CH5_0x040 8 static can.c:3429:6:Transmit_VCU_RWS_Rack_Cmd_CH5_0x040 8 static
can.c:3434:6:Transmit_VCU_RWS_Sister_CH5_0x350 8 static can.c:3438:6:Transmit_VCU_RWS_Sister_CH5_0x350 8 static
can.c:3446:6:Transmit_VCU_RWS_StartupCommand_CH5_0x310 8 static can.c:3450:6:Transmit_VCU_RWS_StartupCommand_CH5_0x310 8 static
can.c:410:6:ECU3_CAN_Transmit_5ms 8 static can.c:410:6:ECU3_CAN_Transmit_5ms 8 static
can.c:287:6:CAN_Task_5ms 8 static can.c:287:6:CAN_Task_5ms 8 static
can.c:3460:6:Bypass_Data_Set_BCM_VCU_Signal1_0x570_CH0_to_CH1 0 static can.c:3464:6:Bypass_Data_Set_BCM_VCU_Signal1_0x570_CH0_to_CH1 0 static
can.c:3466:6:Bypass_Data_Set_BCM_VCU_Signal2_0x580_CH0_to_CH1 0 static can.c:3470:6:Bypass_Data_Set_BCM_VCU_Signal2_0x580_CH0_to_CH1 0 static
can.c:3472:6:Bypass_Data_Set_BCM_VCU_Signal3_0x590_CH0_to_CH1 0 static can.c:3476:6:Bypass_Data_Set_BCM_VCU_Signal3_0x590_CH0_to_CH1 0 static
can.c:3478:6:Bypass_Data_Set_BCM_VCU_Signal4_0x595_CH0_to_CH1 0 static can.c:3482:6:Bypass_Data_Set_BCM_VCU_Signal4_0x595_CH0_to_CH1 0 static
can.c:3484:6:Bypass_Data_Set_BCM_VCU_Signal5_0x585_CH0_to_CH1 0 static can.c:3488:6:Bypass_Data_Set_BCM_VCU_Signal5_0x585_CH0_to_CH1 0 static
can.c:3495:6:Bypass_Data_Set_RWA_VCU_ACU_Signal1_CH3_to_CH1_0x050 0 static can.c:3499:6:Bypass_Data_Set_RWA_VCU_ACU_Signal1_CH3_to_CH1_0x050 0 static
can.c:3501:6:Bypass_Data_Set_RWA_VCU_ACU_Signal2_CH2_to_CH1_0x051 0 static can.c:3505:6:Bypass_Data_Set_RWA_VCU_ACU_Signal2_CH2_to_CH1_0x051 0 static
can.c:3507:6:Bypass_Data_Set_RWA_VCU_RC_Signal1_0x050 0 static can.c:3511:6:Bypass_Data_Set_RWA_VCU_RC_Signal1_0x050 0 static
can.c:3513:6:Bypass_Data_Set_RWA_VCU_RC_Signal2_0x051 0 static can.c:3517:6:Bypass_Data_Set_RWA_VCU_RC_Signal2_0x051 0 static
can.c:3520:6:Bypass_Data_Set_RWS_VCU_ACU_Signal1_CH4_to_CH1_0x060 0 static can.c:3524:6:Bypass_Data_Set_RWS_VCU_ACU_Signal1_CH4_to_CH1_0x060 0 static
can.c:3526:6:Bypass_Data_Set_RWS_VCU_ACU_Signal2_CH5_to_CH1_0x061 0 static can.c:3530:6:Bypass_Data_Set_RWS_VCU_ACU_Signal2_CH5_to_CH1_0x061 0 static
can.c:3532:6:Bypass_Data_Set_RWS_VCU_RC_Signal1_0x060 0 static can.c:3536:6:Bypass_Data_Set_RWS_VCU_RC_Signal1_0x060 0 static
can.c:3538:6:Bypass_Data_Set_RWS_VCU_RC_Signal2_0x061 0 static can.c:3542:6:Bypass_Data_Set_RWS_VCU_RC_Signal2_0x061 0 static
can.c:528:6:ECU3_CAN_Bypass_10ms 8 static can.c:528:6:ECU3_CAN_Bypass_10ms 8 static
can.c:296:6:CAN_Task_10ms 8 static can.c:296:6:CAN_Task_10ms 8 static
can.c:3545:6:Bypass_Data_Set_BSC_RWA_RackCommand_CH3_0x040 0 static can.c:3549:6:Bypass_Data_Set_BSC_RWA_RackCommand_CH3_0x040 0 static
can.c:3554:6:Bypass_Data_Set_BSC_RWA_RackCommand_CH2_0x040 0 static can.c:3558:6:Bypass_Data_Set_BSC_RWA_RackCommand_CH2_0x040 0 static
can.c:3563:6:Bypass_Data_Set_VCU_RWS_Rack_Cmd_CH4_0x040 0 static can.c:3567:6:Bypass_Data_Set_VCU_RWS_Rack_Cmd_CH4_0x040 0 static
can.c:3568:6:Bypass_Data_Set_VCU_RWS_Rack_Cmd_CH5_0x040 0 static can.c:3572:6:Bypass_Data_Set_VCU_RWS_Rack_Cmd_CH5_0x040 0 static
can.c:3574:6:Bypass_Data_Set_ACU_BCM_Signal_1_CH1_to_CH0_0x151 0 static can.c:3578:6:Bypass_Data_Set_ACU_BCM_Signal_1_CH1_to_CH0_0x151 0 static

View File

@ -73,6 +73,8 @@ void Input_Data_Set_Logic(void)
else if(GV_VCU_Drive_Mode == 2 || GV_VCU_Drive_Mode == 3) // Emergency Mode else if(GV_VCU_Drive_Mode == 2 || GV_VCU_Drive_Mode == 3) // Emergency Mode
{ {
ADM_Integrated_Logic_U.GV_Vx_Command = 0; ADM_Integrated_Logic_U.GV_Vx_Command = 0;
ADM_Integrated_Logic_U.GV_RWA_RackAngleCommand = 0;
ADM_Integrated_Logic_U.GV_RWS_RackAngleCommand = 0;
} }
} }
@ -125,8 +127,8 @@ void Output_Data_Set_Logic(void)
{ {
GV_Motor_Torque_Cmd = 0; GV_Motor_Torque_Cmd = 0;
GV_Master_Brake_Torque_Command = GV_RC_BrakeTorqueCommand; GV_Master_Brake_Torque_Command = GV_RC_BrakeTorqueCommand;
// GV_Master_Brake_Command = 0; // 기본모드 시 브레이크 잡지 않음 // GV_Master_Brake_Command = 0; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD><EAB7B9>ũ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
// GV_MASTER_RWA_RackAngleCommand = 0; // 스티어링 중앙 정렬 // GV_MASTER_RWA_RackAngleCommand = 0; // <EFBFBD><EFBFBD>Ƽ<EFBFBD><20>߾<EFBFBD> <20><><EFBFBD><EFBFBD>
// GV_MASTER_RWS_RackAngleCommand = 0; // GV_MASTER_RWS_RackAngleCommand = 0;
} }
@ -140,8 +142,18 @@ void Output_Data_Set_Logic(void)
if(ADM_Integrated_Logic_U.GV_IDB_ECU_Fault_Flag == 1) GV_IDB_BrakeTorqueCommand = 0; if(ADM_Integrated_Logic_U.GV_IDB_ECU_Fault_Flag == 1) GV_IDB_BrakeTorqueCommand = 0;
if(ADM_Integrated_Logic_U.GV_RCU_ECU_Fault_Flag == 1) GV_RCU_BrakeTorqueCommand = 0; if(ADM_Integrated_Logic_U.GV_RCU_ECU_Fault_Flag == 1) GV_RCU_BrakeTorqueCommand = 0;
if(ADM_Integrated_Logic_U.GV_RWA1_ECU_Fault_Flag == 1) GV_RWA_040_RackAngleCmd = 0; GV_VCU_RWA_Rack_Fbk = GV_RWA1_RackAngleFbk;
if(ADM_Integrated_Logic_U.GV_RWA2_ECU_Fault_Flag == 1) GV_RWA2_040_RackAngleCmd = 0; if(ADM_Integrated_Logic_U.GV_RWA1_ECU_Fault_Flag == 1)
{
GV_RWA_040_RackAngleCmd = 0;
GV_VCU_RWA_Rack_Fbk = GV_RWA2_RackAngleFbk;
}
if(ADM_Integrated_Logic_U.GV_RWA2_ECU_Fault_Flag == 1)
{
GV_RWA2_040_RackAngleCmd = 0;
GV_VCU_RWA_Rack_Fbk = GV_RWA1_RackAngleFbk;
}
if(ADM_Integrated_Logic_U.GV_RWA_Actuator_Fault == 1) if(ADM_Integrated_Logic_U.GV_RWA_Actuator_Fault == 1)
{ {
GV_RWA_040_RackAngleCmd = 0; GV_RWA_040_RackAngleCmd = 0;

View File

@ -19,7 +19,7 @@ void PWM_for_dirve_mode(void)
{ {
case 0: case 0:
Set_PWM_Duty(PWM_CH0, 0); Set_PWM_Duty(PWM_CH0, 0);
Set_PWM_Duty(PWM_CH1, 100); // 0.2초 주기로 점멸 변경 Set_PWM_Duty(PWM_CH1, 100); // 0.2<EFBFBD><EFBFBD> <20>ֱ<EFBFBD><D6B1> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
GV_PWM_1 = 0; GV_PWM_1 = 0;
GV_PWM_2 = 1; GV_PWM_2 = 1;
break; break;
@ -35,7 +35,7 @@ void PWM_for_dirve_mode(void)
switch(GV_PWM_1) switch(GV_PWM_1)
{ {
case 0: case 0:
Set_PWM_Duty(PWM_CH0, 100); // 0.2초 주기로 점멸 변경 Set_PWM_Duty(PWM_CH0, 100); // 0.2<EFBFBD><EFBFBD> <20>ֱ<EFBFBD><D6B1> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
Set_PWM_Duty(PWM_CH1, 0); Set_PWM_Duty(PWM_CH1, 0);
GV_PWM_1 = 1; GV_PWM_1 = 1;
GV_PWM_2 = 0; GV_PWM_2 = 0;
@ -60,17 +60,21 @@ void PWM_for_dirve_mode(void)
void LampCheck(void) void LampCheck(void)
{ {
if(GV_IMU_AX_Val <= -0.7 || GV_RC_BrakeTorqueCommand >= 1.) GV_Lamp_BRAKE_CMD = 1; // if(GV_IMU_AX_Val <= -0.7 || GV_RC_BrakeTorqueCommand >= 1.) GV_Lamp_BRAKE_CMD = 1;
else GV_Lamp_BRAKE_CMD = 0; // else GV_Lamp_BRAKE_CMD = 0;
if(GV_VCU_GearSelStat == 1) GV_Lamp_Reverse_CMD = 1; if(GV_VCU_GearSelStat == 1) GV_Lamp_Reverse_CMD = 1;
else GV_Lamp_Reverse_CMD = 0; else GV_Lamp_Reverse_CMD = 0;
if(GV_Lamp_HBEAM_CMD == 1 || GV_Lamp_Head_CMD == 1)
{
GV_Lamp_DRL_CMD = 0;
GV_Lamp_Position_CMD = 1;
}
} }
void RCLampSet(void) void RCLampSet(void)
{ {
LampCheck();
GV_Lamp_DRL_CMD = GV_RC_Lamp_DRL_CMD; GV_Lamp_DRL_CMD = GV_RC_Lamp_DRL_CMD;
GV_Lamp_HBEAM_CMD = GV_RC_Lamp_HBEAM_CMD; GV_Lamp_HBEAM_CMD = GV_RC_Lamp_HBEAM_CMD;
GV_Lamp_Head_CMD = GV_RC_Lamp_Head_CMD; GV_Lamp_Head_CMD = GV_RC_Lamp_Head_CMD;
@ -80,12 +84,12 @@ void RCLampSet(void)
GV_Lamp_LTRN_CMD = GV_RC_Lamp_LTRN_CMD; GV_Lamp_LTRN_CMD = GV_RC_Lamp_LTRN_CMD;
GV_Lamp_RTRN_CMD = GV_RC_Lamp_RTRN_CMD; GV_Lamp_RTRN_CMD = GV_RC_Lamp_RTRN_CMD;
GV_Wiper_CMD = GV_RC_Wiper_CMD; GV_Wiper_CMD = GV_RC_Wiper_CMD;
LampCheck();
} }
void ACULampSet(void) void ACULampSet(void)
{ {
LampCheck();
GV_Lamp_DRL_CMD = GV_ACU_Lamp_DRL_CMD; GV_Lamp_DRL_CMD = GV_ACU_Lamp_DRL_CMD;
GV_Lamp_HBEAM_CMD = GV_ACU_Lamp_HBEAM_CMD; GV_Lamp_HBEAM_CMD = GV_ACU_Lamp_HBEAM_CMD;
GV_Lamp_Head_CMD = GV_ACU_Lamp_Head_CMD; GV_Lamp_Head_CMD = GV_ACU_Lamp_Head_CMD;
@ -95,6 +99,8 @@ void ACULampSet(void)
GV_Lamp_LTRN_CMD = GV_ACU_Lamp_LTRN_CMD; GV_Lamp_LTRN_CMD = GV_ACU_Lamp_LTRN_CMD;
GV_Lamp_RTRN_CMD = GV_ACU_Lamp_RTRN_CMD; GV_Lamp_RTRN_CMD = GV_ACU_Lamp_RTRN_CMD;
GV_Wiper_CMD = GV_ACU_Wiper_CMD; GV_Wiper_CMD = GV_ACU_Wiper_CMD;
LampCheck();
} }
void DefaultLampSet(void) void DefaultLampSet(void)

View File

@ -1,6 +1,7 @@
#include "System_Check.h" #include "System_Check.h"
#include "can.h" #include "can.h"
#include "Global_Variable.h" #include "Global_Variable.h"
#include "System_Layer/Drive_Mode.h"
/* /*
* count = 10 (100ms) * count = 10 (100ms)
@ -165,6 +166,8 @@ void RWA2_Arc_check(void) // Ch3 0x072 5ms
void System_check(void) void System_check(void)
{ {
bool acuFaultAffectsEmergency = false;
if(GV_RC_VCU_ACU_Fault_Flag == 1 && GV_Act_Fault_Exist) GV_VCU_RC_ACU_Fault_Flag = 1; if(GV_RC_VCU_ACU_Fault_Flag == 1 && GV_Act_Fault_Exist) GV_VCU_RC_ACU_Fault_Flag = 1;
else GV_VCU_RC_ACU_Fault_Flag = 0; else GV_VCU_RC_ACU_Fault_Flag = 0;
@ -179,7 +182,10 @@ void System_check(void)
else else
GV_ACU_ECU_Fault_Flag_Master = 0; GV_ACU_ECU_Fault_Flag_Master = 0;
isEmergencyVcu = (GV_ACU_ECU_Fault_Flag == 1 || GV_ACU_ECU_Fault_Flag1 == 1 || GV_ACU_ECU_Fault_Flag2 == 1 || GV_ACU_ECU_Fault_Flag3 == 1 acuFaultAffectsEmergency = ((GV_VCU_Drive_Mode == DRIVE_MODE_ACU)
|| ((GV_VCU_Drive_Mode == DRIVE_MODE_EMERGENCY) && (GV_VCU_EmergencyCause == EMG_REQ_ACU)));
isEmergencyVcu = ((acuFaultAffectsEmergency && (GV_ACU_ECU_Fault_Flag_Master == 1))
|| GV_VCU_RC_IDB_ECU_Fault_Flag == 1 || GV_VCU_RC_RCU_ECU_Fault_Flag == 1 || GV_VCU_RC_IDB_ECU_Fault_Flag == 1 || GV_VCU_RC_RCU_ECU_Fault_Flag == 1
|| GV_VCU_RC_RWA1_ECU_Fault_Flag == 1 || GV_VCU_RC_RWA2_ECU_Fault_Flag == 1 || GV_VCU_RC_RWA_Actuator_Fault_Flag == 1 || GV_VCU_RC_RWA1_ECU_Fault_Flag == 1 || GV_VCU_RC_RWA2_ECU_Fault_Flag == 1 || GV_VCU_RC_RWA_Actuator_Fault_Flag == 1
|| GV_VCU_RC_MCU_Actuator_Fault_Flag == 1); || GV_VCU_RC_MCU_Actuator_Fault_Flag == 1);

View File

@ -110,14 +110,12 @@ void CheckIgnition(void)
case KEY_STATE_OFF_PROCESS_WAIT_HV: // Wait for high voltage cutoff case KEY_STATE_OFF_PROCESS_WAIT_HV: // Wait for high voltage cutoff
HighVoltageOff(); HighVoltageOff();
GV_IG_Process_Status = KEY_STATE_OFF_PROCESS_WAIT_LDC;
break; break;
case KEY_STATE_OFF_PROCESS_WAIT_LDC: // Wait for LDC voltage drop case KEY_STATE_OFF_PROCESS_WAIT_LDC: // Wait for LDC voltage drop
if (GV_LDC_INP_VOLT < 5) // Check the LDC voltage, if the LDC voltage falls below 5V, it switches to 'key off complete' state GV_CE_ON_CMD = 0;
{ GV_IG_Process_Status = KEY_STATE_OFF_COMPLETE;
GV_CE_ON_CMD = 0;
GV_IG_Process_Status = KEY_STATE_OFF_COMPLETE;
}
break; break;
default: // Exception default: // Exception
@ -130,6 +128,7 @@ void CheckIgnition(void)
void ExecuteDriveMode() void ExecuteDriveMode()
{ {
SetVehicleEnvironment(); SetVehicleEnvironment();
ACU_Arc_check();
CheckDriveMode(); CheckDriveMode();
// LongitudinalCtrlMode(); // LongitudinalCtrlMode();
@ -179,8 +178,6 @@ void CheckDriveMode(void)
else if(isEmergencyAcu) GV_VCU_EmergencyCause = EMG_REQ_ACU; else if(isEmergencyAcu) GV_VCU_EmergencyCause = EMG_REQ_ACU;
else if(isEmergencySwitch) GV_VCU_EmergencyCause = EMG_REQ_EXTERNAL_SW; else if(isEmergencySwitch) GV_VCU_EmergencyCause = EMG_REQ_EXTERNAL_SW;
else if(isEmergencyVcu) GV_VCU_EmergencyCause = EMG_REQ_VCU; else if(isEmergencyVcu) GV_VCU_EmergencyCause = EMG_REQ_VCU;
ACU_Arc_check();
} }
else if(isCharging) //Author : JaeminSong, Date : 0830, Description: If Current_Mode is Charging, We need to change default Mode. else if(isCharging) //Author : JaeminSong, Date : 0830, Description: If Current_Mode is Charging, We need to change default Mode.
{ {
@ -444,11 +441,21 @@ void RcRequestCheck(void)
if ((GV_RC_ACU_Drive_Mode == 1U) && (GV_RC_Drive_Mode == 1U)) if ((GV_RC_ACU_Drive_Mode == 1U) && (GV_RC_Drive_Mode == 1U))
{ {
if (s_lastRcModeReq == RC_REQ_AUTO) s_rcModeReqRaw = RC_REQ_AUTO; if ((GV_VCU_Drive_Mode == DRIVE_MODE_EMERGENCY) &&
else s_rcModeReqRaw = RC_REQ_MANUAL; (GV_VCU_EmergencyCause == EMG_REQ_ACU))
{
s_rcModeReqRaw = RC_REQ_MANUAL;
s_lastRcModeReq = RC_REQ_MANUAL;
GV_TradeOff_Emergency_Flag = 0;
}
else
{
if (s_lastRcModeReq == RC_REQ_AUTO) s_rcModeReqRaw = RC_REQ_AUTO;
else s_rcModeReqRaw = RC_REQ_MANUAL;
GV_TradeOff_Emergency_Flag = 1; GV_TradeOff_Emergency_Flag = 1;
GV_VCU_EmergencyCause = EMG_HO_CONFLICT; GV_VCU_EmergencyCause = EMG_HO_CONFLICT;
}
} }
else if (GV_RC_ACU_Drive_Mode == 1U) else if (GV_RC_ACU_Drive_Mode == 1U)
{ {
@ -485,7 +492,7 @@ void RcRequestCheck(void)
/*============================== Fault Check ==============================*/ /*============================== Fault Check ==============================*/
void CheckSystemFault(void) void CheckSystemFault(void)
{ {
GV_BMS_Fault_Check = !(GV_BMS_FltSta == 0 && GV_BMS_TEMP_FAULT == 0 && GV_BMS_Interlock == 1); // BMS Fault Check GV_BMS_Fault_Check = !(GV_BMS_FltSta == 0 && GV_BMS_TEMP_FAULT == 0); // BMS Fault Check
GV_MCU_Fault_Check = !(GV_MCU_FltSta == 0); // MCU Fault Check(0 = Connected) GV_MCU_Fault_Check = !(GV_MCU_FltSta == 0); // MCU Fault Check(0 = Connected)
GV_LDC_Fault_Check = !(GV_LDC_FltSta == 0 && GV_LDC_TEMP_FAULT == 0); // LDC Fault Check GV_LDC_Fault_Check = !(GV_LDC_FltSta == 0 && GV_LDC_TEMP_FAULT == 0); // LDC Fault Check
GV_OBC_Fault_Check = !(GV_OBC_Interlock == 1); // OBC Fault Check GV_OBC_Fault_Check = !(GV_OBC_Interlock == 1); // OBC Fault Check
@ -511,8 +518,6 @@ void ExecuteACUMode()
ACULampSet(); ACULampSet();
if(GV_ACU_Emergency_Stop != 1) GV_VCU_ACU_Emergency_Stop = 0; if(GV_ACU_Emergency_Stop != 1) GV_VCU_ACU_Emergency_Stop = 0;
ACU_Arc_check();
} }
@ -563,11 +568,11 @@ void ExecuteEmergencyMode()
// Exit emergency mode when no emergency source remains. // Exit emergency mode when no emergency source remains.
else if(!isEmergency && !isEmergencyVcu && else if(!isEmergency && !isEmergencyVcu &&
s_rcModeReqRaw == RC_REQ_MANUAL && s_rcModeReqRaw == RC_REQ_MANUAL &&
IsRcParkRequest()) (IsRcParkRequest() || (GV_VCU_GearSelStat == 0U)))
nextMode = DRIVE_MODE_RC; nextMode = DRIVE_MODE_RC;
else if(!isEmergency && !isEmergencyVcu && else if(!isEmergency && !isEmergencyVcu &&
s_rcModeReqRaw == RC_REQ_DEFAULT && s_rcModeReqRaw == RC_REQ_DEFAULT &&
IsRcParkRequest()) (IsRcParkRequest() || (GV_VCU_GearSelStat == 0U)))
nextMode = DRIVE_MODE_DEFAULT; nextMode = DRIVE_MODE_DEFAULT;
else if (!isEmergency && IsRcParkRequest()) else if (!isEmergency && IsRcParkRequest())
{ {
@ -675,7 +680,6 @@ void HighVoltageOff(void)
{ {
CNT_GV_HV_ON_CMD = 0; CNT_GV_HV_ON_CMD = 0;
GV_HV_ON_CMD = 0; GV_HV_ON_CMD = 0;
GV_IG_Process_Status = KEY_STATE_OFF_PROCESS_WAIT_LDC;
} }
GV_LDC_ACT_CMD = 0; GV_LDC_ACT_CMD = 0;

View File

@ -7,7 +7,7 @@ void SET_SW_VER(void)
{ {
GV_YEAR = 26; GV_YEAR = 26;
GV_Month = 3; GV_Month = 3;
GV_Day = 17; GV_Day = 19;
GV_Ver = 1; GV_Ver = 1;
GV_CAR_NUM = 240623; GV_CAR_NUM = 240623;
} }

View File

@ -2077,6 +2077,8 @@ void Output_Data_Set_RWS_VCU_ACU_Signal1_CH1_0x060(void)
ECU3.TX.CH1_RWS_VCU_ACU_Signal1_0x060.RWS_RackAngleSpeedFbk = (unsigned int)round((GV_RWS_RackAngleSpeedFbk1 - Offset_m_1638) / Factor_0_05) & _16bit; ECU3.TX.CH1_RWS_VCU_ACU_Signal1_0x060.RWS_RackAngleSpeedFbk = (unsigned int)round((GV_RWS_RackAngleSpeedFbk1 - Offset_m_1638) / Factor_0_05) & _16bit;
ECU3.TX.CH1_RWS_VCU_ACU_Signal1_0x060.RWS_VCU_ACU_counter1 = (unsigned int)round(GV_RWS_VCU_ACU_counter1) & _4bit; ECU3.TX.CH1_RWS_VCU_ACU_Signal1_0x060.RWS_VCU_ACU_counter1 = (unsigned int)round(GV_RWS_VCU_ACU_counter1) & _4bit;
ECU3.TX.CH1_RWS_VCU_ACU_Signal1_0x060.RWS_VCU_ACU_CRC1 = (unsigned int)round(GV_RWS_VCU_ACU_CRC1) & _4bit; ECU3.TX.CH1_RWS_VCU_ACU_Signal1_0x060.RWS_VCU_ACU_CRC1 = (unsigned int)round(GV_RWS_VCU_ACU_CRC1) & _4bit;
GV_CH0_RWS_RackAngleFbk1 = GV_RWS_RackAngleFbk1;
} }
void Output_Data_Set_RWS_VCU_ACU_Signal2_CH1_0x061(void) void Output_Data_Set_RWS_VCU_ACU_Signal2_CH1_0x061(void)
@ -2085,6 +2087,8 @@ void Output_Data_Set_RWS_VCU_ACU_Signal2_CH1_0x061(void)
ECU3.TX.CH1_RWS_VCU_ACU_Signal2_0x061.RWS_RackAngleSpeedFbk = (unsigned int)round((GV_RWS_RackAngleSpeedFbk2 - Offset_m_1638) / Factor_0_05) & _16bit; ECU3.TX.CH1_RWS_VCU_ACU_Signal2_0x061.RWS_RackAngleSpeedFbk = (unsigned int)round((GV_RWS_RackAngleSpeedFbk2 - Offset_m_1638) / Factor_0_05) & _16bit;
ECU3.TX.CH1_RWS_VCU_ACU_Signal2_0x061.RWS_VCU_ACU_counter2 = (unsigned int)round(GV_RWS_VCU_ACU_counter2) & _4bit; ECU3.TX.CH1_RWS_VCU_ACU_Signal2_0x061.RWS_VCU_ACU_counter2 = (unsigned int)round(GV_RWS_VCU_ACU_counter2) & _4bit;
ECU3.TX.CH1_RWS_VCU_ACU_Signal2_0x061.RWS_VCU_ACU_CRC2 = (unsigned int)round(GV_RWS_VCU_ACU_CRC2) & _4bit; ECU3.TX.CH1_RWS_VCU_ACU_Signal2_0x061.RWS_VCU_ACU_CRC2 = (unsigned int)round(GV_RWS_VCU_ACU_CRC2) & _4bit;
GV_CH0_RWS_RackAngleFbk2 = GV_RWS_RackAngleFbk2;
} }
void Output_Data_Set_BSC_IMU_CH2_0x070(void) void Output_Data_Set_BSC_IMU_CH2_0x070(void)