fix: GT911 config errors

This commit is contained in:
Y1hsiaochunnn
2026-03-30 15:05:20 +08:00
parent 0f3199a812
commit 7d63797dfa
6 changed files with 55 additions and 7 deletions

View File

@ -178,7 +178,15 @@ private:
}, },
}; };
esp_lcd_panel_io_handle_t tp_io_handle = NULL; esp_lcd_panel_io_handle_t tp_io_handle = NULL;
esp_lcd_panel_io_i2c_config_t tp_io_config = ESP_LCD_TOUCH_IO_I2C_GT911_CONFIG(); esp_lcd_panel_io_i2c_config_t tp_io_config = {
.control_phase_bytes = 1,
.dc_bit_offset = 0,
.lcd_cmd_bits = 16,
.flags =
{
.disable_control_phase = 1,
}
};
tp_io_config.dev_addr = ESP_LCD_TOUCH_IO_I2C_GT911_ADDRESS_BACKUP; // 更改 GT911 地址 tp_io_config.dev_addr = ESP_LCD_TOUCH_IO_I2C_GT911_ADDRESS_BACKUP; // 更改 GT911 地址
tp_io_config.scl_speed_hz = 100000; tp_io_config.scl_speed_hz = 100000;
esp_lcd_new_panel_io_i2c(i2c_bus_, &tp_io_config, &tp_io_handle); esp_lcd_new_panel_io_i2c(i2c_bus_, &tp_io_config, &tp_io_handle);

View File

@ -200,7 +200,15 @@ private:
}, },
}; };
esp_lcd_panel_io_handle_t tp_io_handle = NULL; esp_lcd_panel_io_handle_t tp_io_handle = NULL;
esp_lcd_panel_io_i2c_config_t tp_io_config = ESP_LCD_TOUCH_IO_I2C_GT911_CONFIG(); esp_lcd_panel_io_i2c_config_t tp_io_config = {
.control_phase_bytes = 1,
.dc_bit_offset = 0,
.lcd_cmd_bits = 16,
.flags =
{
.disable_control_phase = 1,
}
};
tp_io_config.scl_speed_hz = 100 * 1000; tp_io_config.scl_speed_hz = 100 * 1000;
ESP_ERROR_CHECK(esp_lcd_new_panel_io_i2c(codec_i2c_bus_, &tp_io_config, &tp_io_handle)); ESP_ERROR_CHECK(esp_lcd_new_panel_io_i2c(codec_i2c_bus_, &tp_io_config, &tp_io_handle));
ESP_LOGI(TAG, "Initialize touch controller"); ESP_LOGI(TAG, "Initialize touch controller");

View File

@ -349,8 +349,16 @@ private:
}, },
}; };
esp_lcd_panel_io_handle_t tp_io_handle = NULL; esp_lcd_panel_io_handle_t tp_io_handle = NULL;
esp_lcd_panel_io_i2c_config_t tp_io_config = ESP_LCD_TOUCH_IO_I2C_GT911_CONFIG(); esp_lcd_panel_io_i2c_config_t tp_io_config = {
if (ESP_OK == i2c_device_probe(ESP_LCD_TOUCH_IO_I2C_GT911_ADDRESS)) { .control_phase_bytes = 1,
.dc_bit_offset = 0,
.lcd_cmd_bits = 16,
.flags =
{
.disable_control_phase = 1,
}
};
if (ESP_OK == i2c_device_probe(ESP_LCD_TOUCH_IO_I2C_GT911_ADDRESS)) {
ESP_LOGI(TAG, "Touch panel found at address 0x%02X", ESP_LCD_TOUCH_IO_I2C_GT911_ADDRESS); ESP_LOGI(TAG, "Touch panel found at address 0x%02X", ESP_LCD_TOUCH_IO_I2C_GT911_ADDRESS);
} else if (ESP_OK == i2c_device_probe(ESP_LCD_TOUCH_IO_I2C_GT911_ADDRESS_BACKUP)) { } else if (ESP_OK == i2c_device_probe(ESP_LCD_TOUCH_IO_I2C_GT911_ADDRESS_BACKUP)) {
ESP_LOGI(TAG, "Touch panel found at address 0x%02X", ESP_LCD_TOUCH_IO_I2C_GT911_ADDRESS_BACKUP); ESP_LOGI(TAG, "Touch panel found at address 0x%02X", ESP_LCD_TOUCH_IO_I2C_GT911_ADDRESS_BACKUP);

View File

@ -168,7 +168,15 @@ private:
}, },
}; };
esp_lcd_panel_io_handle_t tp_io_handle = NULL; esp_lcd_panel_io_handle_t tp_io_handle = NULL;
esp_lcd_panel_io_i2c_config_t tp_io_config = ESP_LCD_TOUCH_IO_I2C_GT911_CONFIG(); esp_lcd_panel_io_i2c_config_t tp_io_config = {
.control_phase_bytes = 1,
.dc_bit_offset = 0,
.lcd_cmd_bits = 16,
.flags =
{
.disable_control_phase = 1,
}
};
tp_io_config.scl_speed_hz = 400 * 1000; tp_io_config.scl_speed_hz = 400 * 1000;
esp_lcd_new_panel_io_i2c(i2c_bus_, &tp_io_config, &tp_io_handle); esp_lcd_new_panel_io_i2c(i2c_bus_, &tp_io_config, &tp_io_handle);

View File

@ -276,7 +276,15 @@ private:
}, },
}; };
esp_lcd_panel_io_handle_t tp_io_handle = NULL; esp_lcd_panel_io_handle_t tp_io_handle = NULL;
esp_lcd_panel_io_i2c_config_t tp_io_config = ESP_LCD_TOUCH_IO_I2C_GT911_CONFIG(); esp_lcd_panel_io_i2c_config_t tp_io_config = {
.control_phase_bytes = 1,
.dc_bit_offset = 0,
.lcd_cmd_bits = 16,
.flags =
{
.disable_control_phase = 1,
}
};
tp_io_config.scl_speed_hz = 400* 1000; tp_io_config.scl_speed_hz = 400* 1000;
ESP_ERROR_CHECK(esp_lcd_new_panel_io_i2c(i2c_bus_, &tp_io_config, &tp_io_handle)); ESP_ERROR_CHECK(esp_lcd_new_panel_io_i2c(i2c_bus_, &tp_io_config, &tp_io_handle));
ESP_LOGI(TAG, "Initialize touch controller"); ESP_LOGI(TAG, "Initialize touch controller");

View File

@ -152,7 +152,15 @@ private:
}, },
}; };
esp_lcd_panel_io_handle_t tp_io_handle = NULL; esp_lcd_panel_io_handle_t tp_io_handle = NULL;
esp_lcd_panel_io_i2c_config_t tp_io_config = ESP_LCD_TOUCH_IO_I2C_GT911_CONFIG(); esp_lcd_panel_io_i2c_config_t tp_io_config = {
.control_phase_bytes = 1,
.dc_bit_offset = 0,
.lcd_cmd_bits = 16,
.flags =
{
.disable_control_phase = 1,
}
};
tp_io_config.scl_speed_hz = 400 * 1000; tp_io_config.scl_speed_hz = 400 * 1000;
ESP_ERROR_CHECK(esp_lcd_new_panel_io_i2c(i2c_bus_, &tp_io_config, &tp_io_handle)); ESP_ERROR_CHECK(esp_lcd_new_panel_io_i2c(i2c_bus_, &tp_io_config, &tp_io_handle));
ESP_LOGI(TAG, "Initialize touch controller"); ESP_LOGI(TAG, "Initialize touch controller");