mirror of
https://github.com/espressif/esp-idf
synced 2025-03-10 09:39:10 -04:00
Merge branch 'contrib/github_pr_11810_v5.0' into 'release/v5.0'
ledc.c: Fix frequency calculation. (GitHub PR) (v5.0) See merge request espressif/esp-idf!24698
This commit is contained in:
commit
c36f5fb77a
@ -840,7 +840,7 @@ uint32_t ledc_get_freq(ledc_mode_t speed_mode, ledc_timer_t timer_num)
|
|||||||
ESP_LOGW(LEDC_TAG, "LEDC timer not configured, call ledc_timer_config to set timer frequency");
|
ESP_LOGW(LEDC_TAG, "LEDC timer not configured, call ledc_timer_config to set timer frequency");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return ((uint64_t) src_clk_freq << 8) / precision / clock_divider;
|
return (((uint64_t) src_clk_freq << LEDC_LL_FRACTIONAL_BITS) + (uint64_t) precision * clock_divider / 2) / precision / clock_divider;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void ledc_calc_fade_end_channel(uint32_t *fade_end_status, uint32_t *channel)
|
static inline void ledc_calc_fade_end_channel(uint32_t *fade_end_status, uint32_t *channel)
|
||||||
|
@ -478,7 +478,7 @@ static void timer_frequency_test(ledc_channel_t channel, ledc_timer_bit_t timer_
|
|||||||
TEST_ESP_OK(ledc_timer_config(&ledc_time_config));
|
TEST_ESP_OK(ledc_timer_config(&ledc_time_config));
|
||||||
frequency_set_get(ledc_ch_config.speed_mode, ledc_ch_config.timer_sel, 100, 100, 20);
|
frequency_set_get(ledc_ch_config.speed_mode, ledc_ch_config.timer_sel, 100, 100, 20);
|
||||||
frequency_set_get(ledc_ch_config.speed_mode, ledc_ch_config.timer_sel, 5000, 5000, 50);
|
frequency_set_get(ledc_ch_config.speed_mode, ledc_ch_config.timer_sel, 5000, 5000, 50);
|
||||||
frequency_set_get(ledc_ch_config.speed_mode, ledc_ch_config.timer_sel, 9000, 8992, 50);
|
frequency_set_get(ledc_ch_config.speed_mode, ledc_ch_config.timer_sel, 9000, 8993, 50);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("LEDC set and get frequency", "[ledc][timeout=60][ignore]")
|
TEST_CASE("LEDC set and get frequency", "[ledc][timeout=60][ignore]")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user