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')
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)
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}')
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)
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()
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')
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')
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')
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')