Add second ticker program
This commit is contained in:
24
pyleds/program/siinus/HzTick.py
Normal file
24
pyleds/program/siinus/HzTick.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from lib.Program import Program
|
||||
import time
|
||||
|
||||
|
||||
def name():
|
||||
return '1Hz tick'
|
||||
|
||||
|
||||
# Tick seconds like analog clock
|
||||
class HzTick(Program):
|
||||
def run(self, args: [] = None) -> None:
|
||||
|
||||
while self.get_loop().status():
|
||||
second = time.localtime().tm_sec
|
||||
second_pixel = int(self._lm.count_pixels() / 60 * second)
|
||||
color_arr = args['color']
|
||||
for i in range(self._lm.count_pixels()):
|
||||
self._lm.set_pixel_color(i, (color_arr[0] << 16) | (color_arr[1] << 8) | color_arr[2])
|
||||
self._lm.set_pixel_color(second_pixel, 255)
|
||||
|
||||
self._lm.show()
|
||||
|
||||
# Needs accurate time calculation to tick exactly when real second is passed
|
||||
time.sleep(1)
|
||||
Reference in New Issue
Block a user