From aa0fe4def8821df2c7791ada11c6fbf8cad96871 Mon Sep 17 00:00:00 2001 From: Laurent Date: Thu, 25 Dec 2025 02:08:59 +0100 Subject: [PATCH] Fix oled screen --- esp32-lora/screen.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/esp32-lora/screen.py b/esp32-lora/screen.py index d4991b16..b18d6ad5 100644 --- a/esp32-lora/screen.py +++ b/esp32-lora/screen.py @@ -2,24 +2,34 @@ from machine import Pin, SoftI2C from ssd1306 import SSD1306_I2C import time -class Screen : +class Screen: sda = None scl = None rst = None oled = None - def __init__(self) : + def __init__(self): self.sda = Pin(17) self.scl = Pin(18) self.rst = Pin(21, Pin.OUT) - self.oled = SSD1306_I2C( + + self.__reset_oled() # reset first + + self.oled = SSD1306_I2C( 128, 64, SoftI2C(scl=self.scl, sda=self.sda, freq=100000), addr=0x3C ) - self.__prepare() + + self.reset() # clear screen + + def __reset_oled(self): + self.rst.value(0) + time.sleep_ms(150) + self.rst.value(1) + time.sleep_ms(150) def reset(self): self.oled.fill(0) @@ -28,9 +38,3 @@ class Screen : def display(self, message, col, row): self.oled.text(message, col, row) self.oled.show() - - def __prepare(self): - self.rst.value(0) - time.sleep_ms(150) - self.rst.value(1) - time.sleep_ms(150) \ No newline at end of file