diff options
author | Jim Mussared <jim.mussared@gmail.com> | 2023-06-08 16:11:49 +1000 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2023-06-19 18:36:54 +1000 |
commit | d975bb1f2799a3a0b33ee073886354ca03e2e7f5 (patch) | |
tree | cb259a4c5b36d112702898f543c6ff8d20015a99 /examples/hwapi/soft_pwm2_asyncio.py | |
parent | 9092909bf5e5f3347a93ea5146dd93320527956a (diff) | |
download | micropython-d975bb1f2799a3a0b33ee073886354ca03e2e7f5.tar.gz micropython-d975bb1f2799a3a0b33ee073886354ca03e2e7f5.zip |
examples/hwapi: Rename uasyncio to asyncio.
This work was funded through GitHub Sponsors.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
Diffstat (limited to 'examples/hwapi/soft_pwm2_asyncio.py')
-rw-r--r-- | examples/hwapi/soft_pwm2_asyncio.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/examples/hwapi/soft_pwm2_asyncio.py b/examples/hwapi/soft_pwm2_asyncio.py new file mode 100644 index 0000000000..6894990043 --- /dev/null +++ b/examples/hwapi/soft_pwm2_asyncio.py @@ -0,0 +1,31 @@ +# Like soft_pwm_asyncio.py, but fading 2 LEDs with different phase. +# Also see original soft_pwm.py. +import asyncio +from hwconfig import LED, LED2 + + +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.create_task(fade_in_out(LED)) +loop.call_later_ms(800, fade_in_out(LED2)) +loop.run_forever() |