From 3cab0019a017c82156c9732cfb0925b562635011 Mon Sep 17 00:00:00 2001 From: andreamah Date: Thu, 2 Apr 2020 17:16:57 -0700 Subject: [PATCH 1/5] get correct board ref in process_user_code --- src/process_user_code.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/process_user_code.py b/src/process_user_code.py index e5e72d36b..624421938 100644 --- a/src/process_user_code.py +++ b/src/process_user_code.py @@ -52,8 +52,7 @@ from adafruit_clue import clue from base_circuitpython.base_cp_constants import CLUE -from base_circuitpython import terminal_handler -from base_circuitpython import board +import board # get handle to terminal for clue curr_terminal = board.DISPLAY.terminal @@ -102,7 +101,7 @@ def handle_user_prints(): # extra newline at the end. data_str = str(message["data"]) - curr_terminal.add_str_to_terminal(data_str[:-1]) + # curr_terminal.add_str_to_terminal(data_str[:-1]) print(json.dumps(message), file=sys.__stdout__, flush=True) user_stdout.truncate(0) user_stdout.seek(0) From a7bd372fc97be2569960bb910a4f3a7c96f568ff Mon Sep 17 00:00:00 2001 From: andreamah Date: Thu, 2 Apr 2020 19:05:47 -0700 Subject: [PATCH 2/5] fixed slow text refresh issue --- ...n-display-text-DSX_CUSTOM_MAR172020.tar.gz | Bin 126248 -> 126474 bytes src/base_circuitpython/displayio/group.py | 25 +++++++++--------- src/clue/adafruit_clue.py | 5 +++- src/process_user_code.py | 2 +- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/adafruit-circuitpython-display-text-DSX_CUSTOM_MAR172020.tar.gz b/adafruit-circuitpython-display-text-DSX_CUSTOM_MAR172020.tar.gz index 938961b05dd5194f650b7ebd2f0e46361306a34a..043bf4b3d8725bdc4bd61c6bdc2ec7ee68530513 100644 GIT binary patch delta 16974 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 diff --git a/src/base_circuitpython/displayio/group.py b/src/base_circuitpython/displayio/group.py index b1c6000b1..77669894e 100644 --- a/src/base_circuitpython/displayio/group.py +++ b/src/base_circuitpython/displayio/group.py @@ -39,24 +39,23 @@ def append(self, item): self.__contents.append(item) item.parent = self + self.elem_changed() - self.__elem_changed() - - def __elem_changed(self): + def elem_changed(self): # Ensure that this group is what the board is currently showing. # Otherwise, don't bother to draw it. - if ( - self.__auto_write - and self.__check_active_group_ref - and board.DISPLAY.active_group == self - ): + if self.__auto_write: + self.trigger_draw() + + def trigger_draw(self): + # select the correct parent to draw from if necessary + if self.__check_active_group_ref and board.DISPLAY.active_group == self: self.draw() elif self.in_group: - # If a sub-group is modified, propagate to top level to # see if one of the parents are the current active group. - self.parent.__elem_changed() + self.parent.elem_changed() def __getitem__(self, index): return self.__contents[index] @@ -65,9 +64,9 @@ def __setitem__(self, index, val): old_val = self.__contents[index] self.__contents[index] = val - + # print("Here!" + str(self)) if old_val != val: - self.__elem_changed() + self.elem_changed() def draw(self, img=None, x=0, y=0, scale=None, show=True): # this function is not a part of the orignal implementation @@ -136,5 +135,5 @@ def __len__(self): def pop(self, i=-1): item = self.__contents.pop(i) item.parent = None - self.__elem_changed() + self.elem_changed() return item diff --git a/src/clue/adafruit_clue.py b/src/clue/adafruit_clue.py index 947d6a421..3801d9788 100644 --- a/src/clue/adafruit_clue.py +++ b/src/clue/adafruit_clue.py @@ -126,6 +126,7 @@ def __init__( max_glyphs=60, color=title_color, scale=title_scale, + auto_write=False, ) title.x = 0 title.y = 8 @@ -150,7 +151,9 @@ def __getitem__(self, item): def add_text_line(self, color=0xFFFFFF): """Adds a line on the display of the specified color and returns the label object.""" - text_label = self._label.Label(self._font, text="", max_glyphs=45, color=color) + text_label = self._label.Label( + self._font, text="", max_glyphs=45, color=color, auto_write=False + ) text_label.x = 0 text_label.y = self._y self._y = text_label.y + 13 diff --git a/src/process_user_code.py b/src/process_user_code.py index 624421938..1287fc241 100644 --- a/src/process_user_code.py +++ b/src/process_user_code.py @@ -101,7 +101,7 @@ def handle_user_prints(): # extra newline at the end. data_str = str(message["data"]) - # curr_terminal.add_str_to_terminal(data_str[:-1]) + curr_terminal.add_str_to_terminal(data_str[:-1]) print(json.dumps(message), file=sys.__stdout__, flush=True) user_stdout.truncate(0) user_stdout.seek(0) From ee7667e01deb6b029da2a00895d3f70ee4d79992 Mon Sep 17 00:00:00 2001 From: andreamah Date: Thu, 2 Apr 2020 19:35:32 -0700 Subject: [PATCH 3/5] clue library text scaling issue fixed --- src/clue/adafruit_clue.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/clue/adafruit_clue.py b/src/clue/adafruit_clue.py index 3801d9788..b59562c3a 100644 --- a/src/clue/adafruit_clue.py +++ b/src/clue/adafruit_clue.py @@ -130,7 +130,7 @@ def __init__( ) title.x = 0 title.y = 8 - self._y = title.y + 18 + self._y = title.y + 18 * text_scale self.text_group.append(title) else: @@ -139,6 +139,7 @@ def __init__( self._lines = [] for num in range(1): self._lines.append(self.add_text_line(color=colors[num % len(colors)])) + self.text_scale = text_scale def __getitem__(self, item): """Fetch the Nth text line Group""" @@ -156,7 +157,7 @@ def add_text_line(self, color=0xFFFFFF): ) text_label.x = 0 text_label.y = self._y - self._y = text_label.y + 13 + self._y = text_label.y + 13 * self.text_scale self.text_group.append(text_label) return text_label From a0b39f59f8031e2ec0a128e883b641ca0afc9b02 Mon Sep 17 00:00:00 2001 From: andreamah Date: Fri, 3 Apr 2020 10:18:02 -0700 Subject: [PATCH 4/5] adjusted text update directly to display_text and fixed scaling --- ...n-display-text-DSX_CUSTOM_MAR172020.tar.gz | Bin 126474 -> 126478 bytes src/clue/adafruit_clue.py | 8 ++------ 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/adafruit-circuitpython-display-text-DSX_CUSTOM_MAR172020.tar.gz b/adafruit-circuitpython-display-text-DSX_CUSTOM_MAR172020.tar.gz index 043bf4b3d8725bdc4bd61c6bdc2ec7ee68530513..3fc33f13aabba65c283c5347ede379ecd2ca58c4 100644 GIT binary patch delta 16839 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

J!Pv7K&O|1^W-l=$-Z#1m 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 Gk^=x^h6efo delta 16847 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 Ozq&t5$V!g@k^=yd%rngZ diff --git a/src/clue/adafruit_clue.py b/src/clue/adafruit_clue.py index b59562c3a..9225936f4 100644 --- a/src/clue/adafruit_clue.py +++ b/src/clue/adafruit_clue.py @@ -114,7 +114,7 @@ def __init__( if font: self._font = font self.text_group = displayio.Group(max_size=20, scale=text_scale) - + self.text_scale = text_scale if title: # Fail gracefully if title is longer than 60 characters. if len(title) > 60: @@ -126,7 +126,6 @@ def __init__( max_glyphs=60, color=title_color, scale=title_scale, - auto_write=False, ) title.x = 0 title.y = 8 @@ -139,7 +138,6 @@ def __init__( self._lines = [] for num in range(1): self._lines.append(self.add_text_line(color=colors[num % len(colors)])) - self.text_scale = text_scale def __getitem__(self, item): """Fetch the Nth text line Group""" @@ -152,9 +150,7 @@ def __getitem__(self, item): def add_text_line(self, color=0xFFFFFF): """Adds a line on the display of the specified color and returns the label object.""" - text_label = self._label.Label( - self._font, text="", max_glyphs=45, color=color, auto_write=False - ) + text_label = self._label.Label(self._font, text="", max_glyphs=45, color=color) text_label.x = 0 text_label.y = self._y self._y = text_label.y + 13 * self.text_scale From f1b8b6ffd62feb9f691b75b95288446d35f1d209 Mon Sep 17 00:00:00 2001 From: andreamah Date: Fri, 3 Apr 2020 12:55:39 -0700 Subject: [PATCH 5/5] removed print statement --- src/base_circuitpython/displayio/group.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/base_circuitpython/displayio/group.py b/src/base_circuitpython/displayio/group.py index 77669894e..17109b03a 100644 --- a/src/base_circuitpython/displayio/group.py +++ b/src/base_circuitpython/displayio/group.py @@ -64,7 +64,6 @@ def __setitem__(self, index, val): old_val = self.__contents[index] self.__contents[index] = val - # print("Here!" + str(self)) if old_val != val: self.elem_changed()