pylint fixes
This commit is contained in:
parent
5ca431625d
commit
4b223c310b
5 changed files with 30 additions and 11 deletions
|
|
@ -7,7 +7,7 @@ Adapted From `adafruit_led_animation.animation.rainbow`
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from adafruit_led_animation.animation import Animation
|
from adafruit_led_animation.animation import Animation
|
||||||
from adafruit_led_animation.color import BLACK, colorwheel
|
from adafruit_led_animation.color import colorwheel
|
||||||
from adafruit_led_animation import MS_PER_SECOND, monotonic_ms
|
from adafruit_led_animation import MS_PER_SECOND, monotonic_ms
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -30,7 +30,8 @@ class RainbowSweepAnimation(Animation):
|
||||||
DIRECTION_END_TO_START = 1
|
DIRECTION_END_TO_START = 1
|
||||||
# pylint: disable=too-many-arguments
|
# pylint: disable=too-many-arguments
|
||||||
def __init__(
|
def __init__(
|
||||||
self, pixel_object, speed, color, sweep_speed=0.3, period=1, name=None, sweep_direction=DIRECTION_START_TO_END
|
self, pixel_object, speed, color, sweep_speed=0.3, period=1,
|
||||||
|
name=None, sweep_direction=DIRECTION_START_TO_END
|
||||||
):
|
):
|
||||||
super().__init__(pixel_object, speed, color, name=name)
|
super().__init__(pixel_object, speed, color, name=name)
|
||||||
self._period = period
|
self._period = period
|
||||||
|
|
@ -112,7 +113,8 @@ class RainbowSweepAnimation(Animation):
|
||||||
# if end to start direction
|
# if end to start direction
|
||||||
if self.direction == self.DIRECTION_END_TO_START:
|
if self.direction == self.DIRECTION_END_TO_START:
|
||||||
# set the current pixels at the end of the strand to the specified color
|
# set the current pixels at the end of the strand to the specified color
|
||||||
self.pixel_object[self.sweep_index:] = [self.color] * (len(self.pixel_object) - self.sweep_index)
|
self.pixel_object[self.sweep_index:] = (
|
||||||
|
[self.color] * (len(self.pixel_object) - self.sweep_index))
|
||||||
|
|
||||||
# if start to end direction
|
# if start to end direction
|
||||||
elif self.direction == self.DIRECTION_START_TO_END:
|
elif self.direction == self.DIRECTION_START_TO_END:
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,12 @@
|
||||||
"""
|
"""
|
||||||
SnakeAnimation helper class
|
SnakeAnimation helper class
|
||||||
"""
|
"""
|
||||||
|
import random
|
||||||
from micropython import const
|
from micropython import const
|
||||||
|
|
||||||
from adafruit_led_animation.animation import Animation
|
from adafruit_led_animation.animation import Animation
|
||||||
from adafruit_led_animation.grid import PixelGrid, HORIZONTAL
|
from adafruit_led_animation.grid import PixelGrid, HORIZONTAL
|
||||||
import random
|
|
||||||
|
|
||||||
|
|
||||||
class SnakeAnimation(Animation):
|
class SnakeAnimation(Animation):
|
||||||
|
|
@ -34,7 +35,8 @@ class SnakeAnimation(Animation):
|
||||||
self.snake_length = snake_length
|
self.snake_length = snake_length
|
||||||
|
|
||||||
# create a PixelGrid helper to access our strand as a 2D grid
|
# create a PixelGrid helper to access our strand as a 2D grid
|
||||||
self.pixel_grid = PixelGrid(pixel_object, width, height, orientation=HORIZONTAL, alternating=False)
|
self.pixel_grid = PixelGrid(pixel_object, width, height,
|
||||||
|
orientation=HORIZONTAL, alternating=False)
|
||||||
|
|
||||||
# size variables
|
# size variables
|
||||||
self.width = width
|
self.width = width
|
||||||
|
|
@ -43,6 +45,8 @@ class SnakeAnimation(Animation):
|
||||||
# list that will hold locations of snake segments
|
# list that will hold locations of snake segments
|
||||||
self.snake_pixels = []
|
self.snake_pixels = []
|
||||||
|
|
||||||
|
self.direction = None
|
||||||
|
|
||||||
# initialize the snake
|
# initialize the snake
|
||||||
self._new_snake()
|
self._new_snake()
|
||||||
|
|
||||||
|
|
@ -75,7 +79,8 @@ class SnakeAnimation(Animation):
|
||||||
returns true if the snake can move in the given direction
|
returns true if the snake can move in the given direction
|
||||||
"""
|
"""
|
||||||
# location of the next tile if we would move that direction
|
# location of the next tile if we would move that direction
|
||||||
next_tile = tuple(map(sum, zip(SnakeAnimation.DIRECTION_OFFSETS[direction], self.snake_pixels[0])))
|
next_tile = tuple(map(sum, zip(
|
||||||
|
SnakeAnimation.DIRECTION_OFFSETS[direction], self.snake_pixels[0])))
|
||||||
|
|
||||||
# if the tile is one of the snake segments
|
# if the tile is one of the snake segments
|
||||||
if next_tile in self.snake_pixels:
|
if next_tile in self.snake_pixels:
|
||||||
|
|
@ -111,7 +116,8 @@ class SnakeAnimation(Animation):
|
||||||
# loop over the copied list of directions to check
|
# loop over the copied list of directions to check
|
||||||
while len(directions_to_check) > 0:
|
while len(directions_to_check) > 0:
|
||||||
# choose a random one from the list and pop it out of the list
|
# choose a random one from the list and pop it out of the list
|
||||||
possible_direction = directions_to_check.pop(random.randint(0, len(directions_to_check)-1))
|
possible_direction = directions_to_check.pop(
|
||||||
|
random.randint(0, len(directions_to_check)-1))
|
||||||
# if we can move the chosen direction
|
# if we can move the chosen direction
|
||||||
if self._can_move(possible_direction):
|
if self._can_move(possible_direction):
|
||||||
# return the chosen direction
|
# return the chosen direction
|
||||||
|
|
@ -140,7 +146,8 @@ class SnakeAnimation(Animation):
|
||||||
self.direction = self._choose_direction()
|
self.direction = self._choose_direction()
|
||||||
|
|
||||||
# the location of the next tile where the head of the snake will move to
|
# the location of the next tile where the head of the snake will move to
|
||||||
next_tile = tuple(map(sum, zip(SnakeAnimation.DIRECTION_OFFSETS[self.direction], self.snake_pixels[0])))
|
next_tile = tuple(map(sum, zip(
|
||||||
|
SnakeAnimation.DIRECTION_OFFSETS[self.direction], self.snake_pixels[0])))
|
||||||
|
|
||||||
# insert the next tile at list index 0
|
# insert the next tile at list index 0
|
||||||
self.snake_pixels.insert(0, next_tile)
|
self.snake_pixels.insert(0, next_tile)
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,8 @@ class SweepAnimation(Animation):
|
||||||
# boolean indicating whether we're currently sweeping LEDs on or off
|
# boolean indicating whether we're currently sweeping LEDs on or off
|
||||||
self.sweeping_on = True
|
self.sweeping_on = True
|
||||||
|
|
||||||
|
self.cycle_complete = False
|
||||||
|
|
||||||
# This animation supports the cycle complete callback
|
# This animation supports the cycle complete callback
|
||||||
on_cycle_complete_supported = True
|
on_cycle_complete_supported = True
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,4 +21,4 @@ zipper = ZipperAnimation(pixels, speed=0.1, color=PINK, alternate_color=JADE)
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
# call animation to show the next animation frame
|
# call animation to show the next animation frame
|
||||||
zipper.animate()
|
zipper.animate()
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ from adafruit_led_animation.animation import Animation
|
||||||
|
|
||||||
class ZipperAnimation(Animation):
|
class ZipperAnimation(Animation):
|
||||||
|
|
||||||
def __init__(self, pixel_object, speed, color):
|
def __init__(self, pixel_object, speed, color, alternate_color=None):
|
||||||
"""
|
"""
|
||||||
Lights up every other LED from each ends of the strand, passing each
|
Lights up every other LED from each ends of the strand, passing each
|
||||||
other in the middle and resulting in the full strand being lit at the
|
other in the middle and resulting in the full strand being lit at the
|
||||||
|
|
@ -23,6 +23,12 @@ class ZipperAnimation(Animation):
|
||||||
# Call super class initialization
|
# Call super class initialization
|
||||||
super().__init__(pixel_object, speed, color)
|
super().__init__(pixel_object, speed, color)
|
||||||
|
|
||||||
|
# if alternate color is None then use single color
|
||||||
|
if alternate_color is None:
|
||||||
|
self.alternate_color = color
|
||||||
|
else:
|
||||||
|
self.alternate_color = alternate_color
|
||||||
|
|
||||||
# custom variable to store the current step of the animation
|
# custom variable to store the current step of the animation
|
||||||
self.current_step = 0
|
self.current_step = 0
|
||||||
|
|
||||||
|
|
@ -30,6 +36,8 @@ class ZipperAnimation(Animation):
|
||||||
# length in steps.
|
# length in steps.
|
||||||
self.last_step = len(pixel_object) // 2
|
self.last_step = len(pixel_object) // 2
|
||||||
|
|
||||||
|
self.cycle_complete = False
|
||||||
|
|
||||||
# This animation supports the cycle complete callback
|
# This animation supports the cycle complete callback
|
||||||
on_cycle_complete_supported = True
|
on_cycle_complete_supported = True
|
||||||
|
|
||||||
|
|
@ -46,7 +54,7 @@ class ZipperAnimation(Animation):
|
||||||
self.pixel_object[self.current_step * 2] = self.color
|
self.pixel_object[self.current_step * 2] = self.color
|
||||||
|
|
||||||
# Turn on 1 odd indexed pixel starting from the end of the strand
|
# Turn on 1 odd indexed pixel starting from the end of the strand
|
||||||
self.pixel_object[-(self.current_step * 2) - 1] = self.color
|
self.pixel_object[-(self.current_step * 2) - 1] = self.alternate_color
|
||||||
except IndexError:
|
except IndexError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue