non-blocking click handle

This commit is contained in:
Devaev Maxim
2018-11-28 22:35:31 +03:00
parent 6c2d8900f5
commit fe4afd7623
2 changed files with 10 additions and 4 deletions

View File

@@ -66,7 +66,13 @@ class Atx: # pylint: disable=too-many-instance-attributes
get_logger().info("Clicked reset")
async def __click(self, pin: int, delay: float) -> None:
with self.__region:
self.__region.enter()
asyncio.ensure_future(self.__inner_click(pin, delay))
async def __inner_click(self, pin: int, delay: float) -> None:
try:
for flag in (True, False):
gpio.write(pin, flag)
await asyncio.sleep(delay)
finally:
self.__region.exit()