def set_dac(self, devid, value): """ Set the DAC0 output""" tmpstr = "/DAC/run %d %x\n" if devid == 0: val = value / self.conf['DACCONST0'] elif devid == 1: val = value / self.conf['DACCONST1'] else: raise ElixysCBoxError("Unexpected DAC device id") val = int(math.ceil(val)) dacmax = self.conf['DACMAX'] if val > dacmax: log.warn("Attempt to set DAC %d to " "%d, setting to MAX %d", devid, val, dacmax) val = dacmax dacmin = self.conf['DACMIN'] if val < dacmin: log.warn("Attempt to set DAC %d to " "%d, setting to MIN %d", devid, val, dacmin) tmpstr = tmpstr % (devid, val) log.debug("Set DAC: sent %s", tmpstr) self.write(tmpstr) self.read()
def clear_in_serial_buffer(self): """ Check the serial buffer and make sure it is clear """ try: if self.serial.inWaiting(): resp = self.serial.readall() log.warn("Unknown/unparsed serial response: %s", resp) except SerialException: self.reconnect()
def set_leds(self, value): """ Set the LED Ring """ tmpstr = "/LEDS/run %X\n" if not value < 2**24 and value > 0: log.warn("Invalid LEDs value=%d", value) return self.write(tmpstr % value) self.read() self._leds = value
def set_ssr(self, devid, value): """ Set SSR state """ tmpstr = "/SSR/run %d %d\n" if value is True: value = 1 elif value is False: value = 0 else: log.warn("Invalid SSR %d set value=%s", devid, value) return tmpstr = tmpstr % (devid, value) print tmpstr self.write(tmpstr) self.read()
def clear_in_serial_buffer(self): """ Check the serial buffer and make sure it is clear """ if self.serial.inWaiting(): resp = self.serial.readall() log.warn("Unknown/unparsed serial response: %s", resp)