From 757aa47cd2da8aaa7e23da553d090e3b936a752a Mon Sep 17 00:00:00 2001 From: "Dr.-Ing. Amilcar do Carmo Lucas" Date: Fri, 16 Aug 2024 10:06:00 +0200 Subject: [PATCH] IMPROVEMENT: prepare code simplification --- .../frontend_tkinter_component_editor.py | 97 ++++++++++--------- 1 file changed, 52 insertions(+), 45 deletions(-) diff --git a/MethodicConfigurator/frontend_tkinter_component_editor.py b/MethodicConfigurator/frontend_tkinter_component_editor.py index 5dd2207..51bbba4 100644 --- a/MethodicConfigurator/frontend_tkinter_component_editor.py +++ b/MethodicConfigurator/frontend_tkinter_component_editor.py @@ -60,52 +60,59 @@ class VoltageTooHighError(Exception): """Raised when the voltage is above the maximum limit.""" +analog_ports = ["Analog"] +serial_ports = ["SERIAL1", "SERIAL2", "SERIAL3", "SERIAL4", "SERIAL5", "SERIAL6", "SERIAL7", "SERIAL8"] +can_ports = ["CAN1", "CAN2"] +i2c_ports = ["I2C1", "I2C2", "I2C3", "I2C4"] +pwm_ports = ["Main Out", "AIO"] +rc_ports = ["RCin/SBUS"] + serial_protocols_dict = { - '-1': {'protocol': 'None', 'component': None}, - '1': {'protocol': 'MAVLink1', 'component': 'Telemetry'}, - '2': {'protocol': 'MAVLink2', 'component': 'Telemetry'}, - '3': {'protocol': 'Frsky D', 'component': None}, - '4': {'protocol': 'Frsky SPort', 'component': None}, - '5': {'protocol': 'GPS', 'component': 'GNSS Receiver'}, - '7': {'protocol': 'Alexmos Gimbal Serial', 'component': None}, - '8': {'protocol': 'Gimbal', 'component': None}, - '9': {'protocol': 'Rangefinder', 'component': None}, - '10': {'protocol': 'FrSky SPort Passthrough (OpenTX)', 'component': None}, - '11': {'protocol': 'Lidar360', 'component': None}, - '13': {'protocol': 'Beacon', 'component': None}, - '14': {'protocol': 'Volz servo out', 'component': None}, - '15': {'protocol': 'SBus servo out', 'component': None}, - '16': {'protocol': 'ESC Telemetry', 'component': None}, - '17': {'protocol': 'Devo Telemetry', 'component': None}, - '18': {'protocol': 'OpticalFlow', 'component': None}, - '19': {'protocol': 'RobotisServo', 'component': None}, - '20': {'protocol': 'NMEA Output', 'component': None}, - '21': {'protocol': 'WindVane', 'component': None}, - '22': {'protocol': 'SLCAN', 'component': None}, - '23': {'protocol': 'RCIN', 'component': 'RC Receiver'}, - '24': {'protocol': 'EFI Serial', 'component': None}, - '25': {'protocol': 'LTM', 'component': None}, - '26': {'protocol': 'RunCam', 'component': None}, - '27': {'protocol': 'HottTelem', 'component': None}, - '28': {'protocol': 'Scripting', 'component': None}, - '29': {'protocol': 'Crossfire VTX', 'component': None}, - '30': {'protocol': 'Generator', 'component': None}, - '31': {'protocol': 'Winch', 'component': None}, - '32': {'protocol': 'MSP', 'component': None}, - '33': {'protocol': 'DJI FPV', 'component': None}, - '34': {'protocol': 'AirSpeed', 'component': None}, - '35': {'protocol': 'ADSB', 'component': None}, - '36': {'protocol': 'AHRS', 'component': None}, - '37': {'protocol': 'SmartAudio', 'component': None}, - '38': {'protocol': 'FETtecOneWire', 'component': 'ESC'}, - '39': {'protocol': 'Torqeedo', 'component': 'ESC'}, - '40': {'protocol': 'AIS', 'component': None}, - '41': {'protocol': 'CoDevESC', 'component': 'ESC'}, - '42': {'protocol': 'DisplayPort', 'component': None}, - '43': {'protocol': 'MAVLink High Latency', 'component': 'Telemetry'}, - '44': {'protocol': 'IRC Tramp', 'component': None}, - '45': {'protocol': 'DDS XRCE', 'component': None}, - '46': {'protocol': 'IMUDATA', 'component': None}, + '-1': {'type': serial_ports, 'protocol': 'None', 'component': None}, + '1': {'type': serial_ports, 'protocol': 'MAVLink1', 'component': 'Telemetry'}, + '2': {'type': serial_ports, 'protocol': 'MAVLink2', 'component': 'Telemetry'}, + '3': {'type': serial_ports, 'protocol': 'Frsky D', 'component': None}, + '4': {'type': serial_ports, 'protocol': 'Frsky SPort', 'component': None}, + '5': {'type': serial_ports, 'protocol': 'GPS', 'component': 'GNSS Receiver'}, + '7': {'type': serial_ports, 'protocol': 'Alexmos Gimbal Serial', 'component': None}, + '8': {'type': serial_ports, 'protocol': 'Gimbal', 'component': None}, + '9': {'type': serial_ports, 'protocol': 'Rangefinder', 'component': None}, + '10': {'type': serial_ports, 'protocol': 'FrSky SPort Passthrough (OpenTX)', 'component': None}, + '11': {'type': serial_ports, 'protocol': 'Lidar360', 'component': None}, + '13': {'type': serial_ports, 'protocol': 'Beacon', 'component': None}, + '14': {'type': serial_ports, 'protocol': 'Volz servo out', 'component': None}, + '15': {'type': serial_ports, 'protocol': 'SBus servo out', 'component': None}, + '16': {'type': serial_ports, 'protocol': 'ESC Telemetry', 'component': None}, + '17': {'type': serial_ports, 'protocol': 'Devo Telemetry', 'component': None}, + '18': {'type': serial_ports, 'protocol': 'OpticalFlow', 'component': None}, + '19': {'type': serial_ports, 'protocol': 'RobotisServo', 'component': None}, + '20': {'type': serial_ports, 'protocol': 'NMEA Output', 'component': None}, + '21': {'type': serial_ports, 'protocol': 'WindVane', 'component': None}, + '22': {'type': serial_ports, 'protocol': 'SLCAN', 'component': None}, + '23': {'type': serial_ports, 'protocol': 'RCIN', 'component': 'RC Receiver'}, + '24': {'type': serial_ports, 'protocol': 'EFI Serial', 'component': None}, + '25': {'type': serial_ports, 'protocol': 'LTM', 'component': None}, + '26': {'type': serial_ports, 'protocol': 'RunCam', 'component': None}, + '27': {'type': serial_ports, 'protocol': 'HottTelem', 'component': None}, + '28': {'type': serial_ports, 'protocol': 'Scripting', 'component': None}, + '29': {'type': serial_ports, 'protocol': 'Crossfire VTX', 'component': None}, + '30': {'type': serial_ports, 'protocol': 'Generator', 'component': None}, + '31': {'type': serial_ports, 'protocol': 'Winch', 'component': None}, + '32': {'type': serial_ports, 'protocol': 'MSP', 'component': None}, + '33': {'type': serial_ports, 'protocol': 'DJI FPV', 'component': None}, + '34': {'type': serial_ports, 'protocol': 'AirSpeed', 'component': None}, + '35': {'type': serial_ports, 'protocol': 'ADSB', 'component': None}, + '36': {'type': serial_ports, 'protocol': 'AHRS', 'component': None}, + '37': {'type': serial_ports, 'protocol': 'SmartAudio', 'component': None}, + '38': {'type': serial_ports, 'protocol': 'FETtecOneWire', 'component': 'ESC'}, + '39': {'type': serial_ports, 'protocol': 'Torqeedo', 'component': 'ESC'}, + '40': {'type': serial_ports, 'protocol': 'AIS', 'component': None}, + '41': {'type': serial_ports, 'protocol': 'CoDevESC', 'component': 'ESC'}, + '42': {'type': serial_ports, 'protocol': 'DisplayPort', 'component': None}, + '43': {'type': serial_ports, 'protocol': 'MAVLink High Latency', 'component': 'Telemetry'}, + '44': {'type': serial_ports, 'protocol': 'IRC Tramp', 'component': None}, + '45': {'type': serial_ports, 'protocol': 'DDS XRCE', 'component': None}, + '46': {'type': serial_ports, 'protocol': 'IMUDATA', 'component': None}, }