From 77b1ddbcdb83b56155155a2539a69abb50962324 Mon Sep 17 00:00:00 2001 From: Angus Gratton Date: Mon, 12 Jul 2021 21:07:13 +1000 Subject: [PATCH] driver: Add some settling time when driving USB IOs high/low Otherwise seems to sometimes fail in release config --- components/driver/test/test_gpio.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/components/driver/test/test_gpio.c b/components/driver/test/test_gpio.c index 3098a4cb89..1ed38cc5c1 100644 --- a/components/driver/test/test_gpio.c +++ b/components/driver/test/test_gpio.c @@ -821,17 +821,21 @@ TEST_CASE("GPIO input and output of USB pins test", "[gpio]") // test pin gpio_set_level(pin, 0); // tested voltage is around 0v + esp_rom_delay_us(10); TEST_ASSERT_EQUAL_INT_MESSAGE(gpio_get_level(pin), 0, "get level error! the level should be low!"); vTaskDelay(1000 / portTICK_RATE_MS); gpio_set_level(pin, 1); + esp_rom_delay_us(10); // tested voltage is around 3.3v TEST_ASSERT_EQUAL_INT_MESSAGE(gpio_get_level(pin), 1, "get level error! the level should be high!"); vTaskDelay(1000 / portTICK_RATE_MS); gpio_set_level(pin, 0); + esp_rom_delay_us(10); // tested voltage is around 0v TEST_ASSERT_EQUAL_INT_MESSAGE(gpio_get_level(pin), 0, "get level error! the level should be low!"); vTaskDelay(1000 / portTICK_RATE_MS); gpio_set_level(pin, 1); + esp_rom_delay_us(10); // tested voltage is around 3.3v TEST_ASSERT_EQUAL_INT_MESSAGE(gpio_get_level(pin), 1, "get level error! the level should be high!"); }