Merge pull request #4253 from tannewt/rp2040_fix_pwm_reuse
Fix second shared PWM
This commit is contained in:
commit
2e6e91dc5c
@ -143,6 +143,7 @@ pwmout_result_t common_hal_pwmio_pwmout_construct(pwmio_pwmout_obj_t* self,
|
||||
common_hal_pwmio_pwmout_set_frequency(self, frequency);
|
||||
pwm_set_enabled(slice, true);
|
||||
} else {
|
||||
common_hal_pwmio_pwmout_set_frequency(self, frequency);
|
||||
common_hal_pwmio_pwmout_set_duty_cycle(self, duty);
|
||||
}
|
||||
|
||||
@ -163,7 +164,7 @@ void common_hal_pwmio_pwmout_deinit(pwmio_pwmout_obj_t* self) {
|
||||
uint32_t channel_mask = _mask(self->slice, self->channel);
|
||||
channel_use &= ~channel_mask;
|
||||
never_reset_channel &= ~channel_mask;
|
||||
uint32_t slice_mask = ((1 << CHANNELS_PER_SLICE) - 1) << (self->slice * CHANNELS_PER_SLICE + self->channel);
|
||||
uint32_t slice_mask = ((1 << CHANNELS_PER_SLICE) - 1) << (self->slice * CHANNELS_PER_SLICE);
|
||||
if ((channel_use & slice_mask) == 0) {
|
||||
target_slice_frequencies[self->slice] = 0;
|
||||
slice_variable_frequency &= ~(1 << self->slice);
|
||||
|
Loading…
x
Reference in New Issue
Block a user