From 1ca8de6e89c63d9394da46469a0c6b0c2622cf05 Mon Sep 17 00:00:00 2001 From: morris Date: Mon, 8 Apr 2024 15:54:58 +0800 Subject: [PATCH] feat(gptimer): check the alarm config is not in flash related to https://github.com/espressif/esp-idf/issues/13543 --- components/esp_driver_gptimer/src/gptimer.c | 3 +++ components/esp_driver_rmt/test_apps/rmt/main/test_rmt_rx.c | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/esp_driver_gptimer/src/gptimer.c b/components/esp_driver_gptimer/src/gptimer.c index 447aebfbbf..f1d4af4664 100644 --- a/components/esp_driver_gptimer/src/gptimer.c +++ b/components/esp_driver_gptimer/src/gptimer.c @@ -272,6 +272,9 @@ esp_err_t gptimer_set_alarm_action(gptimer_handle_t timer, const gptimer_alarm_c { ESP_RETURN_ON_FALSE_ISR(timer, ESP_ERR_INVALID_ARG, TAG, "invalid argument"); if (config) { +#if CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM + ESP_RETURN_ON_FALSE_ISR(esp_ptr_internal(config), ESP_ERR_INVALID_ARG, TAG, "alarm config struct not in internal RAM"); +#endif // When auto_reload is enabled, alarm_count should not be equal to reload_count bool valid_auto_reload = !config->flags.auto_reload_on_alarm || config->alarm_count != config->reload_count; ESP_RETURN_ON_FALSE_ISR(valid_auto_reload, ESP_ERR_INVALID_ARG, TAG, "reload count can't equal to alarm count"); diff --git a/components/esp_driver_rmt/test_apps/rmt/main/test_rmt_rx.c b/components/esp_driver_rmt/test_apps/rmt/main/test_rmt_rx.c index ee9fd6ccf7..b418b39ca1 100644 --- a/components/esp_driver_rmt/test_apps/rmt/main/test_rmt_rx.c +++ b/components/esp_driver_rmt/test_apps/rmt/main/test_rmt_rx.c @@ -334,9 +334,6 @@ static void test_rmt_receive_filter(rmt_clock_source_t clk_src) rmt_channel_handle_t rx_channel = NULL; TEST_ESP_OK(rmt_new_rx_channel(&rx_channel_cfg, &rx_channel)); - // initialize the GPIO level to low - TEST_ESP_OK(gpio_set_level(TEST_RMT_GPIO_NUM_A, 0)); - printf("register rx event callbacks\r\n"); rmt_rx_event_callbacks_t cbs = { .on_recv_done = test_rmt_received_done,