diff options
Diffstat (limited to 'klippy/extras/mcp4728.py')
-rw-r--r-- | klippy/extras/mcp4728.py | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/klippy/extras/mcp4728.py b/klippy/extras/mcp4728.py index 674ab18c..800c1082 100644 --- a/klippy/extras/mcp4728.py +++ b/klippy/extras/mcp4728.py @@ -5,19 +5,24 @@ # This file may be distributed under the terms of the GNU GPLv3 license. from . import bus + class mcp4728: def __init__(self, config): self.i2c = bus.MCU_I2C_from_config(config, default_addr=0x60) - scale = config.getfloat('scale', 1., above=0.) + scale = config.getfloat("scale", 1.0, above=0.0) # Configure registers - for i, name in enumerate('abcd'): - val = config.getfloat('channel_%s' % (name,), None, - minval=0., maxval=scale) + for i, name in enumerate("abcd"): + val = config.getfloat( + "channel_%s" % (name,), None, minval=0.0, maxval=scale + ) if val is not None: - self.set_dac(i, int(val * 4095. / scale + .5)) + self.set_dac(i, int(val * 4095.0 / scale + 0.5)) + def set_dac(self, dac, value): - self.i2c.i2c_write([0x40 | (dac << 1), - ((value >> 8) & 0x0f) | 0x80, value & 0xff]) + self.i2c.i2c_write( + [0x40 | (dac << 1), ((value >> 8) & 0x0F) | 0x80, value & 0xFF] + ) + def load_config_prefix(config): return mcp4728(config) |