diff --git a/Drivers/GT911/Source/Gt911Touch.cpp b/Drivers/GT911/Source/Gt911Touch.cpp index 20735047d..e323f4c93 100644 --- a/Drivers/GT911/Source/Gt911Touch.cpp +++ b/Drivers/GT911/Source/Gt911Touch.cpp @@ -29,12 +29,16 @@ bool Gt911Touch::createIoHandle(esp_lcd_panel_io_handle_t& outHandle) { io_config.scl_speed_hz = esp32_i2c_master_get_clock_frequency(configuration->i2cController); + // Legacy I2C implementation auto* driver = device_get_driver(i2c); if (driver_is_compatible(driver, "espressif,esp32-i2c")) { auto port = static_cast(i2c->config)->port; return esp_lcd_new_panel_io_i2c_v1(port, &io_config, &outHandle) == ESP_OK; - } else if (driver_is_compatible(driver, "espressif,esp32-i2c-master")) { - auto bus = esp32_i2c_master_get_bus_handle(i2c); + } + + // Target I2C implementation + if (driver_is_compatible(driver, "espressif,esp32-i2c-master")) { + auto* bus = esp32_i2c_master_get_bus_handle(i2c); return esp_lcd_new_panel_io_i2c_v2(bus, &io_config, &outHandle) == ESP_OK; } @@ -57,9 +61,9 @@ esp_lcd_touch_config_t Gt911Touch::createEspLcdTouchConfig() { .interrupt = configuration->pinInterruptLevel, }, .flags = { - .swap_xy = configuration->swapXy, - .mirror_x = configuration->mirrorX, - .mirror_y = configuration->mirrorY, + .swap_xy = static_cast(configuration->swapXy), + .mirror_x = static_cast(configuration->mirrorX), + .mirror_y = static_cast(configuration->mirrorY), }, .process_coordinates = nullptr, .interrupt_callback = nullptr,