def handle(self, button_value): if button_value == 0: if self.iostate is True: self.iostate = False self.relay.off() else: self.iostate = True self.relay.on() if self.state == self.STATE_BUTTON_START: self.start_time = pyb.millis() self.state = self.STATE_BUTTON_COLLECT self.events = list() self.timer = esp.os_timer(lambda timer: self.timer_finish(), period=self.period, repeat=False) elapsed = 0 else: elapsed = pyb.elapsed_millis(self.start_time) self.events.append((button_value, elapsed))
def blink(self, period=100): self.blink_cancel() self.timer = esp.os_timer(lambda timer: self.timer_target(), period=period)
def __init__(self, name, port, period, task=None, mutex=None): self.name = name self.dht = esp.dht(port, task=task, mutex=mutex, spinwait=True) self.timer = esp.os_timer(lambda timer: self.dht.recv(), period=period)