def on_read_settings_pressed(self, widget, data=None): import subprocess #slave position self.widgets.slave_position_label.set_text(self.widgets.slave_position.get_text()) #encoder internal / external read_encoder = "ethercat -p {0}".format(self.widgets.slave_position.get_text()) + " upload --type uint8 0x8012 0x08" encoder = subprocess.check_output(read_encoder, shell=True) print(encoder) self.widgets.encoder_label.set_text(encoder) #invert input 1 read_drive_input_1 = "ethercat upload -p {0}".format(self.widgets.slave_position.get_text()) + " -t uint8 0x8012 0x30" invert_input_1 = subprocess.check_output(read_drive_input_1, shell=True) print(invert_input_1) self.widgets.invert_input_1_label.set_text(invert_input_1) #invert input 2 read_drive_input_2 = "ethercat upload -p {0}".format(self.widgets.slave_position.get_text()) + " -t uint8 0x8012 0x31" invert_input_2 = subprocess.check_output(read_drive_input_2, shell=True) print(invert_input_2) self.widgets.invert_input_2_label.set_text(invert_input_2) #microstep read_motor_microstep = "ethercat upload -p {0}".format(self.widgets.slave_position.get_text()) + " -t uint8 0x8012 0x45" microstep = subprocess.check_output(read_motor_microstep, shell=True) print(microstep) self.widgets.microstep_label.set_text(microstep) #voltage read_motor_voltage = "ethercat -p {0}".format(self.widgets.slave_position.get_text()) + " upload --type uint16 0x8010 0x03" voltage = subprocess.check_output(read_motor_voltage, shell=True) print(voltage) self.widgets.voltage_label.set_text(voltage) #current read_motor_current = "ethercat -p {0}".format(self.widgets.slave_position.get_text()) + " upload --type uint16 0x8010 0x01" current = subprocess.check_output(read_motor_current, shell=True) print(current) self.widgets.current_label.set_text(current) def on_write_settings_pressed(self, widget, data=None): #set slave position self.widgets.slave_position_label.set_text(self.widgets.slave_position.get_text()) #set encoder os.system ("ethercat -p {0}".format(self.widgets.slave_position.get_text()) + " download --type uint8 0x8012 0x08 {0}".format(self.widgets.set_encoder.get_text()) ) #set invert input 1 os.system ("ethercat -p {0}".format(self.widgets.slave_position.get_text()) + " download --type uint8 0x8012 0x30 {0}".format(self.widgets.set_invert_input_1.get_text()) ) #set invert input 2 os.system ("ethercat -p {0}".format(self.widgets.slave_position.get_text()) + " download --type uint8 0x8012 0x31 {0}".format(self.widgets.set_invert_input_2.get_text()) ) #set microstep os.system ("ethercat -p {0}".format(self.widgets.slave_position.get_text()) + " download --type uint8 0x8012 0x45 {0}".format(self.widgets.set_microstep.get_text()) ) #set voltage os.system ("ethercat -p {0}".format(self.widgets.slave_position.get_text()) + " download --type uint16 0x8010 0x03 {0}".format(self.widgets.set_voltage.get_text()) ) #set current os.system ("ethercat -p {0}".format(self.widgets.slave_position.get_text()) + " download --type uint16 0x8010 0x01 {0}".format(self.widgets.set_current.get_text()) )