From 5053e983e6a9e05e92721ca3e15a6319ef7e4416 Mon Sep 17 00:00:00 2001 From: viordash Date: Sat, 28 Sep 2024 14:27:37 +0300 Subject: [PATCH] trying to repeat display init to fix display SSD1315 on new module AM-033 --- PLC_esp8266/main/Display/display.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/PLC_esp8266/main/Display/display.cpp b/PLC_esp8266/main/Display/display.cpp index cdd4d3d..a74c8b0 100644 --- a/PLC_esp8266/main/Display/display.cpp +++ b/PLC_esp8266/main/Display/display.cpp @@ -47,7 +47,10 @@ void display_init() { ESP_ERROR_CHECK(i2c_driver_install(display.dev.i2c_port, conf.mode)); ESP_ERROR_CHECK(i2c_param_config(display.dev.i2c_port, &conf)); - ESP_ERROR_CHECK(ssd1306_init(&display.dev) != 0 ? ESP_FAIL : ESP_OK); + if (ssd1306_init(&display.dev) != 0) { + ESP_LOGW(TAG_display, "First init failed, trying to repeat init"); + ESP_ERROR_CHECK(ssd1306_init(&display.dev) != 0 ? ESP_FAIL : ESP_OK); + } ESP_ERROR_CHECK(ssd1306_load_frame_buffer(&display.dev, NULL) != 0 ? ESP_FAIL : ESP_OK); ESP_ERROR_CHECK(ssd1306_set_whole_display_lighting(&display.dev, false) != 0 ? ESP_FAIL : ESP_OK);