Skip to content

Commit

Permalink
Merge pull request #77 from jake1164/bugfix/flashing-settings
Browse files Browse the repository at this point in the history
Minor fixes to settings display
  • Loading branch information
jake1164 authored Dec 28, 2023
2 parents 4a6dbe8 + ebac94d commit c7b0830
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 32 deletions.
14 changes: 8 additions & 6 deletions src/code.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,26 +132,28 @@
last_weather = time.time()
weather_display.scroll_label(key_input)


elif key_input.page_id == 1: # Process settings pages
weather.display_off()
if not settings_visited:
weather.display_off()
settings_visited = True
settings_display = SettingsDisplay(display, datetime)
settings_display.showSetListPage(key_input.select_setting_options)
settings_visited = True

elif key_input.page_id == 2: # Process settings pages
if SETTINGS[key_input.select_setting_options]["type"] == 'set_time':
settings_display.timeSettingPage(key_input.time_setting_label)
settings_display.timeSettingPage(key_input.select_setting_options, key_input.time_setting_label)
elif SETTINGS[key_input.select_setting_options]["type"] == 'set_date':
settings_display.dateSettingPage(key_input.time_setting_label)
settings_display.dateSettingPage(key_input.select_setting_options, key_input.time_setting_label)
elif SETTINGS[key_input.select_setting_options]["type"] == 'bool':
settings_display.onOffPage(
key_input.select_setting_options,
settings
)
elif SETTINGS[key_input.select_setting_options]["type"] == 'number':
settings_display.number_display_page(settings)
settings_display.number_display_page(key_input.select_setting_options, settings)
elif SETTINGS[key_input.select_setting_options]["type"] == 'time':
settings_display.time_page(
key_input.select_setting_options,
SETTINGS[key_input.select_setting_options]["text"],
settings.on_time if key_input.select_setting_options == 8 else settings.off_time
)
60 changes: 34 additions & 26 deletions src/settings_display.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
"type": "bool"
},
{
"text": "DM LEVEL",
"text": "DIM LEVEL",
"type": "number"
},
{
Expand All @@ -54,6 +54,7 @@
class SettingsDisplay(displayio.Group):
def __init__(self, display, datetime_processing):
super().__init__()
self.settings_page = None
display.rotation = 0
self.display = display
self._first_enter_page = True
Expand All @@ -76,14 +77,15 @@ def __init__(self, display, datetime_processing):
self.append(self._line3)


def showSetListPage(self, selectSettingOptions):
def showSetListPage(self, select_setting_options):
self.settings_page = None
self._line3.text = ""

self._line1.text = "SET LIST"
self._line1.x = 8
self._line1.y = 7

self._line2.text = SETTINGS[selectSettingOptions]["text"]
self._line2.text = SETTINGS[select_setting_options]["text"]
#self._line2.x = 8
self._line2.x = self._get_x_position(self._line2.text)
self._line2.y = 23
Expand All @@ -93,33 +95,36 @@ def showSetListPage(self, selectSettingOptions):
self.display.root_group = self._line_group


def timeSettingPage(self, timeSettingLabel):
self._line1.text = ""
def timeSettingPage(self, select_setting_options, time_setting_label):
update = False
if self._first_enter_page:

if self.settings_page != SETTINGS[select_setting_options]["type"]:
update = True
self._line2.x = 8
self._line2.y = 13
update = True
self._first_enter_page = False
self._line2.text = self._datetime.get_setting_time(update)
self._line3.text = "^"
if timeSettingLabel == 0:
self._line1.text = ""
self.settings_page = SETTINGS[select_setting_options]["type"]

if time_setting_label == 0:
self._line3.x = 12
self._line3.y = 24
elif timeSettingLabel == 1:
elif time_setting_label == 1:
self._line3.x = 29
self._line3.y = 24
else:
self._line3.x = 47
self._line3.y = 24
self.display.root_group = self._line_group

self._line3.text = "^"
self._line2.text = self._datetime.get_setting_time(update)
self.display.root_group = self._line_group


def time_page(self, setting_text, setting_time):
def time_page(self, select_setting_options, setting_text, setting_time):
'''
Eventual replacement time.
'''
self.settings_page = SETTINGS[select_setting_options]["type"]
self._line1.text = setting_text
if self._first_enter_page:
self._line2.x = 18
Expand All @@ -133,7 +138,8 @@ def time_page(self, setting_text, setting_time):
self.display.root_group = self._line_group


def dateSettingPage(self, timeSettingLabel):
def dateSettingPage(self, select_setting_options, time_setting_label):
self.settings_page = SETTINGS[select_setting_options]["type"]
self._line1.text = ""
update = False
if self._first_enter_page:
Expand All @@ -143,10 +149,10 @@ def dateSettingPage(self, timeSettingLabel):
self._first_enter_page = False
self._line2.text = self._datetime.get_setting_date(update)
self._line3.text = "^"
if timeSettingLabel == 0:
if time_setting_label == 0:
self._line3.x = 12
self._line3.y = 24
elif timeSettingLabel == 1:
elif time_setting_label == 1:
self._line3.x = 36
self._line3.y = 24
else:
Expand All @@ -155,9 +161,10 @@ def dateSettingPage(self, timeSettingLabel):
self.display.root_group = self._line_group


def onOffPage(self, selectSettingOptions, settings):
def onOffPage(self, select_setting_options, settings):
self.settings_page = SETTINGS[select_setting_options]["type"]
self._line1.text = ""
if selectSettingOptions == 2: # BEEP
if select_setting_options == 2: # BEEP
self._line2.x = 20
self._line2.y = 7
self._line3.x = 20
Expand All @@ -168,7 +175,7 @@ def onOffPage(self, selectSettingOptions, settings):
else:
self._line2.text = " on"
self._line3.text = "> off"
if selectSettingOptions == 3: # AUTODIM
if select_setting_options == 3: # AUTODIM
self._line2.x = 20
self._line2.y = 7
self._line3.x = 20
Expand All @@ -180,7 +187,7 @@ def onOffPage(self, selectSettingOptions, settings):
else:
self._line2.text = " on"
self._line3.text = "> off"
if selectSettingOptions == 4: # 12/24 HR
if select_setting_options == 4: # 12/24 HR
self._line2.x = 10
self._line2.y = 7
self._line3.x = 10
Expand All @@ -191,7 +198,7 @@ def onOffPage(self, selectSettingOptions, settings):
else:
self._line2.text = " 12 Hr"
self._line3.text = "> 24 Hr"
if selectSettingOptions == 5: # DST ADJUST
if select_setting_options == 5: # DST ADJUST
self._line2.x = 20
self._line2.y = 7
self._line3.x = 20
Expand All @@ -203,7 +210,7 @@ def onOffPage(self, selectSettingOptions, settings):
else:
self._line2.text = " on"
self._line3.text = "> off"
if selectSettingOptions == 6: # DARK MODE
if select_setting_options == 6: # DARK MODE
self._line2.x = 20
self._line2.y = 7
self._line3.x = 20
Expand All @@ -215,7 +222,7 @@ def onOffPage(self, selectSettingOptions, settings):
else:
self._line2.text = " on"
self._line3.text = "> off"
if selectSettingOptions == 10: # NTP ENABLED
if select_setting_options == 10: # NTP ENABLED
self._line2.x = 20
self._line2.y = 7
self._line3.x = 20
Expand All @@ -230,11 +237,12 @@ def onOffPage(self, selectSettingOptions, settings):
self.display.root_group = self._line_group


def number_display_page(self, settings):
def number_display_page(self, select_setting_options, settings):
'''
Display a number to be incremented / decremented
'''
self._line1.text = "DM Level"
self.settings_page = SETTINGS[select_setting_options]["type"]
self._line1.text = SETTINGS[select_setting_options]["text"]

self._line2.x = 20
self._line2.y = 18
Expand Down

0 comments on commit c7b0830

Please sign in to comment.