from random import random from time import sleep from sacada import SACADA as _SACADA from util.Logger import Logger class SACADA(object): def __init__(self, location, channels): self.logger = Logger() self.channels = channels logger("[SACADA]", "Opening SACADA at {}".format(location)) self.s = _SACADA(location) self.s.sendSCPICommand("IN:SCALE A0,V0256") logger("[SACADA]", str(self.s.identify())) logger("[SACADA]", "Valor do zero: {}".format(self.s.zero())) def read(self, channel): if channel["id"] == "TC": try: return self.s.readTemperature("A0", channel["type"]) except: # Should handle value errors better return 0 if channel["id"] == "PWR": return self.s.readVoltage("A3") * self.s.readVoltage("A4") if channel["id"] == "A3": return self.s.readVoltage("A3") * (400.0/10.0) - 3.0 return self.s.readVoltage(channel["id"]) def readAll(self): return [self.read("TC")]