mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-29 18:27:20 +02:00
fix(i2c,mcpwm): fix gpio pull strategy
Closes https://github.com/espressif/esp-idf/issues/15774
This commit is contained in:
@ -324,6 +324,7 @@ static esp_err_t s_hp_i2c_pins_config(i2c_bus_handle_t handle)
|
||||
} else {
|
||||
gpio_pullup_dis(handle->sda_num);
|
||||
}
|
||||
gpio_pulldown_dis(handle->sda_num);
|
||||
gpio_func_sel(handle->sda_num, PIN_FUNC_GPIO);
|
||||
esp_rom_gpio_connect_out_signal(handle->sda_num, i2c_periph_signal[port_id].sda_out_sig, 0, 0);
|
||||
esp_rom_gpio_connect_in_signal(handle->sda_num, i2c_periph_signal[port_id].sda_in_sig, 0);
|
||||
@ -337,6 +338,7 @@ static esp_err_t s_hp_i2c_pins_config(i2c_bus_handle_t handle)
|
||||
} else {
|
||||
gpio_pullup_dis(handle->scl_num);
|
||||
}
|
||||
gpio_pulldown_dis(handle->scl_num);
|
||||
gpio_func_sel(handle->scl_num, PIN_FUNC_GPIO);
|
||||
esp_rom_gpio_connect_out_signal(handle->scl_num, i2c_periph_signal[port_id].scl_out_sig, 0, 0);
|
||||
esp_rom_gpio_connect_in_signal(handle->scl_num, i2c_periph_signal[port_id].scl_in_sig, 0);
|
||||
|
@ -307,9 +307,13 @@ esp_err_t mcpwm_new_capture_channel(mcpwm_cap_timer_handle_t cap_timer, const mc
|
||||
esp_rom_gpio_connect_in_signal(config->gpio_num, mcpwm_periph_signals.groups[group->group_id].captures[cap_chan_id].cap_sig, 0);
|
||||
if (config->flags.pull_down) {
|
||||
gpio_pulldown_en(config->gpio_num);
|
||||
} else {
|
||||
gpio_pulldown_dis(config->gpio_num);
|
||||
}
|
||||
if (config->flags.pull_up) {
|
||||
gpio_pullup_en(config->gpio_num);
|
||||
} else {
|
||||
gpio_pullup_dis(config->gpio_num);
|
||||
}
|
||||
|
||||
// deprecated, to be removed in in esp-idf v6.0
|
||||
|
@ -120,9 +120,13 @@ esp_err_t mcpwm_new_gpio_fault(const mcpwm_gpio_fault_config_t *config, mcpwm_fa
|
||||
|
||||
if (config->flags.pull_down) {
|
||||
gpio_pulldown_en(config->gpio_num);
|
||||
} else {
|
||||
gpio_pulldown_dis(config->gpio_num);
|
||||
}
|
||||
if (config->flags.pull_up) {
|
||||
gpio_pullup_en(config->gpio_num);
|
||||
} else {
|
||||
gpio_pullup_dis(config->gpio_num);
|
||||
}
|
||||
|
||||
// deprecated, to be removed in in esp-idf v6.0
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@ -201,9 +201,13 @@ esp_err_t mcpwm_new_gpio_sync_src(const mcpwm_gpio_sync_src_config_t *config, mc
|
||||
|
||||
if (config->flags.pull_down) {
|
||||
gpio_pulldown_en(config->gpio_num);
|
||||
} else {
|
||||
gpio_pulldown_dis(config->gpio_num);
|
||||
}
|
||||
if (config->flags.pull_up) {
|
||||
gpio_pullup_en(config->gpio_num);
|
||||
} else {
|
||||
gpio_pullup_dis(config->gpio_num);
|
||||
}
|
||||
|
||||
// deprecated, to be removed in in esp-idf v6.0
|
||||
|
Reference in New Issue
Block a user