Ejemplo n.º 1
0
    def __init__(self, parent):
        self.parent = parent
        self.parent.protocol("WM_DELETE_WINDOW", self.close_window)
        self.parent.title("PK2CMD Pickit2 UI")
        self.parent.geometry('600x250')
        self.parent.resizable(False, False)
        self.pk2cmd = PK2CMD(config_file_path)

        buttons = tk.Frame(parent)
        self.find_pic_btn = tk.Button(buttons,
                                      text="Find PIC",
                                      command=self.find_pic,
                                      state=tk.DISABLED)
        self.find_file_btn = tk.Button(buttons,
                                       text="Select HEX File",
                                       command=self.find_file,
                                       state=tk.DISABLED)
        self.upload_btn = tk.Button(buttons,
                                    text="Upload",
                                    command=self.upload,
                                    state=tk.DISABLED)
        self.find_pic_btn.pack(side=tk.TOP)
        self.find_file_btn.pack(side=tk.TOP)
        self.upload_btn.pack(side=tk.TOP)

        labels = tk.Frame(parent)
        pic_label = tk.Label(labels, text="Device id: ")
        hex_file_label = tk.Label(labels, text="HEX File: ")
        pic_label.pack(side=tk.TOP)
        hex_file_label.pack(side=tk.TOP)

        self.hex_file_path = ""

        info = tk.Frame(parent)
        self.device_id = tk.Label(info, text="-")
        self.hex_file = tk.Label(info, text="-")
        self.device_id.pack(side=tk.TOP)
        self.hex_file.pack(side=tk.TOP)

        status_frame = tk.Frame(parent)
        self.status = tk.Label(status_frame, text="")
        self.led = tk_tools.Led(status_frame, size=10)
        self.status.pack(side=tk.LEFT)
        self.led.pack(side=tk.RIGHT)

        buttons.pack(side=tk.TOP)
        labels.pack(side=tk.LEFT)
        info.pack(side=tk.RIGHT)
        status_frame.pack(side=tk.BOTTOM, fill=tk.X)
        self.usb_detector = USBDetector(self)
        if self.pk2cmd.is_connected:
            self.led.to_green(True)
            self.status['text'] = "Ready to detect device"
        else:
            self.led.to_red(True)
            self.status['text'] = "Connect PICKIT2"

        self.parent.mainloop()
Ejemplo n.º 2
0
    def __init__(self, parent):
        self.parent = parent
        super().__init__(self.parent, text='Test Outputs')

        self.columnconfigure(0, weight=1)
        self.rowconfigure(0, weight=1)
        self.rowconfigure(1, weight=1)

        self.led = tk_tools.Led(self)
        self.led.to_green()
        self.led.grid(row=1, column=0, sticky='s')
Ejemplo n.º 3
0
    def graph_frame(self):
        frame1 = tk.Frame(self, width=100, height=200)
        frame1.grid(row=0, column=0)

        canvas = FigureCanvasTkAgg(self.f, frame1)
        canvas.get_tk_widget().grid(row=2, column=0)

        #a numeric display of the standard deviation
        std_display = tk.Label(self, fg="dark green")
        std_display.grid(row=3, column=0, sticky='n')
        self.counter_label(std_display)

        #an indicator that shows green when the standard deviation in low enough
        led = tk_tools.Led(frame1, size=50)
        led.grid(row=3, column=0, sticky='s')
        self.change_led(led)
import tkinter as tk
import tk_tools


def on_click_callback(on):
    if on:
        print('led is on')
    else:
        print('led is off')


if __name__ == '__main__':

    root = tk.Tk()

    led0 = tk_tools.Led(root, size=50, on_click_callback=on_click_callback)
    led0.pack()

    tk.Button(root, text='red', command=led0.to_red).pack(fill=tk.X)

    tk.Button(root, text='red on',
              command=lambda: led0.to_red(True)).pack(fill=tk.X)

    tk.Button(root, text='green', command=led0.to_green).pack(fill=tk.X)

    tk.Button(root, text='green on',
              command=lambda: led0.to_green(True)).pack(fill=tk.X)

    tk.Button(root, text='yellow', command=led0.to_yellow).pack(fill=tk.X)

    tk.Button(root, text='yellow on',
Ejemplo n.º 5
0
import tkinter as tk
import tk_tools


if __name__ == '__main__':

    root = tk.Tk()

    led = tk_tools.Led(root, size=50)
    led.pack()

    tk.Button(root, text='red', command=led.to_red).pack(fill=tk.X)

    tk.Button(root,
              text='red on',
              command=lambda: led.to_red(True)).pack(fill=tk.X)

    tk.Button(root, text='green', command=led.to_green).pack(fill=tk.X)

    tk.Button(root,
              text='green on',
              command=lambda: led.to_green(True)).pack(fill=tk.X)

    tk.Button(root, text='yellow', command=led.to_yellow).pack(fill=tk.X)

    tk.Button(root,
              text='yellow on',
              command=lambda: led.to_yellow(True)).pack(fill=tk.X)

    tk.Button(root, text='grey', command=led.to_grey).pack(fill=tk.X)
Ejemplo n.º 6
0
    def create_widgets(self):
        global stop

        # Pack Voltage Gauge
        self.pvgauge = tk_tools.Gauge(self,
                                      height=200,
                                      width=400,
                                      min_value=10,
                                      max_value=20,
                                      label='Pack Voltage',
                                      unit=' V',
                                      divisions=30,
                                      yellow=66,
                                      red=70,
                                      yellow_low=43,
                                      red_low=40)
        #bg='grey')
        self.pvgauge.grid(row=0,
                          column=5,
                          rowspan=3,
                          columnspan=3,
                          sticky='news')
        # Speed Gauge
        self.spdgauge = tk_tools.Gauge(self,
                                       height=200,
                                       width=400,
                                       min_value=0,
                                       max_value=20,
                                       label='Speed',
                                       unit=' (kn)',
                                       divisions=20,
                                       yellow=50,
                                       red=70)
        #bg='grey')
        self.spdgauge.grid(row=0,
                           column=2,
                           rowspan=3,
                           columnspan=3,
                           sticky='news')

        #File Name Entry Box
        self.FiNaEn = Entry(self)
        self.FiNaEn.grid(row=1, column=0)
        #File name Label
        self.FiNaLa = Label(self, text="File name:")
        self.FiNaLa.grid(row=0, column=0, sticky='S')

        #Value Labels, Digits
        self.Mag_Compass_Label = Label(self, text="Mag Compass:"******"Target Heading:")
        self.Target_Heading_Label.grid(row=4, column=0, sticky='E')

        self.Target_Heading_Dig = tk_tools.SevenSegmentDigits(
            self,
            digits=10,
            background='black',
            digit_color='white',
            height=30)
        self.Target_Heading_Dig.grid(row=4,
                                     column=1,
                                     sticky='W',
                                     pady=4,
                                     ipady=2)

        self.GPS_Compass_Label = Label(self, text="GPS Compass:"******"Latitude:")
        self.Latitude_Label.grid(row=7, column=0, sticky='E')

        self.Latitude_Dig = tk_tools.SevenSegmentDigits(self,
                                                        digits=10,
                                                        background='black',
                                                        digit_color='white',
                                                        height=30)
        self.Latitude_Dig.grid(row=7, column=1, sticky='w', pady=4, ipady=2)

        self.Longitude_Label = Label(self, text="Longitude:")
        self.Longitude_Label.grid(row=8, column=0, sticky='E')

        self.Longitude_Dig = tk_tools.SevenSegmentDigits(self,
                                                         digits=10,
                                                         background='black',
                                                         digit_color='white',
                                                         height=30)
        self.Longitude_Dig.grid(row=8, column=1, sticky='w', pady=4, ipady=2)

        self.GPS_Speed_Label = Label(self, text="GPS Speed (kn):")
        self.GPS_Speed_Label.grid(row=9, column=0, sticky='E')

        self.GPS_Speed_Dig = tk_tools.SevenSegmentDigits(self,
                                                         digits=10,
                                                         background='black',
                                                         digit_color='white',
                                                         height=30)
        self.GPS_Speed_Dig.grid(row=9, column=1, sticky='w', pady=4, ipady=2)

        self.GPS_Distance_Label = Label(self, text="GPS Distance:")
        self.GPS_Distance_Label.grid(row=10, column=0, sticky='E')

        self.GPS_Distance_Dig = tk_tools.SevenSegmentDigits(
            self,
            digits=10,
            background='black',
            digit_color='white',
            height=30)
        self.GPS_Distance_Dig.grid(row=10,
                                   column=1,
                                   sticky='w',
                                   pady=4,
                                   ipady=2)

        #Jets Labels and Digits
        self.Port_Jet_Current_Label = Label(self, text="Port Jet Current:")
        self.Port_Jet_Current_Label.grid(row=3, column=2, sticky='NESW')

        self.Port_Jet_Current_Dig = tk_tools.SevenSegmentDigits(
            self,
            digits=10,
            background='black',
            digit_color='white',
            height=30)
        self.Port_Jet_Current_Dig.grid(row=4,
                                       column=2,
                                       sticky='NEWS',
                                       pady=4,
                                       ipady=2,
                                       padx=4,
                                       ipadx=2)

        self.Delta_Jet_Current_Label = Label(self, text="Jet Current Delta:")
        self.Delta_Jet_Current_Label.grid(row=3, column=3, sticky='NESW')

        self.Delta_Jet_Current_Dig = tk_tools.SevenSegmentDigits(
            self, digits=5, background='black', digit_color='white', height=30)
        self.Delta_Jet_Current_Dig.grid(row=4,
                                        column=3,
                                        sticky='NEWS',
                                        pady=4,
                                        ipady=2,
                                        padx=4,
                                        ipadx=2)

        self.Delta_Status_Led = tk_tools.Led(self, size=50)
        self.Delta_Status_Led.grid(row=5, column=3, sticky='NSEW', ipadx=10)

        self.Starboard_Jet_Current_Label = Label(self,
                                                 text="Starboard Jet Current:")
        self.Starboard_Jet_Current_Label.grid(row=3, column=4, sticky='NESW')

        self.Starboard_Jet_Current_Dig = tk_tools.SevenSegmentDigits(
            self,
            digits=10,
            background='black',
            digit_color='white',
            height=30)
        self.Starboard_Jet_Current_Dig.grid(row=4,
                                            column=4,
                                            sticky='NEWS',
                                            pady=4,
                                            ipady=2,
                                            padx=4,
                                            ipadx=2)

        self.Log_Status_Led = tk_tools.Led(self, size=50)
        self.Log_Status_Led.grid(row=2, column=1, sticky='NSEW', ipadx=10)
        #Rotary Scale
        self.rs = tk_tools.RotaryScale(self,
                                       max_value=360,
                                       size=100,
                                       unit='deg')
        self.rs.grid(row=0, column=8, rowspan=3)

        #Start Log Button
        self.StLog = Button(self, text="Start Log", command=self.start_log)
        self.StLog.grid(row=2, column=0, sticky='N')

        self.Stop_Log = Checkbutton(self,
                                    text="Stop Logging",
                                    command=self.stop_log)
        self.Stop_Log.grid(row=0, column=1, sticky='N')
Ejemplo n.º 7
0
lbl_device_3 = builder.get_object('lbl_device_3')
lbl_device_4 = builder.get_object('lbl_device_4')
lbl_sldbar_4_value = builder.get_object('lbl_sldbar_4_value')
canvas_1 = builder.get_object('canvas_1')
canvas_2 = builder.get_object('canvas_2')
canvas_3 = builder.get_object('canvas_3')
pgsbar_1 = builder.get_object('pgsbar_1')
pgsbar_2 = builder.get_object('pgsbar_2')
pgsbar_3 = builder.get_object('pgsbar_3')
sldbar_4 = builder.get_object('sldbar_4')

r_sld_device1 = tk_tools.RotaryScale(canvas_1,
                                     max_value=255,
                                     size=99,
                                     img_data=tk_tools.images.rotary_gauge_bar)
led_device2 = tk_tools.Led(canvas_2, size=99)
led_device3 = tk_tools.Led(canvas_3, size=99)
r_sld_device1.pack()
led_device2.pack()
led_device3.pack()

frm_board_info = builder.get_object('frm_board_info')
lbl_board_info = builder.get_object('lbl_board_info')
txtbox_port = builder.get_object('txtbox_port')
btn_port_set = builder.get_object('btn_port_set')
frm_fasele = builder.get_object('frm_fasele')
lbl_connection = builder.get_object('lbl_connection')
lbl_connection_status = builder.get_object('lbl_connection_status')


def btn_port_set_click(event):
Ejemplo n.º 8
0
import decodeData as dD

LedNum = 18
GaugesNum = 8

PORT = "/dev/ttyACM0"
ser = serial.Serial(PORT, 9600, timeout=2)

window = tk.Tk()
window.title("Arduino I/0")
window.geometry('450x450')

leds = [None] * LedNum
for ii in range(LedNum):
    leds[ii] = tk_tools.Led(window, size=25)
    leds[ii].grid(row=ii // 4 + 2, column=ii % 4)

gauges = [None] * GaugesNum
for ii in range(GaugesNum):
    gauges[ii] = tk_tools.RotaryScale(window,
                                      max_value=100.0,
                                      size=100,
                                      unit='%')
    gauges[ii].grid(row=ii // 4, column=ii % 4)

readFlag = True
cnt = 1

while 1:
Ejemplo n.º 9
0
    def _create_ui(self):
        self.g_port = None
        self.g_serial = None
        self.g_ser_rcv = ""
        self.g_ser_rcvstack = []
        self.g_ser_to = 0
        self.g_locked = False
        self.g_ser_active = False;

        self.g_valid = False

        self.g_ser_parsestring = ""

        self.g_lctable = [0,
                          1111, 1112, 1113, 1121, 1122, 1123, 1131, 1132, 1133, 1211, 1212, 1213, 1221,
                          1222, 1223, 1231, 1232, 1233, 1311, 1312, 1313, 1321, 1322, 1323, 1331, 1332,
                          1333, 2111, 2112, 2113, 2121, 2122, 2123, 2131, 2132, 2133, 2211, 2212, 2213,
                          2221, 2222, 2223, 2231, 2232, 2233, 2311, 2312, 2313, 2321, 2322, 2323, 2331,
                          2332, 2333, 3111, 3112, 3113, 3121, 3122, 3123, 3131, 3132, 3133, 3211, 3212,
                          3213, 3221, 3222, 3223, 3231, 3232, 3233, 3311, 3312, 3313, 3321, 3322, 3323,
                          3331, 3332, 3333]

        self.g_eedver = 0
        self.g_eevver = 0
        self.g_badver = False

        self.g_rdb_ver = ''
        self.g_rdb_body = ''

        self.g_ucode = 0
        self.g_slotname = []
        self.g_uid = []
        self.g_pwd = []
        self.g_dto = 0
        self.g_ito = 0
        self.g_lto = 0
        self.g_flip = False
        self.g_revert = False
        self.g_logo = False
        self.g_bseq = 0
        self.g_lseq = 0
        self.g_kfail = 0
        self.g_semas = '0000000000000000'
        self.g_sig = 'EFBEADDE'

        self.g_eedata = bytearray()
        self.g_wrbuf = ''

        self.builder = builder = pygubu.Builder()

        builder.add_from_file('ptconfig.ui')

        self.mainwindow = builder.get_object('mainwindow', self.master)
        self.mainmenu = menu = builder.get_object('mainmenu', self.master)
        self.set_menu(menu)

        self.mainlabel = builder.get_object('lmain', self.master)
        self.builder.tkvariables['strlmain'].set("PWT Configurator Version " + __VERSION__)

        self.verlabel = builder.get_object('lvarver', self.master)

        self.portcombo = builder.get_object('cport', self.master)
        self.portcombo['values'] = u_portlist
        self.portcombo.current(0)

        self.gencombo = builder.get_object('cmode', self.master)
        self.gencombo.current(2)
        self.builder.tkvariables['selen'].set('20')

        self.master.protocol("WM_DELETE_WINDOW", self.on_close_window)

        self.termbox = builder.get_object('tterm', self.master)
        self.eebox = builder.get_object('tee', self.master)
        self.msgbox = builder.get_object('tmessage', self.master)

        self.canvas = canvas = builder.get_object('cvled', self.master)
        self.led = led = tk_tools.Led(canvas, size=15)
        led.pack()
        led.to_red(on=True)

        self.pwframe = builder.get_object('fslots', self.master)
        
        builder.connect_callbacks(self)
        self.master.after(100, self.process_serial)
Ejemplo n.º 10
0
    def widgeter(self):
        '''create remote panel widgets'''
        self.frame_right = Frame(
            self.parent,
            background='gray40')  # create frame to hold button LEDs

        title_label_config = {
            'background': 'gray40',
            'font': ('verdana', 12, 'bold')
        }
        self.motors = Label(self.frame_right, title_label_config, text='Motor')
        self.motors.grid(column=0, row=0)

        # create motor labels
        motor_dict = {
            1: 'Base',
            2: 'Shoulder',
            3: 'Elbow',
            4: 'Wrist',
            5: 'Gripper'
        }
        motor_lbl_config = {
            'background': 'gray40',
            'font': ('verdana', 12),
            'foreground': 'black'
        }
        for key in motor_dict:
            Label(self.frame_right, motor_lbl_config,
                  text=motor_dict[key]).grid(column=0, row=key, pady=12)

        self.position = Label(self.frame_right,
                              title_label_config,
                              text='Position(deg)')
        self.position.grid(column=1, row=0)

        # create labels to display the current motor position in degrees
        pos_config = {
            'background': 'black',
            'relief': RAISED,
            'font': ('verdana', 12),
            'foreground': 'lawngreen'
        }
        self.basePos = Label(self.frame_right, pos_config, text='20')
        self.shoulderPos = Label(self.frame_right, pos_config, text='30')
        self.elbowPos = Label(self.frame_right, pos_config, text='60')
        self.wristPos = Label(self.frame_right, pos_config, text='120')
        self.gripperPos = Label(self.frame_right, pos_config, text='50')

        self.basePos.grid(column=1, row=1, ipadx=20)
        self.shoulderPos.grid(column=1, row=2, ipadx=20)
        self.elbowPos.grid(column=1, row=3, ipadx=20)
        self.wristPos.grid(column=1, row=4, ipadx=20)
        self.gripperPos.grid(column=1, row=5, ipadx=20)

        # separator
        # ttk.Separator(self.frame_right, orient=HORIZONTAL).grid(sticky=N+E)

        self.frame_right.grid(column=0, row=0)  # pack the right frame

        # create the middle frame
        self.frame_center = Frame(self.parent, background='gray40')

        #frequency display label
        self.freq_label = Label(self.frame_center,
                                foreground='black',
                                bg='gray40',
                                font=('verdana', 12),
                                text='Channel frequency:')
        self.freq_display = Entry(self.frame_center, fg='green')
        self.freq_display.insert(0, '300.5MHz')
        self.freq_display.grid(row=0, column=1)
        self.freq_label.grid(row=0, column=0)
        self.frame_center.grid(row=0, column=1, ipadx=10)

        self.frame_left = Frame(self.parent, background='gray40')
        # operation buttons
        btn_config = {
            'background': 'black',
            'foreground': 'red',
            'font': ('verdana', 12, 'bold')
        }
        self.run = Button(self.frame_left, btn_config, text='RUN')
        self.stop = Button(self.frame_left, btn_config, text='STOP')
        self.exit = Button(self.frame_left, btn_config, text='EXIT')

        # pack the buttons
        self.run.grid(row=0, column=0, pady=15)
        self.stop.grid(row=1, column=0, pady=15)
        self.exit.grid(row=2, column=0, pady=15)

        self.frame_left.grid(column=2, row=0)  # pack the left frame

        # status bar
        self.status_bar = Frame(self.parent, bg='gray40')

        # create LED
        self.running_led = tools.Led(self.status_bar, size=50)
        self.running_led.to_green()
        self.running_led.grid(row=0, column=0)

        self.stat_lbl = Label(self.status_bar,
                              text='Running',
                              font=('consolas', 12, 'bold'),
                              bg='gray40',
                              fg='green')
        self.stat_lbl.grid(row=0, column=1, ipadx=15)

        self.status_bar.grid(row=1, column=0)
Ejemplo n.º 11
0
 def initialize_led(self):
     return
     self.led = tk_tools.Led(self.gui, size=50)
     self.led.pack()
Ejemplo n.º 12
0
#Combobox
combo_frame = LabelFrame(mainframe)
combo_frame.place(x=20, y=20, width=340, height=60)
update_combobox_list()  #init
download_combobox = ttk.Combobox(combo_frame, postcommand=update_combobox_list)
download_combobox.set("Bitte Logbuch Download Auswählen..")
download_combobox.bind("<<ComboboxSelected>>",
                       display_combobox_list_select_action)
download_combobox.place(x=5, y=10, width=325, height=30)
##

#Download LED
led_frame = LabelFrame(mainframe, text="Download Status")
led_frame.place(x=20, y=90, width=340, height=140)
led = tk_tools.Led(led_frame, size=100)
led.place(x=108, y=5, width=102, height=102)
##

#Status pane
label_act_entry_frame = LabelFrame(mainframe, text="Aktueller Status")
label_act_entry_frame.place(x=20, y=240, width=340, height=110)
actEntry = StringVar()
label_actEntry = ttk.Label(label_act_entry_frame, textvariable=actEntry)
label_actEntry.place(x=5, y=10, width=300, height=20)
progress = ttk.Progressbar(label_act_entry_frame,
                           orient=HORIZONTAL,
                           mode='determinate')
progress.place(x=10, y=40, width=315, height=30)
##
    def __init__(self, parent, colour_map):
        Frame.__init__(self, parent)

        self.colour_map = colour_map

        self.colour_name = StringVar()
        self.change_start_date_time = StringVar()
        self.colour_start_date_time = StringVar()
        self.colour_end_date_time = StringVar()

        self.colour_label = Label(self, text="Color", anchor="center")
        self.colour_label.grid(row=0,
                               column=0,
                               padx=(0, CELL_PADDING),
                               pady=(0, CELL_PADDING),
                               ipadx=CELL_MARGIN,
                               ipady=CELL_MARGIN,
                               sticky=W + E + N + S)
        self.colour_entry = Entry(self,
                                  justify="center",
                                  validate="key",
                                  validatecommand=(self.register(self.__validate_colour_input), '%P'))
        self.colour_entry.grid(row=1,
                               column=0,
                               padx=(0, CELL_PADDING),
                               pady=CELL_PADDING,
                               ipadx=CELL_MARGIN,
                               ipady=CELL_MARGIN,
                               sticky=W + E + N + S)
        self.led_colour = tk_tools.Led(self, size=30)
        self.led_colour.grid(row=2, column=0)
        self.led_colour.to_grey(on=True)
        self.grid_columnconfigure(0, weight=1)  # La fila toma el ancho de pantalla

        self.colour_name_label = Label(self, textvariable=self.colour_name, anchor="center", relief="groove")
        self.colour_name_label.grid(row=3,
                                    column=0,
                                    padx=(0, CELL_PADDING),
                                    pady=CELL_PADDING,
                                    ipadx=CELL_MARGIN,
                                    ipady=CELL_MARGIN,
                                    sticky=W + E + N + S)

        self.change_start_time_button = Button(self,
                                               text="Hora inicio cambio",
                                               state=NORMAL,
                                               command=self.__on_change_start_time_click)
        self.change_start_time_button.grid(row=0,
                                           column=1,
                                           padx=CELL_PADDING,
                                           pady=(0, CELL_PADDING),
                                           ipadx=CELL_MARGIN,
                                           ipady=CELL_MARGIN,
                                           sticky=W + E + N + S)
        self.change_start_time_label = Label(self, background="white", textvariable=self.change_start_date_time)
        self.change_start_time_label.grid(row=1,
                                          column=1,
                                          padx=CELL_PADDING,
                                          pady=CELL_PADDING,
                                          ipadx=CELL_MARGIN,
                                          ipady=CELL_MARGIN,
                                          sticky=W + E + N + S)
        self.led_change_start_time = tk_tools.Led(self, size=30)
        self.led_change_start_time.grid(row=2, column=1)
        self.led_change_start_time.to_grey(on=True)
        self.grid_columnconfigure(1, weight=1)

        self.colour_start_time_button = Button(self,
                                               text="Hora inicio color",
                                               state=DISABLED,
                                               command=self.__on_colour_start_time_click)
        self.colour_start_time_button.grid(row=0,
                                           column=2,
                                           padx=CELL_PADDING,
                                           pady=(0, CELL_PADDING),
                                           ipadx=CELL_MARGIN,
                                           ipady=CELL_MARGIN,
                                           sticky=W + E + N + S)
        self.colour_start_time_label = Label(self, background="white", textvariable=self.colour_start_date_time)
        self.colour_start_time_label.grid(row=1,
                                          column=2,
                                          padx=CELL_PADDING,
                                          pady=CELL_PADDING,
                                          ipadx=CELL_MARGIN,
                                          ipady=CELL_MARGIN,
                                          sticky=W + E + N + S)
        self.led_colour_start_time = tk_tools.Led(self, size=30)
        self.led_colour_start_time.grid(row=2, column=2)
        self.led_colour_start_time.to_grey(on=True)
        self.grid_columnconfigure(2, weight=1)

        self.colour_end_time_button = Button(self,
                                             text="Hora final color",
                                             state=DISABLED,
                                             command=self.__on_colour_end_time_click)
        self.colour_end_time_button.grid(row=0,
                                         column=3,
                                         padx=CELL_PADDING,
                                         pady=(0, CELL_PADDING),
                                         ipadx=CELL_MARGIN,
                                         ipady=CELL_MARGIN,
                                         sticky=W + E + N + S)
        self.colour_end_time_label = Label(self, background="white", textvariable=self.colour_end_date_time)
        self.colour_end_time_label.grid(row=1,
                                        column=3,
                                        padx=CELL_PADDING,
                                        pady=CELL_PADDING,
                                        ipadx=CELL_MARGIN,
                                        ipady=CELL_MARGIN,
                                        sticky=W + E + N + S)
        self.led_colour_end_time = tk_tools.Led(self, size=30)
        self.led_colour_end_time.grid(row=2, column=3)
        self.led_colour_end_time.to_grey(on=True)
        self.grid_columnconfigure(3, weight=1)

        self.hangers_label = Label(self, text="Nº de bastidores", anchor="center")
        self.hangers_label.grid(row=0,
                                column=4,
                                padx=CELL_PADDING,
                                pady=(0, CELL_PADDING),
                                ipadx=CELL_MARGIN,
                                ipady=CELL_MARGIN,
                                sticky=W + E + N + S)
        self.hangers_entry = Entry(self,
                                   justify="center",
                                   validate="key",
                                   validatecommand=(self.register(self.__validate_hangers_input), '%P', '%S'))
        self.hangers_entry.grid(row=1,
                                column=4,
                                padx=CELL_PADDING,
                                pady=CELL_PADDING,
                                ipadx=CELL_MARGIN,
                                ipady=CELL_MARGIN,
                                sticky=W + E + N + S)
        self.led_hangers = tk_tools.Led(self, size=30)
        self.led_hangers.grid(row=2, column=4)
        self.led_hangers.to_grey(on=True)
        self.grid_columnconfigure(4, weight=1)

        self.observations_label = Label(self, text="Observaciones", anchor="center")
        self.observations_label.grid(row=0,
                                     column=5,
                                     padx=CELL_PADDING,
                                     pady=(0, CELL_PADDING),
                                     ipadx=CELL_MARGIN,
                                     ipady=CELL_MARGIN,
                                     sticky=W + E + N + S)
        self.observations_entry = Entry(self,
                                        justify="center",
                                        validate="key",
                                        validatecommand=(self.register(self.__validate_observations_input), '%P',),
                                        state=NORMAL)
        self.observations_entry.grid(row=1,
                                     column=5,
                                     padx=CELL_PADDING,
                                     pady=CELL_PADDING,
                                     ipadx=CELL_MARGIN,
                                     ipady=CELL_MARGIN,
                                     sticky=W + E + N + S)
        self.led_observations = tk_tools.Led(self, size=30)
        self.led_observations.grid(row=2, column=5)
        self.led_observations.to_grey(on=True)
        self.grid_columnconfigure(5, weight=2)
Ejemplo n.º 14
0
    def create_widgets(self):
        self.tank_pressure_label = tk.Label(self,
                                            font='TimesNewRoman 14',
                                            text="Tank pressure:")
        self.tank_pressure_label.grid(
            row=30,
            column=2,
        )

        self.tank_pressure_data = tk.Text(self,
                                          wrap='word',
                                          font='TimesNewRoman 14',
                                          bg=self.cget('bg'),
                                          relief='flat',
                                          width=5,
                                          height=1)
        self.tank_pressure_data.grid(
            row=30,
            column=3,
        )

        self.input_pressure_label = tk.Label(self,
                                             font='TimesNewRoman 14',
                                             text="Inlet pressure:")
        self.input_pressure_label.grid(
            row=31,
            column=2,
        )

        self.input_pressure_data = tk.Text(self,
                                           wrap='word',
                                           font='TimesNewRoman 14',
                                           bg=self.cget('bg'),
                                           relief='flat',
                                           width=5,
                                           height=1)
        self.input_pressure_data.grid(
            row=31,
            column=3,
        )

        self.air_pressure_label = tk.Label(self,
                                           font='TimesNewRoman 14',
                                           text="Air pressure:")
        self.air_pressure_label.grid(
            row=32,
            column=2,
        )

        self.air_pressure_data = tk.Text(self,
                                         wrap='word',
                                         font='TimesNewRoman 14',
                                         bg=self.cget('bg'),
                                         relief='flat',
                                         width=5,
                                         height=1)
        self.air_pressure_data.grid(
            row=32,
            column=3,
        )

        self.oxygen_pressure_label = tk.Label(self,
                                              font='TimesNewRoman 14',
                                              text="Oxygen pressure:")
        self.oxygen_pressure_label.grid(
            row=33,
            column=2,
        )

        self.oxygen_pressure_data = tk.Text(self,
                                            wrap='word',
                                            font='TimesNewRoman 14',
                                            bg=self.cget('bg'),
                                            relief='flat',
                                            width=5,
                                            height=1)
        self.oxygen_pressure_data.grid(
            row=33,
            column=3,
        )

        self.breathing_pressure_label = tk.Label(self,
                                                 font='TimesNewRoman 14',
                                                 text="Breathing pressure:")
        self.breathing_pressure_label.grid(
            row=34,
            column=2,
        )

        self.breathing_pressure_data = tk.Text(self,
                                               wrap='word',
                                               font='TimesNewRoman 14',
                                               bg=self.cget('bg'),
                                               relief='flat',
                                               width=5,
                                               height=1)
        self.breathing_pressure_data.grid(
            row=34,
            column=3,
        )

        self.flow_label = tk.Label(self, font='TimesNewRoman 14', text="Flow:")
        self.flow_label.grid(
            row=35,
            column=2,
        )

        self.flow_data = tk.Text(self,
                                 wrap='word',
                                 font='TimesNewRoman 14',
                                 bg=self.cget('bg'),
                                 relief='flat',
                                 width=5,
                                 height=1)
        self.flow_data.grid(
            row=35,
            column=3,
        )

        self.led = tk_tools.Led(self, size=50)
        self.led.grid(
            row=37,
            column=2,
        )
        self.led.to_red()

        self.led_data = tk.Text(self,
                                wrap='word',
                                font='TimesNewRoman 14',
                                bg=self.cget('bg'),
                                relief='flat',
                                width=20,
                                height=1)
        self.led_data.grid(
            row=36,
            column=2,
        )

        self.gauge_tank = tk_tools.Gauge(self,
                                         max_value=150.0,
                                         label='Pressure',
                                         unit='PSI',
                                         bg='white')
        self.gauge_tank.grid(row=31, column=4)
        self.tank_label = tk.Label(self,
                                   font='TimesNewRoman 14',
                                   text="Tank Pressure")
        self.tank_label.grid(row=32, column=4)

        self.gauge_air = tk_tools.Gauge(self,
                                        max_value=1024.0,
                                        label='Pressure',
                                        unit='cmH2O',
                                        bg='white')
        self.gauge_air.grid(row=31, column=5)
        self.air_label = tk.Label(self,
                                  font='TimesNewRoman 14',
                                  text="Air Pressure")
        self.air_label.grid(row=32, column=5)

        self.gauge_oxygen = tk_tools.Gauge(self,
                                           max_value=1024.0,
                                           label='Pressure',
                                           unit='cmH2O',
                                           bg='white')
        self.gauge_oxygen.grid(row=31, column=6)
        self.oxygen_label = tk.Label(self,
                                     font='TimesNewRoman 14',
                                     text="Oxygen Pressure")
        self.oxygen_label.grid(row=32, column=6)

        self.gauge_breath = tk_tools.Gauge(self,
                                           max_value=1024.0,
                                           label='Pressure',
                                           unit='cmH2O',
                                           bg='white')
        self.gauge_breath.grid(row=31, column=7)
        self.breath_label = tk.Label(self,
                                     font='TimesNewRoman 14',
                                     text="Breath Pressure")
        self.breath_label.grid(row=32, column=7)

        self.slider_volume = tk.Scale(self,
                                      from_=255,
                                      to=0,
                                      length=300,
                                      resolution=1,
                                      troughcolor='blue',
                                      fg='red',
                                      label='Volume (ml)',
                                      width=35)
        self.slider_volume.set(0)
        self.slider_volume.grid(
            row=35,
            column=4,
        )

        self.slider_bpm = tk.Scale(self,
                                   from_=30,
                                   to=5,
                                   length=300,
                                   resolution=1,
                                   troughcolor='blue',
                                   fg='red',
                                   label='BPM',
                                   width=35)
        self.slider_bpm.set(12)
        self.slider_bpm.grid(
            row=35,
            column=5,
        )

        self.slider_o = tk.Scale(self,
                                 from_=100,
                                 to=1,
                                 length=300,
                                 resolution=1,
                                 troughcolor='blue',
                                 fg='red',
                                 label='Oxygen (%)',
                                 width=35)
        self.slider_o.set(21)
        self.slider_o.grid(
            row=35,
            column=6,
        )

        self.slider_ratio = tk.Scale(self,
                                     from_=3,
                                     to=1,
                                     length=300,
                                     resolution=1,
                                     troughcolor='blue',
                                     fg='red',
                                     label='I:E Ratio',
                                     width=35)
        self.slider_ratio.set(1)
        self.slider_ratio.grid(
            row=35,
            column=7,
        )

        self.slider_alarm = tk.Scale(self,
                                     from_=50,
                                     to=10,
                                     length=300,
                                     resolution=1,
                                     troughcolor='blue',
                                     fg='red',
                                     label='Presure Alarm',
                                     width=35)
        self.slider_alarm.set(30)
        self.slider_alarm.grid(
            row=35,
            column=8,
        )

        self.send_button = tk.Button(self,
                                     text="Start with selected parameters",
                                     command=self.send_data,
                                     height=2,
                                     width=25,
                                     fg='black')
        self.send_button.grid(row=37, column=6)

        self.t2 = threading.Thread(target=self.populate_data, name='t2')
        self.t2.start()