diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2018-05-04 12:27:52 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2018-05-07 09:10:34 -0400 |
commit | 22487d95e9b9b0ada171c72df5f5fbb3f3985724 (patch) | |
tree | 504aab38c166e18c0af7580b53d57a70e3788e52 /klippy/extras/ad5206.py | |
parent | 838da992e80808ad396a2a9afe119419935d9b56 (diff) | |
download | kutter-22487d95e9b9b0ada171c72df5f5fbb3f3985724.tar.gz kutter-22487d95e9b9b0ada171c72df5f5fbb3f3985724.tar.xz kutter-22487d95e9b9b0ada171c72df5f5fbb3f3985724.zip |
spicmds: Rework SPI message transmission
Improve the SPI message transmit system. Add support for bus speed
and bus mode. Add support for sending SPI messages on shutdown.
Signed-off-by: Petri Honkala <cruwaller@gmail.com>
Signed-off-by: Douglas Hammond <wizhippo@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras/ad5206.py')
-rw-r--r-- | klippy/extras/ad5206.py | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/klippy/extras/ad5206.py b/klippy/extras/ad5206.py index e5bc96d3..a4764464 100644 --- a/klippy/extras/ad5206.py +++ b/klippy/extras/ad5206.py @@ -11,21 +11,24 @@ class ad5206: enable_pin_params = ppins.lookup_pin('digital_out', enable_pin) if enable_pin_params['invert']: raise ppins.error("ad5206 can not invert pin") - self.mcu = enable_pin_params['chip'] - self.pin = enable_pin_params['pin'] - self.mcu.add_config_object(self) + mcu = enable_pin_params['chip'] + pin = enable_pin_params['pin'] scale = config.getfloat('scale', 1., above=0.) - self.channels = [None] * 6 - for i in range(len(self.channels)): + channels = [None]*6 + for i in range(len(channels)): val = config.getfloat('channel_%d' % (i+1,), None, minval=0., maxval=scale) if val is not None: - self.channels[i] = int(val * 256. / scale + .5) - def build_config(self): - for i, val in enumerate(self.channels): + channels[i] = int(val * 256. / scale + .5) + oid = mcu.create_oid() + mcu.add_config_cmd( + "config_spi oid=%d bus=%d pin=%s mode=%u rate=%u shutdown_msg=" % ( + oid, 0, pin, 0, 25000000)) + for i, val in enumerate(channels): if val is not None: - self.mcu.add_config_cmd( - "send_spi_message pin=%s msg=%02x%02x" % (self.pin, i, val)) + mcu.add_config_cmd( + "spi_send oid=%d data=%02x%02x" % (oid, i, val), + is_init=True) def load_config_prefix(config): return ad5206(config) |