esp32-s2: Don't set PWMOut frequency to 0

FeatherS2 crashes if you set the PWMOut frequency to 0.
This change will raise `ValueError: Invalid PWM frequency` if the requested frequency is 0.
(Lifted from the atmel-samd port)
This commit is contained in:
Randall Bohn 2021-05-03 07:15:39 -06:00 committed by GitHub
parent e6dc3e4686
commit 2db113f191
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -128,7 +128,13 @@ pwmout_result_t common_hal_pwmio_pwmout_construct(pwmio_pwmout_obj_t *self,
if (ledc_channel_config(&(self->chan_handle))) { if (ledc_channel_config(&(self->chan_handle))) {
return PWMOUT_INITIALIZATION_ERROR; return PWMOUT_INITIALIZATION_ERROR;
} }
// check the frequency -- 0 is not valid
// maybe also want to reject frequency > system_clock / 2 ??
if (frequency == 0) {
return PWMOUT_INVALID_FREQUENCY;
}
// Make reservations // Make reservations
reserved_timer_freq[timer_index] = frequency; reserved_timer_freq[timer_index] = frequency;
reserved_channels[channel_index] = timer_index; reserved_channels[channel_index] = timer_index;