mirror of
https://github.com/esphome/esphome.git
synced 2025-04-14 06:40:32 +01:00
[st7701s] Fix initialisation race (#7462)
This commit is contained in:
parent
fb7e7eb80b
commit
8e5d7337c8
@ -9,14 +9,6 @@ void ST7701S::setup() {
|
|||||||
esph_log_config(TAG, "Setting up ST7701S");
|
esph_log_config(TAG, "Setting up ST7701S");
|
||||||
this->spi_setup();
|
this->spi_setup();
|
||||||
this->write_init_sequence_();
|
this->write_init_sequence_();
|
||||||
}
|
|
||||||
|
|
||||||
// called after a delay after writing the init sequence
|
|
||||||
void ST7701S::complete_setup_() {
|
|
||||||
this->write_command_(SLEEP_OUT);
|
|
||||||
this->write_command_(DISPLAY_ON);
|
|
||||||
this->spi_teardown(); // SPI not needed after this
|
|
||||||
delay(10);
|
|
||||||
|
|
||||||
esp_lcd_rgb_panel_config_t config{};
|
esp_lcd_rgb_panel_config_t config{};
|
||||||
config.flags.fb_in_psram = 1;
|
config.flags.fb_in_psram = 1;
|
||||||
@ -179,7 +171,12 @@ void ST7701S::write_init_sequence_() {
|
|||||||
this->write_data_(val);
|
this->write_data_(val);
|
||||||
ESP_LOGD(TAG, "write MADCTL %X", val);
|
ESP_LOGD(TAG, "write MADCTL %X", val);
|
||||||
this->write_command_(this->invert_colors_ ? INVERT_ON : INVERT_OFF);
|
this->write_command_(this->invert_colors_ ? INVERT_ON : INVERT_OFF);
|
||||||
this->set_timeout(120, [this] { this->complete_setup_(); });
|
// can't avoid this inline delay due to the need to complete setup before anything else tries to draw.
|
||||||
|
delay(120); // NOLINT
|
||||||
|
this->write_command_(SLEEP_OUT);
|
||||||
|
this->write_command_(DISPLAY_ON);
|
||||||
|
this->spi_teardown(); // SPI not needed after this
|
||||||
|
delay(10);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ST7701S::dump_config() {
|
void ST7701S::dump_config() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user