# 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()