Ejemplo n.º 1
0
 def _tcp_online(self, bot_id, is_online, ip, port):
     led_tcp_pump = self._ui.led_tcp_pump if bot_id == 1 else self._ui.led_tcp_pump2
     QTools.set_led_style(ui_btn=led_tcp_pump,
                          color='GREEN' if is_online else 'RED')
     for liquid_id in [0, 1, 2, 3, 4]:
         QTools.set_led_style(ui_btn=self._leds[bot_id][liquid_id],
                              color='GREEN' if is_online else 'RED')
Ejemplo n.º 2
0
 def _liquid_raw_data(self, device_id, liquid_raw_data):
     if device_id == 1:
         self._ui.ui_water_data1.setText(f"{liquid_raw_data['WATER']}")
         self._ui.ui_alkali_data1.setText(f"{liquid_raw_data['ALKALI']}")
         self._ui.ui_acid_data1.setText(f"{liquid_raw_data['ACID']}")
         self._ui.ui_wheel_data1.setText(f"{liquid_raw_data['WHEEL']}")
         self._ui.ui_wax_data1.setText(f"{liquid_raw_data['WAX']}")
     else:
         self._ui.ui_water_data2.setText(f"{liquid_raw_data['WATER']}")
         self._ui.ui_alkali_data2.setText(f"{liquid_raw_data['ALKALI']}")
         self._ui.ui_acid_data2.setText(f"{liquid_raw_data['ACID']}")
         self._ui.ui_wheel_data2.setText(f"{liquid_raw_data['WHEEL']}")
         self._ui.ui_wax_data2.setText(f"{liquid_raw_data['WAX']}")
     for liquid_type in liquid_raw_data.keys():
         liquid_height = 100 if liquid_type == 'WATER' else 60
         container_height = 900 if liquid_type == 'WATER' else 250
         color = 'RED' if liquid_raw_data[
             liquid_type] <= liquid_height else 'GREEN'
         text = 'WARNING' if liquid_raw_data[
             liquid_type] <= liquid_height else ' '
         QTools.set_led_style(ui_btn=self._leds[liquid_type +
                                                str(device_id)],
                              color=color)
         self._leds[liquid_type + str(device_id)].setText(text)
         percent = liquid_raw_data[liquid_type] / container_height
         progress = QTools.set_style_sheet(percent=percent)
         self._leds[liquid_type + str(device_id)].setStyleSheet(progress)
Ejemplo n.º 3
0
 def _pump_tcp_online(self, pump_id, is_online, ip, port):
     QTools.set_led_style(ui_btn=self._leds['PUMP STATION' + str(pump_id)],
                          color='GREEN' if is_online else 'RED')
     self._leds['PUMP STATION' +
                str(pump_id)].setText('ON' if is_online else 'OFF')
     nuc_ip = self._ui.ip_nuc1 if pump_id == 1 else self._ui.ip_nuc2
     nuc_ip.setText(f'NUC_IP {ip}')
Ejemplo n.º 4
0
 def _stop_all(self):
     self._pumps.stop_all()
     for liquid_type in [0, 1, 2, 3, 4]:
         for bot_id in [1, 2]:
             QTools.set_led_style(ui_btn=self._leds[bot_id][liquid_type],
                                  color='GREEN')
             self._leds[bot_id][liquid_type].setChecked(0)
Ejemplo n.º 5
0
 def __init__(self, ui: Ui_MainWindow, pumps: Pumps):
     self._ui = ui
     self._pumps = pumps
     # TABLE
     self._ui.table_liquids.verticalHeader().setFixedWidth(66)
     QTools.table_init(table=self._ui.table_liquids)
     # UI: SIGNAL
     self._pumps.sign_pump_tcp_online.connect(self._tcp_online)
     self._pumps.sign_sensor_level.connect(self._signal_sensor_level)
     self._pumps.sign_pump_shooting.connect(self._signal_pump_shooting)
     self._pumps.sign_pump_remain_ts.connect(self._signal_pump_remain_ts)
     # UI LEDS
     self._leds = {
         1: {
             0: self._ui.led_water_high1,
             1: self._ui.led_ch_a1,
             2: self._ui.led_ch_b1,
             3: self._ui.led_ch_whl1,
             4: self._ui.led_ch_wax1
         },
         2: {
             0: self._ui.led_water_high2,
             1: self._ui.led_ch_a2,
             2: self._ui.led_ch_b2,
             3: self._ui.led_ch_whl2,
             4: self._ui.led_ch_wax2
         }
     }
     # UI: INIT
     self._ui.btn_ini_load.clicked.connect(self._pump_load_ini)
     self._ui.drv_bot1.clicked.connect(self._bot_id_changed)
     self._ui.drv_bot2.clicked.connect(self._bot_id_changed)
     self._ui.switch_link.stateChanged.connect(self._pumps.set_link)
     self._ui.engine_turbo.currentTextChanged.connect(
         lambda _t: self._pumps.set_turbo(turbo=int(_t[0])))
     # PUMP SWITCH
     self._ui.btn_stop_all.clicked.connect(self._stop_all)
     self._ui.btn_ch_whl.stateChanged.connect(
         lambda x: self._set_pump_shooting(3, x, 0))
     self._ui.btn_ch_a.stateChanged.connect(
         lambda x: self._set_pump_shooting(1, x, 0))
     self._ui.btn_ch_b.stateChanged.connect(
         lambda x: self._set_pump_shooting(2, x, 0))
     self._ui.btn_water.stateChanged.connect(
         lambda x: self._set_pump_shooting(0, x, 0))
     self._ui.btn_ch_wax.stateChanged.connect(
         lambda x: self._set_pump_shooting(4, x, 0))
     # UI_UPDATE
     self._bot_id_changed()
Ejemplo n.º 6
0
 def _pump_is_open(self, pump_id, instruct, is_open):
     station = self._ui.ui_log_pump1 if pump_id == 1 else self._ui.ui_log_pump2
     station.setText(f'{instruct} {is_open}')
     if instruct in [
             'WATER_HIGH', 'CHEM_ALKALI', 'CHEM_ACID', 'WHEEL', 'WATER_WAX'
     ]:
         QTools.set_led_style(ui_btn=self._leds[instruct + str(pump_id)],
                              color='GREEN' if is_open else 'RED')
     elif instruct == 'ALL STOP':
         for instruct in [
                 'WATER_HIGH', 'CHEM_ALKALI', 'CHEM_ACID', 'WHEEL',
                 'WATER_WAX'
         ]:
             QTools.set_led_style(ui_btn=self._leds[instruct +
                                                    str(pump_id)],
                                  color='RED')
Ejemplo n.º 7
0
 def _tcp_online(self, is_online, peer_ip, peer_port):
     QTools.set_led_style(ui_btn=self._ui.led_guides_tcp,
                          color='GREEN' if is_online else 'RED')
Ejemplo n.º 8
0
 def _raw_data(self, raw_data):
     QTools.set_led_style(ui_btn=self._ui.led_guides_1,
                          color='GREEN' if raw_data[0] else 'RED')
     QTools.set_led_style(ui_btn=self._ui.led_guides_2,
                          color='GREEN' if raw_data[1] else 'RED')
Ejemplo n.º 9
0
 def _signal_pump_shooting(self, bot_id, liquid_id, switch):
     QTools.set_led_style(ui_btn=self._leds[bot_id][liquid_id],
                          color='DARK_GREEN' if switch else 'GREEN')