forked from andreeuuetoa/litsimaja
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