From d975bb1f2799a3a0b33ee073886354ca03e2e7f5 Mon Sep 17 00:00:00 2001 From: Jim Mussared Date: Thu, 8 Jun 2023 16:11:49 +1000 Subject: examples/hwapi: Rename uasyncio to asyncio. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared --- examples/hwapi/soft_pwm_asyncio.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 examples/hwapi/soft_pwm_asyncio.py (limited to 'examples/hwapi/soft_pwm_asyncio.py') diff --git a/examples/hwapi/soft_pwm_asyncio.py b/examples/hwapi/soft_pwm_asyncio.py new file mode 100644 index 0000000000..ae6c7340f6 --- /dev/null +++ b/examples/hwapi/soft_pwm_asyncio.py @@ -0,0 +1,28 @@ +# See original soft_pwm.py for detailed comments. +import asyncio +from hwconfig import LED + + +async def pwm_cycle(led, duty, cycles): + duty_off = 20 - duty + for i in range(cycles): + if duty: + led.value(1) + await asyncio.sleep_ms(duty) + if duty_off: + led.value(0) + await asyncio.sleep_ms(duty_off) + + +async def fade_in_out(LED): + while True: + # Fade in + for i in range(1, 21): + await pwm_cycle(LED, i, 2) + # Fade out + for i in range(20, 0, -1): + await pwm_cycle(LED, i, 2) + + +loop = asyncio.get_event_loop() +loop.run_until_complete(fade_in_out(LED)) -- cgit v1.2.3