Compare commits
2 Commits
fb617a5eec
...
dcd0246843
Author | SHA1 | Date |
---|---|---|
David Thurstenson | dcd0246843 | |
David Thurstenson | 5637ec322a |
|
@ -111,18 +111,34 @@ def countdown(
|
||||||
|
|
||||||
# Do update stuff
|
# Do update stuff
|
||||||
|
|
||||||
# Loop over every pixel ID that should be lit
|
# Calculate the current position
|
||||||
# based on the elapsed time
|
current_position = round(num_pixels * ((seconds - current_time) / seconds))
|
||||||
for pixel in range(round(num_pixels * ((seconds - current_time) / seconds))):
|
|
||||||
# Set pixel color stuff
|
# Catch a couple of special cases
|
||||||
if current_time < 0:
|
if current_position == 0:
|
||||||
pass
|
# Light the first LED when the timer starts
|
||||||
elif current_time <= redtime:
|
# regardless of other factors
|
||||||
colorizer(pixel, colormode, red=True)
|
colorizer(0, colormode)
|
||||||
elif current_time <= yellowtime:
|
elif current_position == num_pixels and current_time > 0:
|
||||||
colorizer(pixel, colormode, yellow=True)
|
# If current_position calls for *all*
|
||||||
else:
|
# pixels to be lit, and the timer
|
||||||
colorizer(pixel, colormode)
|
# hasn't expired yet, don't do anything.
|
||||||
|
# This should delay the last pixel from
|
||||||
|
# lighting until the timer has fully elapsed
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
# Loop over every pixel ID that should be lit
|
||||||
|
# based on the elapsed time
|
||||||
|
for pixel in range(current_position):
|
||||||
|
# Set pixel color stuff
|
||||||
|
if current_time < 0:
|
||||||
|
pass
|
||||||
|
elif current_time <= redtime:
|
||||||
|
colorizer(pixel, colormode, red=True)
|
||||||
|
elif current_time <= yellowtime:
|
||||||
|
colorizer(pixel, colormode, yellow=True)
|
||||||
|
else:
|
||||||
|
colorizer(pixel, colormode)
|
||||||
|
|
||||||
# Display the result IRL
|
# Display the result IRL
|
||||||
pixels.show()
|
pixels.show()
|
||||||
|
@ -131,9 +147,13 @@ def countdown(
|
||||||
current_time -= update_interval
|
current_time -= update_interval
|
||||||
|
|
||||||
# Massage the current_time seconds count into human-readable minutes:seconds
|
# Massage the current_time seconds count into human-readable minutes:seconds
|
||||||
display_time = divmod(abs(current_time), 60)
|
display_time = str(datetime.timedelta(seconds=abs(current_time)))[3:]
|
||||||
if current_time < 0:
|
if current_time < 0:
|
||||||
display_time_sign = "-"
|
display_time_sign = "-"
|
||||||
else:
|
else:
|
||||||
display_time_sign = " "
|
display_time_sign = " "
|
||||||
print("current time: " + display_time_sign + str(display_time[0]) + ":" + str(display_time[1]))
|
print("current time: " + display_time_sign + display_time)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue