Skip to content

Commit e344331

Browse files
committed
This change is supposed to fix the core panic issue when performing a soft reset.
1 parent f7fbf64 commit e344331

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

api_drivers/common_api_drivers/display/sdl_display/sdl_display.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -265,12 +265,8 @@ def _remove_timer(self):
265265

266266
def __del__(self):
267267
self._remove_timer()
268-
self._displays.remove(self)
269-
270-
self._disp_drv.remove_event_cb_with_user_data(
271-
self._release_disp_cb, None)
272-
self._disp_drv.delete()
273-
self._data_bus.deinit()
268+
self._disp_drv.remove_event_cb_with_user_data(self._release_disp_cb, None)
269+
display_driver_framework.DisplayDriver.__del__(self)
274270

275271
def set_offset(self, x, y):
276272
rot90 = lv.DISPLAY_ROTATION._90 # NOQA

api_drivers/py_api_drivers/frozen/display/display_driver_framework.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -509,10 +509,15 @@ def set_power(self, value):
509509
self._power_pin.value(not value)
510510

511511
def delete(self):
512-
self._disp_drv.delete()
512+
raise NotImplementedError('You must delete the instance by using `del {instance}`')
513513

514514
def __del__(self):
515-
self._disp_drv.delete()
515+
if self in self._displays:
516+
self._displays.remove(self)
517+
self._disp_drv.delete()
518+
519+
if not self._displays and lv.is_initialized():
520+
lv.deinit()
516521

517522
def reset(self):
518523
if self._reset_pin is None:

0 commit comments

Comments
 (0)