From 1ce7be11fa3cbd03a4b1cb71b831b7c7675244eb Mon Sep 17 00:00:00 2001 From: morris Date: Wed, 31 Jan 2024 16:07:51 +0800 Subject: [PATCH] fix(mcpwm): reset GPIO used by generator after delete Closes https://github.com/espressif/esp-idf/issues/12980 --- components/driver/Kconfig | 2 +- components/driver/mcpwm/mcpwm_gen.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/components/driver/Kconfig b/components/driver/Kconfig index be8b9afdf9..87af588303 100644 --- a/components/driver/Kconfig +++ b/components/driver/Kconfig @@ -381,7 +381,7 @@ menu "Driver Configurations" Enabling this option can improve driver performance as well. config MCPWM_SUPPRESS_DEPRECATE_WARN - bool "Suppress leagcy driver deprecated warning" + bool "Suppress legacy driver deprecated warning" default n help Wether to suppress the deprecation warnings when using legacy MCPWM driver (driver/mcpwm.h). diff --git a/components/driver/mcpwm/mcpwm_gen.c b/components/driver/mcpwm/mcpwm_gen.c index 73b58d5290..3af080b7de 100644 --- a/components/driver/mcpwm/mcpwm_gen.c +++ b/components/driver/mcpwm/mcpwm_gen.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -118,6 +118,8 @@ esp_err_t mcpwm_del_generator(mcpwm_gen_handle_t gen) mcpwm_group_t *group = oper->group; ESP_LOGD(TAG, "del generator (%d,%d,%d)", group->group_id, oper->oper_id, gen->gen_id); + // reset GPIO + gpio_reset_pin(gen->gen_gpio_num); // recycle memory resource ESP_RETURN_ON_ERROR(mcpwm_generator_destory(gen), TAG, "destory generator failed"); return ESP_OK;