Update epd2in13.py

New flag & if condition to track if the display has been initialized &
avoid repeated initialization and accumulation of File descriptors  & system crash.
This commit is contained in:
infinition
2024-11-19 23:44:44 +01:00
committed by GitHub
parent d0b9b737f9
commit 46684adebd

View File

@@ -9,6 +9,7 @@ logger = logging.getLogger(__name__)
class EPD:
def __init__(self):
self.is_initialized = False # New flag to track if the display has been initialized #INFINITION
self.reset_pin = epdconfig.RST_PIN
self.dc_pin = epdconfig.DC_PIN
self.busy_pin = epdconfig.BUSY_PIN
@@ -66,10 +67,10 @@ class EPD:
logger.debug("e-Paper busy release")
def init(self, lut):
if (epdconfig.module_init() != 0):
return -1
# EPD hardware init start
self.reset()
if not self.is_initialized: # Avoid repeated initialization and accumulation of File descriptors #INFINITION
if epdconfig.module_init() != 0:
return -1
self.reset()
self.send_command(0x01) # DRIVER_OUTPUT_CONTROL
self.send_data((EPD_HEIGHT - 1) & 0xFF)
self.send_data(((EPD_HEIGHT - 1) >> 8) & 0xFF)