Browse Source

nrf/modules/machine/soft_pwm: Ensure duty_width is always valid.

Signed-off-by: Andrew Leech <andrew@alelec.net>
pull/15158/head
Andrew Leech 5 months ago
committed by Damien George
parent
commit
5e80416e6d
  1. 2
      ports/nrf/modules/machine/soft_pwm.c

2
ports/nrf/modules/machine/soft_pwm.c

@ -199,6 +199,8 @@ static void machine_soft_pwm_start(machine_pwm_obj_t *self) {
duty_width = self->duty * DUTY_FULL_SCALE / 65536;
} else if (self->duty_mode == DUTY_NS) {
duty_width = (uint64_t)self->duty * self->freq * DUTY_FULL_SCALE / 1000000000ULL;
} else {
mp_raise_ValueError(MP_ERROR_TEXT("invalid duty mode"));
}
pwm_set_duty_cycle(self->pwm_pin, duty_width);
}

Loading…
Cancel
Save