mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-10 04:43:33 +00:00
Merge branch 'refactor/rtcio_caps_responsibility' into 'master'
refactor(driver/rtcio): Re-wrap RTCIO APIs with more accurate soc_caps Closes IDF-7406 See merge request espressif/esp-idf!24522
This commit is contained in:
@@ -5,7 +5,7 @@ if(CONFIG_SOC_SDM_SUPPORTED)
|
||||
list(APPEND srcs "test_sigma_delta_legacy.c")
|
||||
endif()
|
||||
|
||||
if(CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED)
|
||||
if(CONFIG_SOC_RTCIO_PIN_COUNT GREATER 0)
|
||||
list(APPEND srcs "test_rtcio.c")
|
||||
endif()
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2021-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -17,12 +17,6 @@
|
||||
#include "esp_log.h"
|
||||
#include "soc/rtc_io_periph.h"
|
||||
|
||||
#define RTCIO_CHECK(condition) TEST_ASSERT_MESSAGE((condition == ESP_OK), "ret is not ESP_OK")
|
||||
#define RTCIO_VERIFY(condition, msg) TEST_ASSERT_MESSAGE((condition), msg)
|
||||
|
||||
#define TEST_COUNT 10
|
||||
static const char *TAG = "rtcio_test";
|
||||
|
||||
#ifdef CONFIG_IDF_TARGET_ESP32
|
||||
// The input-only rtcio pins do not have pull-up/down resistors (not support pull-up/down)
|
||||
#define RTCIO_SUPPORT_PU_PD(num) (rtc_io_desc[num].pullup != 0)
|
||||
@@ -117,8 +111,27 @@ const int s_test_map[TEST_GPIO_PIN_COUNT] = {
|
||||
GPIO_NUM_6, //GPIO6
|
||||
GPIO_NUM_7, //GPIO7
|
||||
};
|
||||
#elif CONFIG_IDF_TARGET_ESP32H2
|
||||
#define TEST_GPIO_PIN_COUNT 8
|
||||
const int s_test_map[TEST_GPIO_PIN_COUNT] = {
|
||||
GPIO_NUM_7, //GPIO7
|
||||
GPIO_NUM_8, //GPIO8
|
||||
GPIO_NUM_9, //GPIO9
|
||||
GPIO_NUM_10, //GPIO10
|
||||
GPIO_NUM_11, //GPIO11
|
||||
GPIO_NUM_12, //GPIO12
|
||||
GPIO_NUM_13, //GPIO13
|
||||
GPIO_NUM_14, //GPIO14
|
||||
};
|
||||
#endif
|
||||
|
||||
#if SOC_RTCIO_INPUT_OUTPUT_SUPPORTED
|
||||
static const char *TAG = "rtcio_test";
|
||||
|
||||
#define RTCIO_CHECK(condition) TEST_ASSERT_MESSAGE((condition == ESP_OK), "ret is not ESP_OK")
|
||||
|
||||
#define TEST_COUNT 10
|
||||
|
||||
/*
|
||||
* Test output/input function.
|
||||
*/
|
||||
@@ -325,10 +338,13 @@ TEST_CASE("RTCIO_output_hold_test", "[rtcio]")
|
||||
}
|
||||
ESP_LOGI(TAG, "RTCIO hold test over");
|
||||
}
|
||||
#endif //SOC_RTCIO_HOLD_SUPPORTED
|
||||
#endif //SOC_RTCIO_INPUT_OUTPUT_SUPPORTED
|
||||
|
||||
#if !CONFIG_IDF_TARGET_ESP32H2 // TODO: IDF-6268
|
||||
// It is not necessary to test every rtcio pin, it will take too much ci testing time for deep sleep
|
||||
// Only tests on s_test_map[TEST_RTCIO_DEEP_SLEEP_PIN_INDEX] pin
|
||||
// (ESP32: IO25, ESP32S2, S3: IO6, C6: IO5) these pads' default configuration is low level
|
||||
// (ESP32: IO25, ESP32S2, S3: IO6, C6: IO5, H2: IO12) these pads' default configuration is low level
|
||||
#define TEST_RTCIO_DEEP_SLEEP_PIN_INDEX 5
|
||||
|
||||
static void rtcio_deep_sleep_hold_test_first_stage(void)
|
||||
@@ -374,4 +390,4 @@ static void rtcio_deep_sleep_hold_test_second_stage(void)
|
||||
TEST_CASE_MULTIPLE_STAGES("RTCIO_deep_sleep_output_hold_test", "[rtcio]",
|
||||
rtcio_deep_sleep_hold_test_first_stage,
|
||||
rtcio_deep_sleep_hold_test_second_stage)
|
||||
#endif //SOC_RTCIO_HOLD_SUPPORTED
|
||||
#endif
|
||||
|
@@ -33,6 +33,7 @@ def test_legacy_sigma_delta(dut: IdfDut) -> None:
|
||||
@pytest.mark.esp32s2
|
||||
@pytest.mark.esp32s3
|
||||
@pytest.mark.esp32c6
|
||||
@pytest.mark.esp32h2
|
||||
@pytest.mark.generic
|
||||
@pytest.mark.parametrize('config', CONFIGS, indirect=True)
|
||||
def test_rtc_io(dut: IdfDut) -> None:
|
||||
|
Reference in New Issue
Block a user