fix(ledc): duty_start bit should wait for its self-clear before next set on esp32

This commit is contained in:
Song Ruo Jing
2025-08-14 19:07:06 +08:00
parent 5d20d91dac
commit a194b02246
14 changed files with 38 additions and 41 deletions
@@ -151,6 +151,12 @@ TEST_CASE("LEDC output idle level test", "[ledc]")
TEST_ESP_OK(ledc_stop(test_speed_mode, LEDC_CHANNEL_0, !current_level));
vTaskDelay(1000 / portTICK_PERIOD_MS);
TEST_ASSERT_EQUAL_INT32(!current_level, LEDC.channel_group[test_speed_mode].channel[LEDC_CHANNEL_0].conf0.idle_lv);
// check real output level over some period
gpio_input_enable(PULSE_IO);
for (int i = 0; i < 40; i++) {
TEST_ASSERT_EQUAL_INT32(!current_level, gpio_get_level(PULSE_IO));
esp_rom_delay_us(50);
}
}
TEST_CASE("LEDC iterate over all channel and timer configs", "[ledc]")