aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/tmc2208.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2019-06-18 17:58:20 -0400
committerKevin O'Connor <kevin@koconnor.net>2019-06-18 17:58:20 -0400
commit3f79831485877fc02fd7ddc1466a031bfa4ab6b8 (patch)
tree149ba94d0602fd5cd9b717f15de1390b4283e668 /klippy/extras/tmc2208.py
parent274857357e8801368ba9894340ed2deb3fb29423 (diff)
downloadkutter-3f79831485877fc02fd7ddc1466a031bfa4ab6b8.tar.gz
kutter-3f79831485877fc02fd7ddc1466a031bfa4ab6b8.tar.xz
kutter-3f79831485877fc02fd7ddc1466a031bfa4ab6b8.zip
tmc2208: Make sure each analog mux config is unique
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras/tmc2208.py')
-rw-r--r--klippy/extras/tmc2208.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/klippy/extras/tmc2208.py b/klippy/extras/tmc2208.py
index 8f68b576..0c4ef806 100644
--- a/klippy/extras/tmc2208.py
+++ b/klippy/extras/tmc2208.py
@@ -238,6 +238,7 @@ class MCU_TMC_uart_bitbang:
if select_pins_desc is not None:
self.analog_mux = MCU_analog_mux(self.mcu, self.cmd_queue,
select_pins_desc)
+ self.instances = {}
self.tmcuart_send_cmd = None
self.mcu.register_config_callback(self.build_config)
def build_config(self):
@@ -256,6 +257,10 @@ class MCU_TMC_uart_bitbang:
instance_id = None
if self.analog_mux is not None:
instance_id = self.analog_mux.get_instance_id(select_pins_desc)
+ if instance_id in self.instances:
+ raise self.mcu.get_printer().config_error(
+ "Each TMC uart must have unique select pins polarity")
+ self.instances[instance_id] = True
return instance_id
def _calc_crc8(self, data):
# Generate a CRC8-ATM value for a bytearray