From 8dac7f365648f878b6dddbc51193cb824394ba1b Mon Sep 17 00:00:00 2001 From: "Joseph T. Foley" Date: Sat, 4 Jul 2026 15:57:49 +0000 Subject: [PATCH] PWM sweep test working --- lgpio/pwm-test.py | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/lgpio/pwm-test.py b/lgpio/pwm-test.py index e44f005..2f05f1d 100755 --- a/lgpio/pwm-test.py +++ b/lgpio/pwm-test.py @@ -5,21 +5,21 @@ import time # Open GPIO chip (0 = /dev/gpiochip0, on Pi 5 gpiochip4 also possible) h = lgpio.gpiochip_open(0) - +# Hardware PWM on GPIO18 (pin 12) must be PWM-capable +pwm_pin = 18 +pwm_freq = 1000 try: - lgpio.gpio_claim_output(h, 16) # GPIO16 as output (MOTA2) - lgpio.gpio_write(h, 16, 0) # LOW + while True: + for pwm_level in range(0,100): + lgpio.tx_pwm(h, pwm_pin, pwm_freq, pwm_level) + pwm_level += 10 + time.sleep(0.05) + for pwm_level in range(100,0,-1): + lgpio.tx_pwm(h, pwm_pin, pwm_freq, pwm_level) + pwm_level += 10 + time.sleep(0.05) - # Hardware PWM on GPIO18 (pin 12) must be PWM-capable - # Frequency: 1000 Hz, duty cycle: 50% - lgpio.tx_pwm(h, 18, 1000, 50) - time.sleep(2) - - # Reduce duty cycle to 20% - lgpio.tx_pwm(h, 18, 1000, 20) - time.sleep(2) - - lgpio.tx_pwm(h, 18, 0, 0) # Stop PWM - + finally: + lgpio.tx_pwm(h, pwm_pin, 0, 0) # Stop PWM lgpio.gpiochip_close(h) # Always close!