Automotive/Testing 5

BusLoad Monitoring 위한 CAPL 코드

구현 과정각 채널 별 모든 메시지 주기적으로 송신 각 채널 별 전송 중인 모든 메시지 송신 취소전체 채널 메시지 주기적으로 송신전체 채널 메시지 송신 취소각 채널 별 송신 주기 변경송신 주기 Default로 변경버스로드 모니터링📌 모든 메시지 주기적으로 송신1. variable 영역에 사용하려는 모든 메시지 선언→ 메시지 양이 너무 많은 경우 자동화된 파이썬 스크립트 작성하여 CAPL 코드 내 메시지 선언def print_valid_messages(dbc): capl_vars = "variables\n{\n" for msg in valid_messages: # capl_vars += f" message {dbc}::{msg.name} {dbc}_{msg.name};\n" ..

Automotive/Testing 2025.09.19

[CAPL] 메시지 주기 송신하기

CAPl에는 메시지를 주기적으로 송신해주는 내장 함수가 없기 때문에 메시지를 주기적으로 송신하고싶다면 사용자가 직접 타이머를 이용해 재귀적으로 구현해야한다. 나는 아래와 같이 주기적으로 메시지를 송신하는 타이머를 구현했다.🕒 1. 메시지를 보낼 타이머 설정하기variables { msTimer cycle100msTimer;} variable 영역에 msTimer 타입의 변수를 선언한다.🔁 2. 타이머 이벤트가 발생할 때 실행되는 함수 만들기on timer cycle100msTimer { setCycle100ms();} 타이머가 호출되면 sendCycle100ms 함수를 호출하여 메시지를 송신한다.📤 3. 함수 내부에서 setTimer를 사용해 주기적으로 메시지 송신하기void setCycle..

Automotive/Testing 2025.07.17

[CANoe] Analysis Filter 만들기

🎯Analysis Filter 사용 목적특정 메시지를 선택적으로 계측하거나 제외하여 데이터를 효율적으로 분석할 수 있다.🛠️ 사용 방법1. Filter Group 추가Analysis Filter -> 우클릭 후 Add Filter Group2. 조건 설정Filter Group 내에서 다음 두 가지 필터를 설정할 수 있다.Stop filer : 계측 하지 않을 메시지Pass filer : 계측하려는 메시지각 필터에 조건을 추가하려면우클릭 -> Add Condition 선택3. 조건 정의 방법조건은 DBC에 정의된 이벤트 또는 직접 생성한 System Variable을 기반으로 설정할 수 있다.✅ 예시특정 CAN 메시지 ID 또는 특정 값 범위를 가진 System Variable만 계측하고 싶을 경우, ..

Automotive/Testing 2025.06.24

[CAPL] Panel 버튼과 CAPL 연결하여 메시지 송신하기

🧩 왜 CAPL과 Panel을 함께 사용할까?CANoe에서 테스트를 수행할 때, 보다 직관적이고 간편하게 메시지를 송수신하기 위해 CAPL 스크립트와 패널 기능을 함께 활용할 수 있다. 특히 반복적인 테스트나 사용자 입력 기반의 시나리오를 구성할 때, 패널의 버튼과 System Variable을 연동하고 CAPL을 통해 메시지를 제어하면 테스트 효율성과 가독성이 크게 향상된다.이번 글에서는 패널에 버튼을 생성하고 System Variable을 연결한 뒤, CAPL을 통해 버튼 클릭 시 메시지를 송신하는 전체 과정을 단계별로 정리하려한다. 🛠️ 1. Panel에 버튼 생성하기1. CANoe -> Home -> Panel -> New Panel 2. Tool Box에서 Button 생성 3. Proper..

Automotive/Testing 2025.06.18

[TRACE32] 리셋 후 디버깅 명령어 정리

1. MCU까지 한번에 리셋하기1️⃣ 시스템 리셋 (MCU Reset)B::sys.reset2️⃣ MCU와 디버거 연결 B::sys.u3️⃣ 디버깅 시작 B::sys.a 📌 사용 목적 MCU를 처음부터 다시 시작하고, 그 상태를 디버깅하고 싶을 때 사용2. 디버거만 재시작하기1️⃣ 시스템 다운 (디버거 연결 끊기)B::sys.d2️⃣ 디버거 연결B::sys.u3️⃣ 실행B::g📌 사용 목적 MCU 상태 유지하며 디버깅 재시작하고 싶을 때 사용ex) OTA 상태 전환 후 디버깅

Automotive/Testing 2025.06.12