Merge pull request #6 from 3minbe/smbaeWS_LapTop
Smbae ws lap top → main
@ -8,7 +8,7 @@ def generate_globals(signals, C_file, header_file):
|
|||||||
return
|
return
|
||||||
|
|
||||||
with open(C_file, 'w') as f:
|
with open(C_file, 'w') as f:
|
||||||
f.write("#include <generated_globals.h>\n")
|
f.write("#include <generated_RX_globals.h>\n")
|
||||||
|
|
||||||
for message_name, message_info in signals.items():
|
for message_name, message_info in signals.items():
|
||||||
for signal in message_info["Signals"]:
|
for signal in message_info["Signals"]:
|
||||||
@ -193,11 +193,11 @@ if __name__ == "__main__":
|
|||||||
dbc_file_path = sys.argv[1]
|
dbc_file_path = sys.argv[1]
|
||||||
output_dir = sys.argv[2]
|
output_dir = sys.argv[2]
|
||||||
|
|
||||||
output_globals_C_file = f"{output_dir}/generated_globals.c"
|
output_globals_C_file = f"{output_dir}/generated_RX_globals.c"
|
||||||
output_globals_header_file = f"{output_dir}/generated_globals.h"
|
output_globals_header_file = f"{output_dir}/generated_RX_globals.h"
|
||||||
output_c_file = f"{output_dir}/generated_receive.c"
|
output_c_file = f"{output_dir}/generated_RX_receive.c"
|
||||||
output_input_file = f"{output_dir}/generated_input.c"
|
output_input_file = f"{output_dir}/generated_RX_input.c"
|
||||||
output_initialization_file = f"{output_dir}/generated_init.c"
|
output_initialization_file = f"{output_dir}/generated_RX_init.c"
|
||||||
|
|
||||||
signals = load_dbc_file(dbc_file_path)
|
signals = load_dbc_file(dbc_file_path)
|
||||||
|
|
||||||
|
|||||||
@ -171,13 +171,13 @@ if __name__ == "__main__":
|
|||||||
dbc_file_path = sys.argv[1]
|
dbc_file_path = sys.argv[1]
|
||||||
output_dir = sys.argv[2]
|
output_dir = sys.argv[2]
|
||||||
|
|
||||||
output_structs_file = f"{output_dir}/generated_tx_structs.h"
|
output_structs_file = f"{output_dir}/generated_TX_structs.h"
|
||||||
output_globals_file = f"{output_dir}/generated_tx_globals.c"
|
output_globals_file = f"{output_dir}/generated_TX_globals.c"
|
||||||
output_globals_header = f"{output_dir}/generated_tx_globals.h"
|
output_globals_header = f"{output_dir}/generated_TX_globals.h"
|
||||||
output_tx_functions_file = f"{output_dir}/generated_tx_functions.c"
|
output_tx_functions_file = f"{output_dir}/generated_TX_output.c"
|
||||||
output_tx_initialization = f"{output_dir}/generated_tx_initialization.c"
|
output_tx_initialization = f"{output_dir}/generated_TX_init.c"
|
||||||
output_enum_file = f"{output_dir}/generated_tx_enum.h"
|
output_enum_file = f"{output_dir}/generated_TX_enum.h"
|
||||||
output_c_file = f"{output_dir}/Transmit_All_VCU_Messages.c" # Replace with your desired output file name
|
output_c_file = f"{output_dir}/generated_TX_transmit.c" # Replace with your desired output file name
|
||||||
cycle_time = "10ms"
|
cycle_time = "10ms"
|
||||||
|
|
||||||
signals = load_dbc_file(dbc_file_path)
|
signals = load_dbc_file(dbc_file_path)
|
||||||
|
|||||||
145
README.md
@ -1 +1,144 @@
|
|||||||
# DBC_Converter
|
## 📍 Program Name
|
||||||
|
**DBC Converter**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 📑Table of Contents
|
||||||
|
- [📂 Introduction](#introduction)
|
||||||
|
- [🎭 Features](#features)
|
||||||
|
- [💻 Code Structure](#code-structure)
|
||||||
|
- [🎢 Development](#development)
|
||||||
|
* [Prerequisites](#prerequisites)
|
||||||
|
- [⚙ How to use](#How-to-use)
|
||||||
|
|
||||||
|
## 📂Introduction
|
||||||
|
`DBC Converter`는 DBC (Database CAN) 파일을 C 코드로 변환하는 도구입니다. 이 도구는 차량 네트워크에서 사용되는 CAN (Controller Area Network) 메시지와 신호를 정의하는 DBC 파일을 파싱하여, 이를 C 코드로 변환하여 임베디드 시스템에서 사용할 수 있도록 합니다.
|
||||||
|
|
||||||
|
## 🎭Features
|
||||||
|
- **DBC 파일 파싱**
|
||||||
|
|
||||||
|
DBC 파일을 읽고 파싱하여 CAN 메시지와 신호 정보를 추출합니다.
|
||||||
|
|
||||||
|
- **C 코드 생성**
|
||||||
|
|
||||||
|
파싱된 정보를 기반으로 CAN 메시지와 신호를 처리하는 C 코드를 생성합니다.
|
||||||
|
|
||||||
|
- **GUI 지원**
|
||||||
|
|
||||||
|
사용자가 쉽게 파일을 추가, 삭제 및 경로를 설정할 수 있는 그래픽 사용자 인터페이스(GUI)를 제공합니다.
|
||||||
|
|
||||||
|
- **채널 선택 및 설정**
|
||||||
|
|
||||||
|
다양한 CAN 채널을 선택하고 설정할 수 있는 기능을 제공합니다.
|
||||||
|
|
||||||
|
- **변환 상태 표시**
|
||||||
|
|
||||||
|
파일 변환 상태 및 진행률을 실시간으로 표시합니다.
|
||||||
|
|
||||||
|
- **파일 관리**
|
||||||
|
|
||||||
|
파일 변환 시 변환 시작 날짜와 시간별로 폴더가 생성되며, DBC 파일과 C 파일이 자동으로 생성되어 히스토리 관리가 용이합니다.
|
||||||
|
|
||||||
|
## 💻Code Structure
|
||||||
|
|
||||||
|
```bash
|
||||||
|
README.md
|
||||||
|
DBC_Converter
|
||||||
|
├── DBC_Converter.py
|
||||||
|
├── DBC_Converter_Data_Parsing.py
|
||||||
|
├── DBC_Converter_Common.py
|
||||||
|
├── DBC_Converter_TX.py
|
||||||
|
└── DBC_Converter_RX.py
|
||||||
|
icon
|
||||||
|
└── icon.png
|
||||||
|
img
|
||||||
|
├── add_file.png
|
||||||
|
├── add_folder.png
|
||||||
|
├── converter.png
|
||||||
|
├── delete_all.png
|
||||||
|
├── delete_description.png
|
||||||
|
└── delete_file.png
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🎢Development
|
||||||
|
### Prerequisites
|
||||||
|
- **Python 3.6+**: Python 설치가 필요합니다.
|
||||||
|
- **PyQt5**: GUI를 위한 PyQt5 라이브러리가 필요합니다.
|
||||||
|
- **Git**: 버전 관리를 위한 Git이 필요합니다.
|
||||||
|
|
||||||
|
## ⚙How to Use
|
||||||
|
1. **UI**
|
||||||
|
|
||||||
|
.png)
|
||||||
|
|
||||||
|
1. 파일 추가
|
||||||
|
|
||||||
|
2. 파일 삭제
|
||||||
|
|
||||||
|
3. 전체 파일 삭제
|
||||||
|
|
||||||
|
4. 메시지 창 내용 삭제
|
||||||
|
|
||||||
|
5. 변환 시작
|
||||||
|
|
||||||
|
6. 파일 리스트 창
|
||||||
|
|
||||||
|
7. 저장 경로
|
||||||
|
|
||||||
|
8. 경로 선택
|
||||||
|
|
||||||
|
9. 저장 경로 폴더 열기
|
||||||
|
|
||||||
|
10. 메시지 창
|
||||||
|
|
||||||
|
11. 채널 설정 창
|
||||||
|
|
||||||
|
2. **파일 추가**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- GUI에서 `파일 추가` 버튼을 클릭하여 변환할 DBC 파일을 추가합니다.
|
||||||
|
|
||||||
|
3. **파일 삭제**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- GUI에서 `파일 삭제` 버튼을 클릭하여 선택한 DBC 파일을 삭제합니다.
|
||||||
|
|
||||||
|
4. **저장 경로 설정**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- GUI에서 `경로 설정` 버튼을 클릭하여 변환된 C 파일을 저장할 경로를 설정합니다.
|
||||||
|
|
||||||
|
5. **채널 선택 및 설정**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- GUI에서 CAN 채널을 선택하고 설정할 수 있습니다.
|
||||||
|
|
||||||
|
6. **변환 시작**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- GUI에서 `변환 시작` 버튼을 클릭하여 DBC 파일을 C 파일로 변환합니다.
|
||||||
|
|
||||||
|
7. **변환 상태 확인**
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
- GUI에서 변환 상태 및 진행률을 실시간으로 확인할 수 있습니다.
|
||||||
|
|
||||||
|
8. **변환 결과**
|
||||||
|
|
||||||
|
- 경로
|
||||||
|
|
||||||
|
저장 경로/DBC 변환/년-월-일-요일 시간:분:초
|
||||||
|
|
||||||
|
- DBC 파일
|
||||||
|
|
||||||
|
#DBC 폴더 내 DBC 파일이 복사되어 생성됩니다.
|
||||||
|
|
||||||
|
- C 파일
|
||||||
|
|
||||||
|
DBC 파일 명 폴더 내 Common, RX, TX 폴더로 구분되어 생성됩니다.
|
||||||
BIN
img/HowToUse/0.Main.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
img/HowToUse/1.Main(no).png
Normal file
|
After Width: | Height: | Size: 389 KiB |
BIN
img/HowToUse/2.AddFiile.png
Normal file
|
After Width: | Height: | Size: 536 KiB |
BIN
img/HowToUse/3.DeleteFile.png
Normal file
|
After Width: | Height: | Size: 441 KiB |
BIN
img/HowToUse/4.RepositorySelection.png
Normal file
|
After Width: | Height: | Size: 536 KiB |
BIN
img/HowToUse/5.ChannelSelection.png
Normal file
|
After Width: | Height: | Size: 590 KiB |
BIN
img/HowToUse/6.Convert.png
Normal file
|
After Width: | Height: | Size: 620 KiB |
BIN
img/HowToUse/7.Complete.png
Normal file
|
After Width: | Height: | Size: 618 KiB |
BIN
img/HowToUse/main.pptx
Normal file
@ -2,6 +2,6 @@
|
|||||||
"theme": "light",
|
"theme": "light",
|
||||||
"default_save_path": "C:/Users/MSI/Desktop",
|
"default_save_path": "C:/Users/MSI/Desktop",
|
||||||
"file_paths": [],
|
"file_paths": [],
|
||||||
"last_opened_dir": "C:/Users/MSI/SynologyDrive/3min_be/한자연/!과제/초안전/#Debug/DBC",
|
"last_opened_dir": "C:/Users/MSI/Desktop/python/motorola_tx",
|
||||||
"channel_info": {}
|
"channel_info": {}
|
||||||
}
|
}
|
||||||