It's smooth now!
This commit is contained in:
		| @@ -73,8 +73,8 @@ class Oled(Extension): | ||||
|         device_address=0x3C, | ||||
|         brightness=0.8, | ||||
|         brightness_step=0.1, | ||||
|         dim_time=30, | ||||
|         off_time=60, | ||||
|         dim_time=3, | ||||
|         off_time=6, | ||||
|     ): | ||||
|         displayio.release_displays() | ||||
|         self.rotation = 180 if flip else 0 | ||||
| @@ -101,36 +101,36 @@ class Oled(Extension): | ||||
|  | ||||
|     def render_oled(self, layer, *args, **kwargs): | ||||
|         splash = displayio.Group() | ||||
|         splash.hidden = False if not self._dark else True | ||||
|  | ||||
|         for view in self._views: | ||||
|             if view[3] == layer or view[3] is None: | ||||
|                 if view[4] == OledEntryType.TXT: | ||||
|                     splash.append( | ||||
|                         label.Label( | ||||
|                             terminalio.FONT, | ||||
|                             text=view[0], | ||||
|                             color=0xFFFFFF if not view[9] else 0x000000, | ||||
|                             background_color=0x000000 if not view[9] else 0xFFFFFF, | ||||
|                             anchor_point=(view[5], view[6]), | ||||
|                             anchored_position=( | ||||
|                                 view[1] if not view[9] else view[1] + 1, | ||||
|                                 view[2], | ||||
|                             ), | ||||
|                             label_direction=view[7], | ||||
|                             line_spacing=view[8], | ||||
|                             padding_left=1, | ||||
|             if self._dark is False: | ||||
|                 if view[3] == layer or view[3] is None: | ||||
|                     if view[4] == OledEntryType.TXT: | ||||
|                         splash.append( | ||||
|                             label.Label( | ||||
|                                 terminalio.FONT, | ||||
|                                 text=view[0], | ||||
|                                 color=0xFFFFFF if not view[9] else 0x000000, | ||||
|                                 background_color=0x000000 if not view[9] else 0xFFFFFF, | ||||
|                                 anchor_point=(view[5], view[6]), | ||||
|                                 anchored_position=( | ||||
|                                     view[1] if not view[9] else view[1] + 1, | ||||
|                                     view[2], | ||||
|                                 ), | ||||
|                                 label_direction=view[7], | ||||
|                                 line_spacing=view[8], | ||||
|                                 padding_left=1, | ||||
|                             ) | ||||
|                         ) | ||||
|                     ) | ||||
|                 elif view[4] == OledEntryType.IMG: | ||||
|                     splash.append( | ||||
|                         displayio.TileGrid( | ||||
|                             view[0], | ||||
|                             pixel_shader=view[0].pixel_shader, | ||||
|                             x=view[1], | ||||
|                             y=view[2], | ||||
|                     elif view[4] == OledEntryType.IMG: | ||||
|                         splash.append( | ||||
|                             displayio.TileGrid( | ||||
|                                 view[0], | ||||
|                                 pixel_shader=view[0].pixel_shader, | ||||
|                                 x=view[1], | ||||
|                                 y=view[2], | ||||
|                             ) | ||||
|                         ) | ||||
|                     ) | ||||
|         gc.collect() | ||||
|         self._display.show(splash) | ||||
|  | ||||
| @@ -159,10 +159,8 @@ class Oled(Extension): | ||||
|  | ||||
|     def before_matrix_scan(self, sandbox): | ||||
|         self.dim() | ||||
|         if self._dark != self._go_dark: | ||||
|         if self._dark != self._go_dark or sandbox.active_layers[0] != self._prevLayers: | ||||
|             self._dark = self._go_dark | ||||
|             self.updateOLED(sandbox) | ||||
|         elif sandbox.active_layers[0] != self._prevLayers: | ||||
|             self._prevLayers = sandbox.active_layers[0] | ||||
|             self.updateOLED(sandbox) | ||||
|         return | ||||
|   | ||||
		Reference in New Issue
	
	Block a user