dim_time and off_time can now be none
This commit is contained in:
parent
3c966dc69f
commit
7182dbf4e5
@ -73,8 +73,8 @@ class Oled(Extension):
|
|||||||
device_address=0x3C,
|
device_address=0x3C,
|
||||||
brightness=0.8,
|
brightness=0.8,
|
||||||
brightness_step=0.1,
|
brightness_step=0.1,
|
||||||
dim_time=3,
|
dim_time=None,
|
||||||
off_time=6,
|
off_time=None,
|
||||||
):
|
):
|
||||||
displayio.release_displays()
|
displayio.release_displays()
|
||||||
self.rotation = 180 if flip else 0
|
self.rotation = 180 if flip else 0
|
||||||
@ -88,8 +88,9 @@ class Oled(Extension):
|
|||||||
self._timer_start = ticks_ms()
|
self._timer_start = ticks_ms()
|
||||||
self._dark = False
|
self._dark = False
|
||||||
self._go_dark = False
|
self._go_dark = False
|
||||||
self._dim_time_ms = dim_time * 1000
|
self._powersave = False
|
||||||
self._off_time_ms = off_time * 1000
|
self._dim_time_ms = dim_time * 1000 if dim_time else None
|
||||||
|
self._off_time_ms = off_time * 1000 if off_time else None
|
||||||
gc.collect()
|
gc.collect()
|
||||||
|
|
||||||
make_key(
|
make_key(
|
||||||
@ -177,15 +178,11 @@ class Oled(Extension):
|
|||||||
return
|
return
|
||||||
|
|
||||||
def on_powersave_enable(self, sandbox):
|
def on_powersave_enable(self, sandbox):
|
||||||
self._display.brightness = (
|
self._powersave = True
|
||||||
self._display.brightness / 2 if self._display.brightness > 0.5 else 0.2
|
|
||||||
)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
def on_powersave_disable(self, sandbox):
|
def on_powersave_disable(self, sandbox):
|
||||||
self._display.brightness = (
|
self._powersave = False
|
||||||
self._brightness
|
|
||||||
) # Restore brightness to default or previous value
|
|
||||||
return
|
return
|
||||||
|
|
||||||
def _oled_bri(self, *args, **kwargs):
|
def _oled_bri(self, *args, **kwargs):
|
||||||
@ -208,11 +205,20 @@ class Oled(Extension):
|
|||||||
self._timer_start = ticks_ms()
|
self._timer_start = ticks_ms()
|
||||||
|
|
||||||
def dim(self):
|
def dim(self):
|
||||||
if not check_deadline(ticks_ms(), self._timer_start, self._off_time_ms):
|
if self._off_time_ms is not None and not check_deadline(
|
||||||
|
ticks_ms(), self._timer_start, self._off_time_ms
|
||||||
|
):
|
||||||
self._go_dark = True
|
self._go_dark = True
|
||||||
elif not check_deadline(ticks_ms(), self._timer_start, self._dim_time_ms):
|
elif self._dim_time_ms is not None and not check_deadline(
|
||||||
if self._display.brightness > 0.2:
|
ticks_ms(), self._timer_start, self._dim_time_ms
|
||||||
self._display.brightness = 0.2
|
):
|
||||||
|
if self._display.brightness > 0.1:
|
||||||
|
self._display.brightness = 0.1
|
||||||
|
elif self._powersave:
|
||||||
|
self._display.brightness = (
|
||||||
|
self._display.brightness / 2 if self._display.brightness > 0.5 else 0.1
|
||||||
|
)
|
||||||
|
self._go_dark = False
|
||||||
else:
|
else:
|
||||||
self._display.brightness = self._brightness
|
self._display.brightness = self._brightness
|
||||||
self._go_dark = False
|
self._go_dark = False
|
||||||
|
Loading…
x
Reference in New Issue
Block a user