PM100D.py 1.18 KB
from abstract_instrument import abstract_instrument
import os

#==============================================================================

ALL_VAL_TYPE = "PWR"

#==============================================================================

class PM100D(abstract_instrument):
    def __init__(self, adress="/dev/usbtmc0", vtype="PWR"):
        self.adress = adress
        self.vtype = vtype

    def model(self):
        self.send("*IDN?")
        return self.read()

    def connect(self):
        try:
            print('Connecting to device @%s...' %(self.adress))
            self.FILE = os.open(self.adress, os.O_RDWR)
            print('  --> Ok')

            print(self.model())

            if self.vtype == "PWR":
                1
            else:
                print("Wrong -v argument")
                raise

        except Exception as er:
            print("Unexpected error during connection: " + str(er))
            raise

    def getValue(self):
        self.send("READ?")
        return self.read()

    def read(self):
        return os.read(self.FILE, 300)

    def disconnect(self):
        self.send('*RST')

    def send(self, command):
        os.write(self.FILE, command)