mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
change(pm): change test_io_wakeup
This commit is contained in:
parent
f4532db8a2
commit
19f2149390
@ -344,6 +344,48 @@ static void register_gpio_control(void)
|
|||||||
ESP_ERROR_CHECK(esp_console_cmd_register(&cmd));
|
ESP_ERROR_CHECK(esp_console_cmd_register(&cmd));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static struct {
|
||||||
|
struct arg_end *end;
|
||||||
|
} wakeup_cause_args;
|
||||||
|
|
||||||
|
static int process_get_wakeup_cause(int argc, char **argv)
|
||||||
|
{
|
||||||
|
int nerrors = arg_parse(argc, argv, (void **) &wakeup_cause_args);
|
||||||
|
if (nerrors != 0) {
|
||||||
|
arg_print_errors(stderr, sleep_args.end, argv[0]);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (esp_sleep_get_wakeup_cause()) {
|
||||||
|
case ESP_SLEEP_WAKEUP_EXT1: {
|
||||||
|
printf("Wake up from EXT1\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case ESP_SLEEP_WAKEUP_GPIO: {
|
||||||
|
printf("Wake up from GPIO\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default: {
|
||||||
|
printf("Wakeup cause err\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void register_get_wakeup_cause(void)
|
||||||
|
{
|
||||||
|
wakeup_cause_args.end = arg_end(1);
|
||||||
|
|
||||||
|
const esp_console_cmd_t cmd = {
|
||||||
|
.command = "cause",
|
||||||
|
.help = "get the wakeup cause",
|
||||||
|
.hint = NULL,
|
||||||
|
.func = &process_get_wakeup_cause,
|
||||||
|
.argtable = &wakeup_cause_args
|
||||||
|
};
|
||||||
|
ESP_ERROR_CHECK(esp_console_cmd_register(&cmd));
|
||||||
|
}
|
||||||
|
|
||||||
void register_io_wakeup_cmd(void)
|
void register_io_wakeup_cmd(void)
|
||||||
{
|
{
|
||||||
register_sleep();
|
register_sleep();
|
||||||
@ -355,4 +397,5 @@ void register_io_wakeup_cmd(void)
|
|||||||
#if SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP
|
#if SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP
|
||||||
register_rtcio_wakeup();
|
register_rtcio_wakeup();
|
||||||
#endif
|
#endif
|
||||||
|
register_get_wakeup_cause();
|
||||||
}
|
}
|
||||||
|
@ -16,13 +16,13 @@ TEST_CONFIGS = [
|
|||||||
# ESP32S2: need to fix GPIO43 bug
|
# ESP32S2: need to fix GPIO43 bug
|
||||||
# ESP32S3: need to fix GPIO33, GPIO34 and GPIO43 bug
|
# ESP32S3: need to fix GPIO33, GPIO34 and GPIO43 bug
|
||||||
available_gpio_nums = {
|
available_gpio_nums = {
|
||||||
'esp32': [0, 2, 4, 5, 12, 13, 14, 15, 18, 19, 21, 22, 23, 27],
|
'esp32': [2, 4, 5, 12, 13, 14, 15, 18, 19, 21, 22, 23, 27],
|
||||||
'esp32s2': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 21, 33, 34, 35, 36, 37, 38, 39, 40, 42, 45],
|
'esp32s2': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 21, 33, 34, 35, 36, 37, 38, 39, 40, 42, 45],
|
||||||
'esp32s3': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 35, 36, 37, 39, 40, 42, 45, 46],
|
'esp32s3': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 35, 36, 37, 39, 40, 42, 45, 46],
|
||||||
'esp32c2': [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 18],
|
'esp32c2': [0, 1, 2, 3, 4, 5, 6, 7, 10, 18],
|
||||||
'esp32c3': [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 18, 19],
|
'esp32c3': [0, 1, 2, 3, 4, 5, 6, 7, 10, 18, 19],
|
||||||
'esp32c6': [0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23],
|
'esp32c6': [0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23],
|
||||||
'esp32h2': [0, 1, 2, 3, 4, 5, 9, 10, 11, 12, 22, 25, 26, 27],
|
'esp32h2': [0, 1, 2, 3, 4, 5, 10, 11, 12, 22, 25, 26, 27],
|
||||||
}
|
}
|
||||||
|
|
||||||
available_rtcio_nums = {
|
available_rtcio_nums = {
|
||||||
@ -80,6 +80,8 @@ def test_ext1_deepsleep(dut: Tuple[IdfDut, IdfDut]) -> None:
|
|||||||
|
|
||||||
sleep(2)
|
sleep(2)
|
||||||
|
|
||||||
|
wakee.write('cause')
|
||||||
|
wakee.expect('Wake up from EXT1', timeout=10)
|
||||||
wakee.write(f'ext1 -p {gpio_num} -d')
|
wakee.write(f'ext1 -p {gpio_num} -d')
|
||||||
wakee.expect(f'io_wakeup_num = {gpio_num}', timeout=10)
|
wakee.expect(f'io_wakeup_num = {gpio_num}', timeout=10)
|
||||||
|
|
||||||
@ -126,6 +128,8 @@ def test_rtcio_deepsleep(dut: Tuple[IdfDut, IdfDut]) -> None:
|
|||||||
|
|
||||||
sleep(2)
|
sleep(2)
|
||||||
|
|
||||||
|
wakee.write('cause')
|
||||||
|
wakee.expect('Wake up from GPIO', timeout=10)
|
||||||
wakee.write(f'rtcio -p {gpio_num} -d')
|
wakee.write(f'rtcio -p {gpio_num} -d')
|
||||||
wakee.expect(f'io_wakeup_num = {gpio_num}', timeout=10)
|
wakee.expect(f'io_wakeup_num = {gpio_num}', timeout=10)
|
||||||
|
|
||||||
@ -170,5 +174,8 @@ def test_gpio_wakeup_enable_lightsleep(dut: Tuple[IdfDut, IdfDut]) -> None:
|
|||||||
|
|
||||||
wakee.expect('esp_light_sleep_start', timeout=10)
|
wakee.expect('esp_light_sleep_start', timeout=10)
|
||||||
|
|
||||||
|
wakee.write('cause')
|
||||||
|
wakee.expect('Wake up from GPIO', timeout=10)
|
||||||
|
|
||||||
wakee.write(f'gpio -p {gpio_num} -d')
|
wakee.write(f'gpio -p {gpio_num} -d')
|
||||||
wakee.expect(f'io_wakeup_num = {gpio_num}', timeout=10)
|
wakee.expect(f'io_wakeup_num = {gpio_num}', timeout=10)
|
||||||
|
Loading…
Reference in New Issue
Block a user