Using a SAMD10 board running Seesaw connected to a CircuitPython board, run the following CircuitPython code:
import adafruit_seesaw.seesaw as seesaw
ss = seesaw.Seesaw(i2c, addr=0xXX)
ss.set_pwm_freq(5, 1000)
ss.analog_write(5, 127)
Observe that the PWM output works correctly on the pin 5 of the SAMD10 board.
Try to switch of the PWM output, run something like:
ss.set_pwm_freq(5, 0)
ss.analog_write(5, 0)
Expected
The PWM output stops completely (continuous low signal being output).
Actual
A 1Hz spike is emitted. I tried many combinations of calls, including trying ss.digital_write(5, False), without managing to stop that output completely (except by calling ss.sw_reset().
This is either a documentation problem (if there is a way to stop the output that I could not find) or, more probably, a software issue in the Seesaw firmware.
Steps to reproduce
Using a SAMD10 board running Seesaw connected to a CircuitPython board, run the following CircuitPython code:
Observe that the PWM output works correctly on the pin 5 of the SAMD10 board.
Try to switch of the PWM output, run something like:
Expected
The PWM output stops completely (continuous low signal being output).
Actual
A 1Hz spike is emitted. I tried many combinations of calls, including trying
ss.digital_write(5, False)
, without managing to stop that output completely (except by callingss.sw_reset()
.This is either a documentation problem (if there is a way to stop the output that I could not find) or, more probably, a software issue in the Seesaw firmware.