8000 set "interval" as named parameter with default value · safufude/lib-python@cf2ef6f · GitHub
[go: up one dir, main page]

Skip to content

Commit cf2ef6f

Browse files
author
amorozenko
committed
set "interval" as named parameter with default value
1 parent 392f2d4 commit cf2ef6f

File tree

3 files changed

+20
-16
lines changed

3 files changed

+20
-16
lines changed

TIMERS.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,13 @@ from blynktimer import Timer
2121
blynk_timer = Timer()
2222

2323
# run once timer that will fire after 1 sec
24-
@blynk_timer.register(1, run_once=True)
24+
@blynk_timer.register(interval=1, run_once=True)
2525
def your_run_once_function():
2626
print('Hello, World!')
2727

2828
# periodical timer that will fire each 5 sec
29-
@blynk_timer.register(5)
29+
# run_once flag by default is False
30+
@blynk_timer.register(interval=5)
3031
def your_periodical_function():
3132
print('Hello, Blynkers!')
3233

@@ -45,15 +46,17 @@ blynk_timer = Timer(no_timers_err=False)
4546

4647

4748
# register two timers for single function with different function parameters
48-
@blynk_timer.register(2, 'p1', 'p2', c=1, run_once=True)
49-
@blynk_timer.register(3, 'fp1', 'fp2', run_once=False)
49+
@blynk_timer.register('p1', 'p2', c=1, interval=2, run_once=True)
50+
@blynk_timer.register('fp1', 'fp2', interval=3, run_once=False)
5051
def function1(a, b, c=2):
5152
time.sleep(c)
5253
print('Function params: {} {} {}'.format(a, b, c))
5354

5455

5556
# simple function registration for further stop
56-
@blynk_timer.register(4, run_once=False)
57+
# interval default = 10 sec
58+
# run_once default is False
59+
@blynk_timer.register()
5760
def function2():
5861
print('Function2')
5962

blynktimer.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
WAIT_SEC = 0.05
1414
MAX_TIMERS = 16
15+
DEFAULT_INTERVAL = 10
1516

1617

1718
class TimerError(Exception):
@@ -29,7 +30,7 @@ def _get_func_name(self, obj):
2930
return self._get_func_name(obj.func)
3031
return obj.__name__
3132

32-
def register(blynk, interval, *args, run_once=False, **kwargs):
33+
def register(blynk, *args, interval=DEFAULT_INTERVAL, run_once=False, **kwargs):
3334
class Deco(object):
3435
def __init__(self, func):
3536
self.func = func

examples/08_blynk_timer.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -55,23 +55,23 @@
5555
import blynktimer
5656
import random
5757

58-
BLYNK_AUTH = 'YourAuthToken' # insert your Auth Token here
58+
BLYNK_AUTH = 'YourAuthToken' # insert your Auth Token here
5959
blynk = blynklib.Blynk(BLYNK_AUTH)
60-
timer = blynktimer.Timer() # create a new Timer instance
60+
61+
# create timers dispatcher instance
62+
timer = blynktimer.Timer()
6163

6264
WRITE_EVENT_PRINT_MSG = "[WRITE_VIRTUAL_WRITE] Pin: V{} Value: '{}'"
6365

6466

6567
# Code below: register two timers for different pins with different intervals
66-
# first num is delay interval in seconds
67-
# second num is function argument
68-
# run_once flag that allows run timers once or periodically
69-
@timer.register(4, 8, run_once=False)
70-
@timer.register(10, 9, run_once=False)
71-
def write_to_virtual_pin(pin_num):
68+
# run_once flag allows to run timers once or periodically
69+
@timer.register(vpin_num=8, interval=4, run_once=False)
70+
@timer.register(vpin_num=9, interval=7, run_once=False)
71+
def write_to_virtual_pin(vpin_num=1):
7272
value = random.randint(0, 20)
73-
print(WRITE_EVENT_PRINT_MSG.format(pin_num, value))
74-
blynk.virtual_write(pin_num, value)
73+
print(WRITE_EVENT_PRINT_MSG.format(vpin_num, value))
74+
blynk.virtual_write(vpin_num, value)
7575

7676

7777
while True:

0 commit comments

Comments
 (0)
0