mirror of
https://github.com/3minbe/DBC_Converter.git
synced 2026-05-17 01:23:58 +09:00
메뉴에 기본 창 크기 옵션 추가 및 RX 함수 이름 변경
This commit is contained in:
parent
f372bf5bca
commit
c48bc02733
@ -160,10 +160,10 @@ class MainView(QtWidgets.QMainWindow):
|
|||||||
|
|
||||||
# 보기 메뉴 항목 추가
|
# 보기 메뉴 항목 추가
|
||||||
size_menu = view_menu.addMenu("창크기")
|
size_menu = view_menu.addMenu("창크기")
|
||||||
|
size_menu.addAction("기본", lambda: self.setWindowSize("default")).setShortcut('Ctrl+0')
|
||||||
size_menu.addAction("작게", lambda: self.setWindowSize("small")).setShortcut('Ctrl+1')
|
size_menu.addAction("작게", lambda: self.setWindowSize("small")).setShortcut('Ctrl+1')
|
||||||
size_menu.addAction("보통", lambda: self.setWindowSize("medium")).setShortcut('Ctrl+2')
|
size_menu.addAction("보통", lambda: self.setWindowSize("medium")).setShortcut('Ctrl+2')
|
||||||
size_menu.addAction("크게", lambda: self.setWindowSize("large")).setShortcut('Ctrl+3')
|
size_menu.addAction("크게", lambda: self.setWindowSize("large")).setShortcut('Ctrl+3')
|
||||||
size_menu.addAction("기본", lambda: self.setWindowSize("default")).setShortcut('Ctrl+0')
|
|
||||||
size_menu.addAction("자동", lambda: self.setWindowSize("auto")).setShortcut('Ctrl+4')
|
size_menu.addAction("자동", lambda: self.setWindowSize("auto")).setShortcut('Ctrl+4')
|
||||||
|
|
||||||
sort_menu = view_menu.addMenu("정렬")
|
sort_menu = view_menu.addMenu("정렬")
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
import sys
|
import sys
|
||||||
from DBC_Converter_Data_Parsing import load_dbc_file
|
from DBC_Converter_Data_Parsing import load_dbc_file
|
||||||
|
|
||||||
|
|
||||||
#============================== Generate Globals ==============================#
|
#============================== Generate Globals ==============================#
|
||||||
def generate_globals(signals, C_file, header_file):
|
def generate_globals(signals, C_file, header_file):
|
||||||
if not signals:
|
if not signals:
|
||||||
@ -31,7 +30,6 @@ def generate_globals(signals, C_file, header_file):
|
|||||||
f.write("\n#endif // GENERATED_GLOBALS_H\n")
|
f.write("\n#endif // GENERATED_GLOBALS_H\n")
|
||||||
print(f"[INFO] Globals and extern declarations written to {C_file} and {header_file}")
|
print(f"[INFO] Globals and extern declarations written to {C_file} and {header_file}")
|
||||||
|
|
||||||
|
|
||||||
#============================== Generate VCU RX Function ==============================#
|
#============================== Generate VCU RX Function ==============================#
|
||||||
def generate_vcu_rx_function_with_factors(signals, output_file):
|
def generate_vcu_rx_function_with_factors(signals, output_file):
|
||||||
if not signals:
|
if not signals:
|
||||||
@ -74,7 +72,7 @@ def generate_vcu_rx_function_with_factors(signals, output_file):
|
|||||||
continue # Skip this message if no signal has RX ECU name as VCU
|
continue # Skip this message if no signal has RX ECU name as VCU
|
||||||
|
|
||||||
c_file_content += f"""
|
c_file_content += f"""
|
||||||
void {message_name}_RX_{message_info['ID']}(void)
|
void Receive_{message_name}_{message_info['ID']}(void)
|
||||||
{{
|
{{
|
||||||
struct {{
|
struct {{
|
||||||
"""
|
"""
|
||||||
@ -100,16 +98,16 @@ void {message_name}_RX_{message_info['ID']}(void)
|
|||||||
start_bit = signal["msb"] % 8
|
start_bit = signal["msb"] % 8
|
||||||
signal_length = signal["Length"]
|
signal_length = signal["Length"]
|
||||||
if signal["Byte order"] == 0: # Motorola (Big Endian)
|
if signal["Byte order"] == 0: # Motorola (Big Endian)
|
||||||
shift_expr = f"(CAN_ch[0].rx.buf[{start_byte}] >> shift{start_bit})"
|
shift_expr = f"(CAN_ch[0].rx.buf[{start_byte}] << shift{7 - start_bit})"
|
||||||
if signal_length > 8:
|
if signal_length > 8:
|
||||||
# Handle multi-byte signals
|
# Handle multi-byte signals
|
||||||
multi_byte_expr = []
|
multi_byte_expr = []
|
||||||
for i in range((signal_length + 7) // 8):
|
for i in range((signal_length + 7) // 8):
|
||||||
byte_shift = i * 8
|
byte_shift = (7 - start_bit) + (i * 8)
|
||||||
if i == 0:
|
if i == 0:
|
||||||
multi_byte_expr.append(f"(CAN_ch[0].rx.buf[{start_byte + i}] >> shift{start_bit})")
|
multi_byte_expr.append(f"(CAN_ch[0].rx.buf[{start_byte + i}] << shift{7 - start_bit})")
|
||||||
else:
|
else:
|
||||||
multi_byte_expr.append(f"(CAN_ch[0].rx.buf[{start_byte + i}] << shift{byte_shift})")
|
multi_byte_expr.append(f"(CAN_ch[0].rx.buf[{start_byte + i}] >> shift{byte_shift})")
|
||||||
shift_expr = " | ".join(multi_byte_expr)
|
shift_expr = " | ".join(multi_byte_expr)
|
||||||
else: # Intel (Little Endian)
|
else: # Intel (Little Endian)
|
||||||
shift_expr = f"(CAN_ch[0].rx.buf[{start_byte}] >> shift{start_bit})"
|
shift_expr = f"(CAN_ch[0].rx.buf[{start_byte}] >> shift{start_bit})"
|
||||||
@ -136,10 +134,7 @@ void {message_name}_RX_{message_info['ID']}(void)
|
|||||||
factor = f" * {factor_name}" if signal['Factor'] != 1 else ""
|
factor = f" * {factor_name}" if signal['Factor'] != 1 else ""
|
||||||
offset = f" + {offset_name}" if signal['Offset'] != 0 else ""
|
offset = f" + {offset_name}" if signal['Offset'] != 0 else ""
|
||||||
temp_var = f"{temp_struct_name}.{signal['Signal name']}_temp"
|
temp_var = f"{temp_struct_name}.{signal['Signal name']}_temp"
|
||||||
if signal["Byte order"] == 1:
|
c_file_content += f" VCU.RX.{message_name}_{message_info['ID']}.{signal['Signal name']} = ({temp_var}{factor}){offset};\n"
|
||||||
c_file_content += f" VCU.RX.{message_name}_{message_info['ID']}.{signal['Signal name']} = ({temp_var}{factor}){offset};\n"
|
|
||||||
else:
|
|
||||||
c_file_content += f" VCU.RX.{message_name}_{message_info['ID']}.{signal['Signal name']} = {temp_var}{factor}{offset};\n"
|
|
||||||
|
|
||||||
c_file_content += "}\n"
|
c_file_content += "}\n"
|
||||||
|
|
||||||
@ -148,7 +143,6 @@ void {message_name}_RX_{message_info['ID']}(void)
|
|||||||
c_file.write(c_file_content)
|
c_file.write(c_file_content)
|
||||||
print(f"Generated RX function C file with Factors and Offsets: {output_file}")
|
print(f"Generated RX function C file with Factors and Offsets: {output_file}")
|
||||||
|
|
||||||
|
|
||||||
#============================== Generate Input Function ==============================#
|
#============================== Generate Input Function ==============================#
|
||||||
def generate_input_functions(signals, output_file):
|
def generate_input_functions(signals, output_file):
|
||||||
if not signals:
|
if not signals:
|
||||||
@ -165,7 +159,6 @@ def generate_input_functions(signals, output_file):
|
|||||||
f.write("}\n\n")
|
f.write("}\n\n")
|
||||||
print(f"[INFO] Input functions written to {output_file}")
|
print(f"[INFO] Input functions written to {output_file}")
|
||||||
|
|
||||||
|
|
||||||
#============================== Generate Initialization ==============================#
|
#============================== Generate Initialization ==============================#
|
||||||
def generate_initialization(signals, output_file):
|
def generate_initialization(signals, output_file):
|
||||||
if not signals:
|
if not signals:
|
||||||
@ -192,7 +185,6 @@ def generate_initialization(signals, output_file):
|
|||||||
f.write("}\n")
|
f.write("}\n")
|
||||||
print(f"[INFO] Initialization function written to {output_file}")
|
print(f"[INFO] Initialization function written to {output_file}")
|
||||||
|
|
||||||
|
|
||||||
#============================== Main ==============================#
|
#============================== Main ==============================#
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
dbc_file_path = sys.argv[1]
|
dbc_file_path = sys.argv[1]
|
||||||
|
|||||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user