You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was looking at this #23, then saw this issue as well. I was intending to use the PWM to control motor but I noticed that on oscilloscope that duty cycles are inaccurate. Same device, Xiao (SAMD21)
I'm trying to use pwm() on TC4 (D6 on the Seeduino Xiao), but the duty cycle is being calculated incorrectly in wiring_pwm.cpp line 271:
duty = mapResolution(duty, 10, 16);
For samd51 TCx and TCCx, as well as SAMD21 TCCx, it's using:
duty = map(duty, 0, (1<<PWM_API_RESOLUTION), 0, period);
The result is that the counter (in my case duty period = 2000) is being incorrectly.
I've changed the line to match the others and it works fine for my single use case.
@deanm1278 since this was in your original PR, any idea why TCx is treated differently?
The text was updated successfully, but these errors were encountered: