ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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의 설치 방법과 사용법을 설명한다.

     

     

    설치

    app_dbc_merger_qt.zip
    0.14MB

    1. ZIP 파일을 압축 해제합니다.
    2. "app_dbc_merger_qt" 폴더를 포함한 "상위" 경로에서 터미널을 엽니다.
    3. (선택) 가상환경을 생성합니다.
    4. 의존성 패키지를 설치합니다.
    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

     

     

    메인 화면

    기본 사용 순서

    1. 왼쪽 패널에서 DBC1 파일을 로드합니다.
    2. 오른쪽 패널에서 DBC2 파일을 로드합니다.
    3. 병합에 포함할 메시지/신호를 선택합니다.
    4. "Copy" 또는 "Copy All" 버튼으로 중앙 DBC3로 복사합니다.
    5. 중앙 DBC3 트리에서 체크 상태와 Source를 확인합니다.
    6. 파일 이름과 인코딩을 설정합니다.
    7. "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