Source code for socs.common.prologix_interface

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 configure(self): self.write('++mode 1') self.write('++auto 1') self.write('++addr ' + str(self.gpibAddr))
[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()