From cda21457fefb827491de7a6bc3ddf6386bd46a22 Mon Sep 17 00:00:00 2001 From: Roy Hooper Date: Mon, 22 Jun 2020 20:59:31 -0400 Subject: [PATCH] fix sync when there are multiple different pixel objects involved --- adafruit_led_animation/group.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/adafruit_led_animation/group.py b/adafruit_led_animation/group.py index 0005170..a036a03 100644 --- a/adafruit_led_animation/group.py +++ b/adafruit_led_animation/group.py @@ -47,6 +47,8 @@ __version__ = "0.0.0-auto.0" __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation.git" +from adafruit_led_animation.animation import Animation + class AnimationGroup: """ @@ -158,7 +160,14 @@ def animate(self, show=True): if self._sync: result = self._members[0].animate(show=False) if result and show: - self._members[0].show() + last_strip = None + for member in self._members: + if isinstance(member, Animation): + if last_strip != member.pixel_object: + member.pixel_object.show() + last_strip = member.pixel_object + else: + member.show() return result return any([item.animate(show) for item in self._members])