From b64d5745db228e295ec1608e17416b55acd13776 Mon Sep 17 00:00:00 2001 From: Rashed Talukder <9218468+rashedtalukder@users.noreply.github.com> Date: Fri, 18 Mar 2022 19:09:01 -0700 Subject: [PATCH] Remove the need for rom includes while providing IDF v5 compatibility --- lv_port/esp_lcd_backlight.c | 13 +++++++++++-- lvgl_tft/FT81x.c | 4 ++++ lvgl_touch/adcraw.c | 9 +++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/lv_port/esp_lcd_backlight.c b/lv_port/esp_lcd_backlight.c index 7475fb6..03b1924 100644 --- a/lv_port/esp_lcd_backlight.c +++ b/lv_port/esp_lcd_backlight.c @@ -9,7 +9,6 @@ #include "esp_lcd_backlight.h" #include "driver/ledc.h" #include "driver/gpio.h" -#include "rom/gpio.h" #include "esp_log.h" #include "soc/ledc_periph.h" // to invert LEDC output on IDF version < v4.3 #include "esp_idf_version.h" @@ -62,15 +61,25 @@ disp_backlight_h disp_backlight_new(const disp_backlight_config_t *config) ESP_ERROR_CHECK(ledc_timer_config(&LCD_backlight_timer)); ESP_ERROR_CHECK(ledc_channel_config(&LCD_backlight_channel)); + + #if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0) + esp_rom_gpio_connect_out_signal(config->gpio_num, ledc_periph_signal[LEDC_LOW_SPEED_MODE].sig_out0_idx + config->channel_idx, config->output_invert, 0); + #else gpio_matrix_out(config->gpio_num, ledc_periph_signal[LEDC_LOW_SPEED_MODE].sig_out0_idx + config->channel_idx, config->output_invert, 0); + #endif } else { // Configure GPIO for output bckl_dev->index = config->gpio_num; - gpio_pad_select_gpio(config->gpio_num); ESP_ERROR_CHECK(gpio_set_direction(config->gpio_num, GPIO_MODE_OUTPUT)); + #if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0) + esp_rom_gpio_pad_select_gpio(config->gpio_num); + esp_rom_gpio_connect_out_signal(config->gpio_num, SIG_GPIO_OUT_IDX, config->output_invert, false); + #else + gpio_pad_select_gpio(config->gpio_num); gpio_matrix_out(config->gpio_num, SIG_GPIO_OUT_IDX, config->output_invert, false); + #endif } return (disp_backlight_h)bckl_dev; diff --git a/lvgl_tft/FT81x.c b/lvgl_tft/FT81x.c index 63e0dee..cdb01b3 100644 --- a/lvgl_tft/FT81x.c +++ b/lvgl_tft/FT81x.c @@ -263,7 +263,11 @@ void TFT_bitmap_display(void) void FT81x_init(void) { #if EVE_USE_PDN +#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0) + esp_rom_gpio_pad_select_gpio(EVE_PDN); +#else gpio_pad_select_gpio(EVE_PDN); +#endif #endif gpio_set_level(EVE_CS, 1); diff --git a/lvgl_touch/adcraw.c b/lvgl_touch/adcraw.c index d26596e..f88fecd 100644 --- a/lvgl_touch/adcraw.c +++ b/lvgl_touch/adcraw.c @@ -138,10 +138,19 @@ static void setup_axis(gpio_num_t plus, gpio_num_t minus, gpio_num_t measure, gp { // Set GPIOs: // - Float "ignore" and "measure" +#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0) + esp_rom_gpio_pad_select_gpio(ignore); +#else gpio_pad_select_gpio(ignore); +#endif gpio_set_direction(ignore, GPIO_MODE_DISABLE); gpio_set_pull_mode(ignore, GPIO_FLOATING); + +#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0) + esp_rom_gpio_pad_select_gpio(ignore); +#else gpio_pad_select_gpio(measure); +#endif gpio_set_direction(measure, GPIO_MODE_DISABLE); gpio_set_pull_mode(measure, GPIO_FLOATING); // - Set "plus" to 1, "minus" to 0