Component pca9685 - phase_begin always set to zero (#8379)

Co-authored-by: Clyde Stubbs <2366188+clydebarrow@users.noreply.github.com>
This commit is contained in:
uae007 2025-05-01 02:27:59 +00:00 committed by GitHub
parent 4ec8414050
commit 71f81d2f18
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -101,8 +101,9 @@ void PCA9685Output::loop() {
return;
const uint16_t num_channels = this->max_channel_ - this->min_channel_ + 1;
const uint16_t phase_delta_begin = 4096 / num_channels;
for (uint8_t channel = this->min_channel_; channel <= this->max_channel_; channel++) {
uint16_t phase_begin = uint16_t(channel - this->min_channel_) / num_channels * 4096;
uint16_t phase_begin = (channel - this->min_channel_) * phase_delta_begin;
uint16_t phase_end;
uint16_t amount = this->pwm_amounts_[channel];
if (amount == 0) {