Source code for crappy.inout.opsens

# coding: utf-8

from time import time
from .inout import InOut
from .._global import OptionalModule

try:
  import serial
except (ModuleNotFoundError, ImportError):
  serial = OptionalModule("pyserial")


[docs]class Opsens(InOut): """Sensor class for opsens conditioner.""" def __init__(self, device='/dev/ttyUSB0', ): self.device = device def open(self): self.s = serial.Serial(port=self.device, baudrate=57600) self.send_cmd("meas:rate min") def close(self): self.s.close() def get_data(self): return time(), float(self.send_cmd("ch1:data? 1")[:-3]) def read_reply(self): r = '' while r[-2:] != '\x04\n': r += self.s.read() return r def send_cmd(self, cmd): if '\n' in cmd: for c in cmd.split('/n'): r = self.send_cmd(c) return r if cmd: self.s.write(cmd + '\n') return self.read_reply()