import socket
import time
[docs]
class PrologixInterface:
def __init__(self, ip_address, gpibAddr, **kwargs):
self.ip_address = ip_address
self.gpibAddr = gpibAddr
self.sock = None
self.conn_socket()
self.configure()
super().__init__(**kwargs)
[docs]
def conn_socket(self):
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.connect((self.ip_address, 1234))
self.sock.settimeout(5)
[docs]
def write(self, msg):
message = msg + '\n'
self.sock.sendall(message.encode())
time.sleep(0.1) # Don't send messages too quickly
[docs]
def read(self):
return self.sock.recv(128).decode().strip()
[docs]
def version(self):
self.write('++ver')
return self.read()
[docs]
def identify(self):
self.write('*idn?')
return self.read()