Skip to content

Commit 3bfd401

Browse files
committed
Annotated animations.py
1 parent 5dc8f89 commit 3bfd401

File tree

1 file changed

+28
-29
lines changed

1 file changed

+28
-29
lines changed

adafruit_ht16k33/animations.py

Lines changed: 28 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@
1616

1717
from time import sleep
1818

19+
try:
20+
from typing import List
21+
from adafruit_ht16k33.segments import Seg14x4
22+
except ImportError:
23+
pass
24+
25+
1926
N = 16384
2027
M = 8192
2128
L = 4096
@@ -45,11 +52,17 @@ class Animation:
4552
4653
"""
4754

48-
def __init__(self, display):
55+
def __init__(self, display: Seg14x4) -> None:
4956

5057
self._display = display
5158

52-
def animate(self, digits, bitmasks, delay=0.2, auto_write=True):
59+
def animate(
60+
self,
61+
digits: List[int],
62+
bitmasks: List[int],
63+
delay: float = 0.2,
64+
auto_write: bool = True,
65+
) -> None:
5366
"""Animate function
5467
5568
@@ -84,12 +97,10 @@ def animate(self, digits, bitmasks, delay=0.2, auto_write=True):
8497
self._display.show()
8598
sleep(delay)
8699

87-
def chase_forward_and_reverse(self, delay=0.2, cycles=5):
100+
def chase_forward_and_reverse(self, delay: float = 0.2, cycles: int = 5):
88101
"""Chase Forward and Reverse Animation"""
89102

90-
cy = 0
91-
92-
while cy < cycles:
103+
for _ in range(cycles):
93104
self.animate([0, 1, 2, 3], [A, 0], delay)
94105
self.animate([3], [B, C, D, 0], delay)
95106
self.animate([2, 1, 0], [D, 0], delay)
@@ -103,15 +114,12 @@ def chase_forward_and_reverse(self, delay=0.2, cycles=5):
103114
self.animate([2, 1], [G2, G1, 0], delay)
104115
self.animate([0], [H, 0], delay)
105116

106-
cy += 1
107-
108-
def prelude_to_spinners(self, delay=0.2, cycles=5):
117+
def prelude_to_spinners(self, delay: float = 0.2, cycles: int = 5) -> None:
109118
"""Prelude to Spinners Animation"""
110119

111-
cy = 0
112120
auto_write = False
113121

114-
while cy < cycles:
122+
for _ in range(cycles):
115123
self.animate([1, 2], [A], 0, auto_write)
116124
self._display.show()
117125
sleep(delay)
@@ -164,15 +172,12 @@ def prelude_to_spinners(self, delay=0.2, cycles=5):
164172
self._display.show()
165173
sleep(delay)
166174

167-
cy += 1
168-
169-
def spinners(self, delay=0.2, cycles=5):
175+
def spinners(self, delay: float = 0.2, cycles: int = 5) -> None:
170176
"""Spinners Animation"""
171177

172-
cy = 0
173178
auto_write = False
174179

175-
while cy < cycles:
180+
for _ in range(cycles):
176181
self.animate([0], [H + M], 0, auto_write)
177182
self.animate([1], [J + K], 0, auto_write)
178183
self.animate([2], [H + M], 0, auto_write)
@@ -194,16 +199,14 @@ def spinners(self, delay=0.2, cycles=5):
194199
self._display.show()
195200
sleep(delay)
196201

197-
cy += 1
198-
199202
self._display.fill(0)
200203

201-
def enclosed_spinners(self, delay=0.2, cycles=5):
204+
def enclosed_spinners(self, delay: float = 0.2, cycles: int = 5) -> None:
202205
"""Enclosed Spinner Animation"""
203-
cy = 0
206+
204207
auto_write = False
205208

206-
while cy < cycles:
209+
for _ in range(cycles):
207210
self.animate([0], [A + D + E + F + H + M], 0, auto_write)
208211
self.animate([1], [A + D + J + K], 0, auto_write)
209212
self.animate([2], [A + D + H + M], 0, auto_write)
@@ -225,30 +228,26 @@ def enclosed_spinners(self, delay=0.2, cycles=5):
225228
self._display.show()
226229
sleep(delay)
227230

228-
cy += 1
229-
230231
self._display.fill(0)
231232

232-
def count_down(self):
233+
def count_down(self) -> None:
233234
"""Countdown Method"""
235+
234236
auto_write = False
235237
numbers = [
236238
[A + B + C + D + G1 + G2 + N],
237239
[A + B + D + E + G1 + G2 + N],
238240
[B + C + N],
239241
]
240-
index = 0
241242

242243
self._display.fill(0)
243244

244-
while index < len(numbers):
245-
self.animate([index], numbers[index], 0, auto_write)
245+
for index, number in enumerate(numbers):
246+
self.animate([index], number, 0, auto_write)
246247
self._display.show()
247248
sleep(1)
248249
self._display.fill(0)
249250
sleep(0.5)
250251

251-
index += 1
252-
253252
sleep(1)
254253
self._display.fill(0)

0 commit comments

Comments
 (0)