-
dbc 병합application 2026. 3. 16. 10:53
시작하기 전에
포르쉐 타이칸 CAN 데이터에서 요-레이트 신호 찾기 :: hsl's tsmaster 사용기, 포르쉐 타이칸 CAN 데이터에서 횡가속도 신호 찾기 :: hsl's tsmaster 사용기 에서 opendbc/opendbc/dbc at master · commaai/opendbc에서 다운로드 받은 dbc 파일들을 사용했다고 이야기 했다. dbc 파일들이 5개 있었다.

opendbc에서 다운로드 받은 VW의 dbc 파일들 여러 메시지/신호들이 다른 이름으로 여러 dbc 파일들에 중복되어 있었다. TSMaster에 dbc 파일들을 임포트하니 중복된 메시지/신호들이 마지막에 임포트된 dbc 파일의 정의로 대체되었다. 내가 원하는 메시지/신호 정의를 사용할 수 없었다. dbc 파일들에서 메시지/신호들을 선택하여 내게 필요한 dbc를 만들 필요가 생겼다.
나는 Vector사의 프리웨어인 CANdb++ 에디터(CAN dbc 편집 :: hsl's tsmaster 사용기)를 사용한다. 좋은 툴이다. 복수의 dbc 파일들에서 메시지/신호들을 합치는 작업(dbc 병합)에는 다소 불편하다. 바이브 코딩으로 dbc 병합용 툴을 만들었다.

dbc merger 실행 화면 dbc merger의 설치 방법과 사용법을 설명한다.
설치
- ZIP 파일을 압축 해제합니다.
- "app_dbc_merger_qt" 폴더를 포함한 "상위" 경로에서 터미널을 엽니다.
- (선택) 가상환경을 생성합니다.
- 의존성 패키지를 설치합니다.
REM python 가상 환경을 만듭니다. 옵션입니다. python -m venv .venv REM 가상 환경을 활성화 합니다. .\.venv\Scripts\Activate.ps1 REM dbc merger 앱을 실행하기 위해서 필요한 패키지/모듈들을 설치합니다. pip install -r .\app_dbc_merger_qt\requirements.txt
실행- 상위 폴더에서 아래 명령으로 실행합니다.
python -m app_dbc_merger_qt.app메인 화면

기본 사용 순서
- 왼쪽 패널에서 DBC1 파일을 로드합니다.
- 오른쪽 패널에서 DBC2 파일을 로드합니다.
- 병합에 포함할 메시지/신호를 선택합니다.
- "Copy" 또는 "Copy All" 버튼으로 중앙 DBC3로 복사합니다.
- 중앙 DBC3 트리에서 체크 상태와 Source를 확인합니다.
- 파일 이름과 인코딩을 설정합니다.
- "Save DBC" 버튼으로 저장합니다.
참고 사항
- 앱 실행 후 GUI가 뜰 때까지 조금 시간이 걸립니다.
- 마지막에 사용한 DBC1/DBC2/DBC3 경로는 `dbc_merger_last_paths.json`에 저장됩니다.
- DBC3 트리는 메시지/신호 단위 체크박스로 포함 여부를 제어할 수 있습니다.
- Help 메뉴에서 About, License, Third-Party Licenses를 확인할 수 있습니다.
문제 해결
- DBC 로드 실패 시 파일 인코딩 또는 DBC 파일 유효성(CANdb++ 에디터에서 열어보십시오.)을 확인하세요.
- 병합 실패 시 하단 로그 패널의 충돌 메시지를 확인하세요.
'application' 카테고리의 다른 글
blf & dbc --> mdf or csv 변환 (0) 2026.03.10 blf & dbc --> mdf 변환 (1) 2026.03.08 바이브 코딩으로 진단기 만들기 (0) 2026.01.19 diag_tester_FRD (0) 2026.01.19 포르쉐 타이칸 CAN 데이터에서 횡가속도 신호 찾기 (0) 2026.01.06