##// END OF EJS Templates
Added Discoply...
Added Discoply Added interface to discoply in discovery class Some fixes on prologix GPIB class

File last commit:

r9:142b4267322d default
r9:142b4267322d default
Show More
prologix_usb_gpib.py
88 lines | 2.3 KiB | text/x-python | PythonLexer
/ lppinstru / prologix_usb_gpib.py
Alexis Jeandet
WIP
r3 #!/usr/bin/env python
#-*- coding: utf-8 -*-
"""Simple python library to communicate with Prologix USB GPIB module.
"""
import time
import sys
import os
import matplotlib.pyplot as plt
import numpy as np
import serial
__author__ = "Alexis Jeandet"
__copyright__ = "Copyright 2015, Laboratory of Plasma Physics"
__credits__ = []
__license__ = "GPLv2"
__version__ = "1.0.0"
__maintainer__ = "Alexis Jeandet"
__email__ = "alexis.jeandet@member.fsf.org"
__status__ = "Development"
class UsbGpib(object):
modedic = {0:"DEVICE" ,
1:"CONTROLLER" ,}
revmodedic = {"DEVICE":"0" ,
"CONTROLLER":"1" ,}
Added Discoply...
r9 def __init__(self,port,address=0,baudrate=9600):
self._port=serial.Serial(port,timeout=0.1,baudrate=baudrate)
Alexis Jeandet
WIP
r3 self._address=address
Added Discoply...
r9 self.write("++auto 1")
self._auto=1
self.mode=1
Alexis Jeandet
WIP
r3 self.write("++ver")
self.version=self.read()
Added Discoply...
r9
Alexis Jeandet
WIP
r3
def set_as_device(self):
self.write("++mode 0")
def set_as_controller(self):
self.write("++mode 1")
@property
def mode(self):
self.write("++mode")
self._mode= self.modedic[int(self.read())]
return self._mode
@mode.setter
def mode(self,new_mode):
Added Discoply...
r9 if type(new_mode) == type("str"):
self._mode=self.revmodedic[new_mode]
elif type(new_mode) == type(1):
self._mode=new_mode
Alexis Jeandet
WIP
r3 self.write("++mode %d" % self._mode)
@property
def address(self):
self._address=int(self.read("++addr"))
return self._address
@address.setter
def address(self,value):
self._address=int(value)
self.write("++addr %d" % self._address)
def write(self,command):
Added Discoply...
r9 self._port.write(("%s\n\r" % command).encode())
Alexis Jeandet
WIP
r3 self._port.flush()
Added Discoply...
r9 def read(self,command=""):
Alexis Jeandet
WIP
r3 if not command=="":
self.write(command)
Added Discoply...
r9 if command[0:2]!="++" and self._auto==0:
Alexis Jeandet
WIP
r3 self.write("++read")
return self._port.readall()
def idn(self):
return self.read("*IDN?")
Added Discoply...
r9
@property
def auto_read_after_write(self):
self._auto=int(self.read("++auto"))
return self._auto
@auto_read_after_write.setter
def auto_read_after_write(self,enabled):
self._auto=enabled
self.write("++auto %d" % self._auto)