1# See original soft_pwm.py for detailed comments. 2import uasyncio 3from hwconfig import LED 4 5 6async def pwm_cycle(led, duty, cycles): 7 duty_off = 20 - duty 8 for i in range(cycles): 9 if duty: 10 led.value(1) 11 await uasyncio.sleep_ms(duty) 12 if duty_off: 13 led.value(0) 14 await uasyncio.sleep_ms(duty_off) 15 16 17async def fade_in_out(LED): 18 while True: 19 # Fade in 20 for i in range(1, 21): 21 await pwm_cycle(LED, i, 2) 22 # Fade out 23 for i in range(20, 0, -1): 24 await pwm_cycle(LED, i, 2) 25 26 27loop = uasyncio.get_event_loop() 28loop.run_until_complete(fade_in_out(LED)) 29