def readconfig(self, filename): # Read config from file print(' Open config: ', filename) if os.path.isfile(filename): # check if config file exists and load config print ('File found') f = open(filename, 'r') #print(json.load(f)) llconfig = json.load(f) print('llconfig: ', llconfig) localserialconfig = llconfig f.close() print('Loaded : ', localserialconfig) else: localserialconfig = {"baudrate":cbaudrates[0], "comport": listports.serial_ports()[0]} print('Not found, defaults set ', localserialconfig) # localserialconfig = llocalserialconfig return localserialconfig
def Readconfig(): global localserialconfig print(' Open config: ', filename , ' ' , localserialconfig) if os.path.isfile(filename): # check if config file exists and load config print ('File found') f = open(filename, 'r') #print(json.load(f)) llconfig = json.load(f) # print('llconfig: ', llconfig) localserialconfig = llconfig f.close() print('Loaded : ', localserialconfig) else: localserialconfig = {"baudrate":cbaudrates[0], "comport": listports.serial_ports()[0]} print('Not found, defaults set ', localserialconfig) # localserialconfig = llocalserialconfig return localserialconfig
def __init__(self, master=None): global serialconfig _bgcolor = 'wheat' # X11 color: #f5deb3 _fgcolor = '#000000' # X11 color: 'black' _compcolor = '#d9d9d9' # X11 color: 'gray85' _ana1color = '#d9d9d9' # X11 color: 'gray85' _ana2color = '#d9d9d9' # X11 color: 'gray85' self.style = ttk.Style() if sys.platform == "win32": self.style.theme_use('winnative') self.style.configure('.', background=_bgcolor) self.style.configure('.', foreground=_fgcolor) self.style.configure('.', font="TkDefaultFont") self.style.map('.', background=[('selected', _compcolor), ('active', _ana2color)]) master.configure(background="#d0d0d0") master.configure(highlightbackground="#d9d9d9") master.configure(highlightcolor="black") self.btn_Save = Button(master) self.btn_Save.place(relx=0.34, rely=0.74, height=24, width=87) self.btn_Save.configure(activebackground="#c0c0c0") self.btn_Save.configure(activeforeground="#000000") self.btn_Save.configure(background="#d0d0d0") # self.btn_Save.configure(command=comportconfig_support.Close) self.btn_Save.configure(command=comportconfig_support.close) self.btn_Save.configure(disabledforeground="#a3a3a3") self.btn_Save.configure(foreground="#000000") self.btn_Save.configure(highlightbackground="#d0d0d0") self.btn_Save.configure(highlightcolor="black") self.btn_Save.configure(pady="0") self.btn_Save.configure(text='''Save&Close''') self.btn_Cancel = Button(master) self.btn_Cancel.place(relx=0.68, rely=0.74, height=24, width=87) self.btn_Cancel.configure(activebackground="#d0d0d0") self.btn_Cancel.configure(activeforeground="#000000") self.btn_Cancel.configure(background="#d0d0d0") self.btn_Cancel.configure(command=comportconfig_support.cancel) self.btn_Cancel.configure(disabledforeground="#a3a3a3") self.btn_Cancel.configure(foreground="#000000") self.btn_Cancel.configure(highlightbackground="#d0d0d0") self.btn_Cancel.configure(highlightcolor="black") self.btn_Cancel.configure(pady="0") self.btn_Cancel.configure(text='''Cancel''') self.Labelframe1 = LabelFrame(master) self.Labelframe1.place(relx=0.1, rely=0.06, relheight=0.58, relwidth=0.86) self.Labelframe1.configure(relief=GROOVE) self.Labelframe1.configure(foreground="black") self.Labelframe1.configure(text='''Comport settings''') self.Labelframe1.configure(background="#d0d0d0") self.Labelframe1.configure(highlightbackground="#d9d9d9") self.Labelframe1.configure(highlightcolor="black") self.Labelframe1.configure(width=255) self.Label1 = Label(self.Labelframe1) self.Label1.place(relx=0.04, rely=0.21, height=21, width=54) self.Label1.configure(activebackground="#f9f9f9") self.Label1.configure(activeforeground="black") self.Label1.configure(background="#d0d0d0") self.Label1.configure(disabledforeground="#a3a3a3") self.Label1.configure(foreground="#000000") self.Label1.configure(highlightbackground="#d9d9d9") self.Label1.configure(highlightcolor="black") self.Label1.configure(text='''Comport''') self.Label2 = Label(self.Labelframe1) self.Label2.place(relx=0.04, rely=0.53, height=21, width=53) self.Label2.configure(activebackground="#f9f9f9") self.Label2.configure(activeforeground="black") self.Label2.configure(background="#d0d0d0") self.Label2.configure(disabledforeground="#a3a3a3") self.Label2.configure(foreground="#000000") self.Label2.configure(highlightbackground="#d9d9d9") self.Label2.configure(highlightcolor="black") self.Label2.configure(text='''Baudrate''') comportconfig_support.Readconfig() baudrateindex = self.find_index( comportconfig_support.serialconfig['baudrate'], comportconfig_support.cbaudrates) # check if baudrate in list if baudrateindex < 0: baudrateindex = 0 # serial_portlist = serial.tools.list_ports.comports() # serial_ports = comportindex = self.find_index( comportconfig_support.serialconfig['comport'], listports.serial_ports()) # check if baudrate in list if comportindex < 0: print(' Port not found: ', serialconfig['comport']) comportindex = 0 print('Config: ', comportconfig_support.serialconfig) self.tc_baudrate = StringVar() self.tc_baudrate = ttk.Combobox(self.Labelframe1, textvariable=self.tc_baudrate) self.tc_baudrate.place(relx=0.35, rely=0.21, relheight=0.35, relwidth=0.56) self.tc_baudrate['values'] = comportconfig_support.cbaudrates self.tc_baudrate.current(baudrateindex) self.tc_baudrate.configure(takefocus="") self.tc_baudrate.bind('<<ComboboxSelected>>', self.set_baudrate) self.tc_comports = StringVar() self.tc_comport = ttk.Combobox(self.Labelframe1, textvariable=self.tc_comports) self.tc_comport.place(relx=0.35, rely=0.53, relheight=0.35, relwidth=0.56) self.tc_comport['values'] = listports.serial_ports() self.tc_comport.current(comportindex) self.tc_comport.bind('<<ComboboxSelected>>', self.set_comport) self.tc_comport.configure(takefocus="") print('baudrate: ', self.tc_baudrate['values']) print('ports: ', listports.serial_ports())
def __init__(self, master=None): _bgcolor = 'wheat' # X11 color: #f5deb3 _fgcolor = '#000000' # X11 color: 'black' _compcolor = '#d9d9d9' # X11 color: 'gray85' _ana1color = '#d9d9d9' # X11 color: 'gray85' _ana2color = '#d9d9d9' # X11 color: 'gray85' self.style = ttk.Style() if sys.platform == "win32": self.style.theme_use('winnative') self.style.configure('.',background=_bgcolor) self.style.configure('.',foreground=_fgcolor) self.style.configure('.',font="TkDefaultFont") self.style.map('.',background= [('selected', _compcolor), ('active',_ana2color)]) master.configure(background="#d0d0d0") master.configure(highlightbackground="#d9d9d9") master.configure(highlightcolor="black") self.btn_Save = Button(master) self.btn_Save.place(relx=0.34, rely=0.74, height=24, width=87) self.btn_Save.configure(activebackground="#c0c0c0") self.btn_Save.configure(activeforeground="#000000") self.btn_Save.configure(background="#d0d0d0") # self.btn_Save.configure(command=comportconfig_support.Close) self.btn_Save.configure(command=comportconfig_support.Close) self.btn_Save.configure(disabledforeground="#a3a3a3") self.btn_Save.configure(foreground="#000000") self.btn_Save.configure(highlightbackground="#d0d0d0") self.btn_Save.configure(highlightcolor="black") self.btn_Save.configure(pady="0") self.btn_Save.configure(text='''Save&Close''') self.btn_Cancel = Button(master) self.btn_Cancel.place(relx=0.68, rely=0.74, height=24, width=87) self.btn_Cancel.configure(activebackground="#d0d0d0") self.btn_Cancel.configure(activeforeground="#000000") self.btn_Cancel.configure(background="#d0d0d0") self.btn_Cancel.configure(command=comportconfig_support.cancel) self.btn_Cancel.configure(disabledforeground="#a3a3a3") self.btn_Cancel.configure(foreground="#000000") self.btn_Cancel.configure(highlightbackground="#d0d0d0") self.btn_Cancel.configure(highlightcolor="black") self.btn_Cancel.configure(pady="0") self.btn_Cancel.configure(text='''Cancel''') self.Labelframe1 = LabelFrame(master) self.Labelframe1.place(relx=0.1, rely=0.06, relheight=0.58 , relwidth=0.86) self.Labelframe1.configure(relief=GROOVE) self.Labelframe1.configure(foreground="black") self.Labelframe1.configure(text='''Comport settings''') self.Labelframe1.configure(background="#d0d0d0") self.Labelframe1.configure(highlightbackground="#d9d9d9") self.Labelframe1.configure(highlightcolor="black") self.Labelframe1.configure(width=255) self.Label1 = Label(self.Labelframe1) self.Label1.place(relx=0.04, rely=0.21, height=21, width=54) self.Label1.configure(activebackground="#f9f9f9") self.Label1.configure(activeforeground="black") self.Label1.configure(background="#d0d0d0") self.Label1.configure(disabledforeground="#a3a3a3") self.Label1.configure(foreground="#000000") self.Label1.configure(highlightbackground="#d9d9d9") self.Label1.configure(highlightcolor="black") self.Label1.configure(text='''Comport''') self.Label2 = Label(self.Labelframe1) self.Label2.place(relx=0.04, rely=0.53, height=21, width=53) self.Label2.configure(activebackground="#f9f9f9") self.Label2.configure(activeforeground="black") self.Label2.configure(background="#d0d0d0") self.Label2.configure(disabledforeground="#a3a3a3") self.Label2.configure(foreground="#000000") self.Label2.configure(highlightbackground="#d9d9d9") self.Label2.configure(highlightcolor="black") self.Label2.configure(text='''Baudrate''') comportconfig_support.Readconfig() baudrateindex = self.find_index(comportconfig_support.localserialconfig['baudrate'], comportconfig_support.cbaudrates) # check if baudrate in list if baudrateindex < 0: baudrateindex = 0 comportindex = self.find_index(comportconfig_support.localserialconfig['comport'], listports.serial_ports()) # check if baudrate in list # comportindex = self.find_index(comportconfig_support.localserialconfig['comport'], # serial.tools.list_ports.comports() ) # check if baudrate in list if comportindex < 0: comportindex = 0 print('Config: ', comportconfig_support.localserialconfig) self.tc_baudrate= StringVar() self.tc_baudrate = ttk.Combobox(self.Labelframe1, textvariable=self.tc_baudrate) self.tc_baudrate.place(relx=0.35, rely=0.21, relheight=0.35 , relwidth=0.56) self.tc_baudrate['values'] = comportconfig_support.cbaudrates self.tc_baudrate.current(baudrateindex) self.tc_baudrate.configure(takefocus="") self.tc_baudrate.bind('<<ComboboxSelected>>',self.set_baudrate) self.tc_comports= StringVar() self.tc_comport = ttk.Combobox(self.Labelframe1, textvariable=self.tc_comports) self.tc_comport.place(relx=0.35, rely=0.53, relheight=0.35 , relwidth=0.56) self.tc_comport['values']= listports.serial_ports() self.tc_comport.current(comportindex) self.tc_comport.bind('<<ComboboxSelected>>',self.set_comport) self.tc_comport.configure(takefocus="") print ('baudrate: ', self.tc_baudrate['values']) print ('ports: ', listports.serial_ports())
import listports import serial import time devices_available = listports.serial_ports() count = len(devices_available) ser = serial.Serial() device_list = [] device_id = [] def device_info(): if count != 0: for i in range(0,count): ser.port = str(devices_available[i]) ser.baudrate = 115200 ser.open() time.sleep(2) device_name = str(ser.read_all()) ser.close() device_list.append([device_name,devices_available[i]]) total_devices = len(device_list) for i in range(0,total_devices): if device_list[i][0][10:14] == 'Grbl': device_id.append(('Grbl 0.9j',device_list[i][1])) elif device_list[i][0][2:6] == 'Pneu': device_id.append(('Pneumatic Controller',device_list[i][1])) elif device_list[i][0][2:6] == 'Pump': device_id.append(('DC Pump Controller',device_list[i][1])) else: device_id.append(('Unkown Device',device_list[i][1]))