aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2019-08-06 22:45:02 -0400
committerKevin O'Connor <kevin@koconnor.net>2019-08-06 22:49:05 -0400
commit9445e1d555bbdf026dc30325d0cb76e8d91515d0 (patch)
treea462f36238b2e90a3c80fbfd959ae17bdf20460f
parent115b8881063dee121ef65a4ee75365d3908fbb02 (diff)
downloadkutter-9445e1d555bbdf026dc30325d0cb76e8d91515d0.tar.gz
kutter-9445e1d555bbdf026dc30325d0cb76e8d91515d0.tar.xz
kutter-9445e1d555bbdf026dc30325d0cb76e8d91515d0.zip
dotstar: Allow any number of chips to be daisy chained
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--klippy/extras/dotstar.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/klippy/extras/dotstar.py b/klippy/extras/dotstar.py
index 9c1e5e6b..d5f5d082 100644
--- a/klippy/extras/dotstar.py
+++ b/klippy/extras/dotstar.py
@@ -22,7 +22,7 @@ class PrinterDotstar:
clock_pin_params['pin'])
self.spi = bus.MCU_SPI(mcu, None, None, 0, 500000, sw_spi_pins)
# Initial color
- self.chain_count = config.getint('chain_count', 1, minval=1, maxval=12)
+ self.chain_count = config.getint('chain_count', 1, minval=1)
red = config.getfloat('initial_RED', 0., minval=0., maxval=1.)
green = config.getfloat('initial_GREEN', 0., minval=0., maxval=1.)
blue = config.getfloat('initial_BLUE', 0., minval=0., maxval=1.)
@@ -38,8 +38,10 @@ class PrinterDotstar:
self.cmd_SET_LED,
desc=self.cmd_SET_LED_help)
def send_data(self, minclock=0):
- self.spi.spi_send(self.color_data, minclock=minclock,
- reqclock=BACKGROUND_PRIORITY_CLOCK)
+ data = self.color_data
+ for d in [data[i:i+20] for i in range(0, len(data), 20)]:
+ self.spi.spi_send(d, minclock=minclock,
+ reqclock=BACKGROUND_PRIORITY_CLOCK)
cmd_SET_LED_help = "Set the color of an LED"
def cmd_SET_LED(self, params):
# Parse parameters