16
16
17
17
from time import sleep
18
18
19
+ try :
20
+ from typing import List
21
+ from adafruit_ht16k33 .segments import Seg14x4
22
+ except ImportError :
23
+ pass
24
+
25
+
19
26
N = 16384
20
27
M = 8192
21
28
L = 4096
@@ -45,11 +52,17 @@ class Animation:
45
52
46
53
"""
47
54
48
- def __init__ (self , display ) :
55
+ def __init__ (self , display : Seg14x4 ) -> None :
49
56
50
57
self ._display = display
51
58
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 :
53
66
"""Animate function
54
67
55
68
@@ -84,12 +97,10 @@ def animate(self, digits, bitmasks, delay=0.2, auto_write=True):
84
97
self ._display .show ()
85
98
sleep (delay )
86
99
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 ):
88
101
"""Chase Forward and Reverse Animation"""
89
102
90
- cy = 0
91
-
92
- while cy < cycles :
103
+ for _ in range (cycles ):
93
104
self .animate ([0 , 1 , 2 , 3 ], [A , 0 ], delay )
94
105
self .animate ([3 ], [B , C , D , 0 ], delay )
95
106
self .animate ([2 , 1 , 0 ], [D , 0 ], delay )
@@ -103,15 +114,12 @@ def chase_forward_and_reverse(self, delay=0.2, cycles=5):
103
114
self .animate ([2 , 1 ], [G2 , G1 , 0 ], delay )
104
115
self .animate ([0 ], [H , 0 ], delay )
105
116
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 :
109
118
"""Prelude to Spinners Animation"""
110
119
111
- cy = 0
112
120
auto_write = False
113
121
114
- while cy < cycles :
122
+ for _ in range ( cycles ) :
115
123
self .animate ([1 , 2 ], [A ], 0 , auto_write )
116
124
self ._display .show ()
117
125
sleep (delay )
@@ -164,15 +172,12 @@ def prelude_to_spinners(self, delay=0.2, cycles=5):
164
172
self ._display .show ()
165
173
sleep (delay )
166
174
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 :
170
176
"""Spinners Animation"""
171
177
172
- cy = 0
173
178
auto_write = False
174
179
175
- while cy < cycles :
180
+ for _ in range ( cycles ) :
176
181
self .animate ([0 ], [H + M ], 0 , auto_write )
177
182
self .animate ([1 ], [J + K ], 0 , auto_write )
178
183
self .animate ([2 ], [H + M ], 0 , auto_write )
@@ -194,16 +199,14 @@ def spinners(self, delay=0.2, cycles=5):
194
199
self ._display .show ()
195
200
sleep (delay )
196
201
197
- cy += 1
198
-
199
202
self ._display .fill (0 )
200
203
201
- def enclosed_spinners (self , delay = 0.2 , cycles = 5 ) :
204
+ def enclosed_spinners (self , delay : float = 0.2 , cycles : int = 5 ) -> None :
202
205
"""Enclosed Spinner Animation"""
203
- cy = 0
206
+
204
207
auto_write = False
205
208
206
- while cy < cycles :
209
+ for _ in range ( cycles ) :
207
210
self .animate ([0 ], [A + D + E + F + H + M ], 0 , auto_write )
208
211
self .animate ([1 ], [A + D + J + K ], 0 , auto_write )
209
212
self .animate ([2 ], [A + D + H + M ], 0 , auto_write )
@@ -225,30 +228,26 @@ def enclosed_spinners(self, delay=0.2, cycles=5):
225
228
self ._display .show ()
226
229
sleep (delay )
227
230
228
- cy += 1
229
-
230
231
self ._display .fill (0 )
231
232
232
- def count_down (self ):
233
+ def count_down (self ) -> None :
233
234
"""Countdown Method"""
235
+
234
236
auto_write = False
235
237
numbers = [
236
238
[A + B + C + D + G1 + G2 + N ],
237
239
[A + B + D + E + G1 + G2 + N ],
238
240
[B + C + N ],
239
241
]
240
- index = 0
241
242
242
243
self ._display .fill (0 )
243
244
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 )
246
247
self ._display .show ()
247
248
sleep (1 )
248
249
self ._display .fill (0 )
249
250
sleep (0.5 )
250
251
251
- index += 1
252
-
253
252
sleep (1 )
254
253
self ._display .fill (0 )
0 commit comments