Ejemplo n.º 1
0
    def get_data(self, message):
        """

        Parameters
        ----------
        message

        Returns
        -------

        """
        messg = ThreadCommand(message)

        if message == 'set_info':
            list_len = get_int(self.socket)
            path = []
            for ind in range(list_len):
                path.append(get_string(self.socket))
            param_xml = get_string(self.socket)
            messg.attributes = [path, param_xml]

        elif message == 'move_abs':
            position = get_scalar(self.socket)
            messg.attributes = [position]

        elif message == 'move_rel':
            position = get_scalar(self.socket)
            messg.attributes = [position]

        self.cmd_signal.emit(messg)
Ejemplo n.º 2
0
    def command_to_from_client(self, command):
        sock = self.find_socket_within_connected_clients(self.client_type)
        if sock is not None:  # if client self.client_type is connected then send it the command

            if command == 'x_axis':
                x_axis = dict(data=get_array(sock))
                x_axis['label'] = get_string(sock)
                x_axis['units'] = get_string(sock)
                self.x_axis = x_axis.copy()
                self.emit_x_axis()
            elif command == 'y_axis':
                y_axis = dict(data=get_array(sock))
                y_axis['label'] = get_string(sock)
                y_axis['units'] = get_string(sock)
                self.y_axis = y_axis.copy()
                self.emit_y_axis()

            else:
                self.send_command(sock, command)

        else:  # else simulate mock data
            if command == "Send Data 0D":
                self.set_1D_Mock_data()
                self.data_mock = np.array([self.data_mock[0]])
            elif command == "Send Data 1D":
                self.set_1D_Mock_data()
                data = self.data_mock
            elif command == "Send Data 2D":
                self.set_2D_Mock_data()
                data = self.data_mock
            self.process_cmds('Done')
Ejemplo n.º 3
0
    def init_connection(self):
        # %%
        try:
            # create an INET, STREAMing socket
            self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            # now connect to the web server on port 80 - the normal http port
            self.socket.connect((self.ipaddress, self.port))
            self.cmd_signal.emit(ThreadCommand('connected'))
            send_string(self.socket, self.client_type)

            self.send_infos_xml(
                custom_tree.parameter_to_xml_string(self.settings))
            self.cmd_signal.emit(ThreadCommand('get_axis'))
            # %%
            while True:

                try:
                    ready_to_read, ready_to_write, in_error = \
                        select.select([self.socket], [self.socket], [self.socket], 0)

                    if len(ready_to_read) != 0:
                        message = get_string(self.socket)
                        # print(message)
                        self.get_data(message)

                    if len(in_error) != 0:
                        self.cmd_signal.emit(ThreadCommand('disconnected'))

                    QtWidgets.QApplication.processEvents()

                except Exception as e:
                    try:
                        self.cmd_signal.emit(
                            ThreadCommand('Update_Status',
                                          [getLineInfo() + str(e), 'log']))
                        send_string(self.socket, 'Quit')
                        self.socket.close()
                    except:
                        pass
                    finally:
                        break

        except ConnectionRefusedError as e:
            self.cmd_signal.emit(ThreadCommand('disconnected'))
            self.cmd_signal.emit(
                ThreadCommand('Update_Status',
                              [getLineInfo() + str(e), 'log']))
Ejemplo n.º 4
0
    def read_commands(self, sock):
        """
            Read the commands from the given socket.

            =============== ============
            **Parameters**    **Type**
            *sock*
            =============== ============

            Returns
            -------
            message_bytes
                The readed and decoded message

            See Also
            --------
            check_received_length
        """
        message = get_string(sock)
        return message