1 # SPDX-FileCopyrightText: 2020 Melissa LeBlanc-Williams for Adafruit Industries
3 # SPDX-License-Identifier: MIT
6 `displayio.epaperdisplay`
7 ================================================================================
11 **Software and Dependencies:**
14 https://github.com/adafruit/Adafruit_Blinka/releases
16 * Author(s): Melissa LeBlanc-Williams
21 __version__ = "0.0.0-auto.0"
22 __repo__ = "https://github.com/adafruit/Adafruit_Blinka_displayio.git"
26 """Manage updating an epaper display over a display bus
28 This initializes an epaper display and connects it into CircuitPython. Unlike other
29 objects in CircuitPython, EPaperDisplay objects live until
30 displayio.release_displays() is called. This is done so that CircuitPython can use
33 Most people should not use this class directly. Use a specific display driver instead
34 that will contain the startup and shutdown sequences at minimum.
50 set_column_window_command=None,
51 set_row_window_command=None,
52 single_byte_bounds=False,
53 write_black_ram_command,
54 black_bits_inverted=False,
55 write_color_ram_command=None,
56 color_bits_inverted=False,
57 highlight_color=0x000000,
58 refresh_display_command,
62 seconds_per_frame=180,
63 always_toggle_chip_select=False
65 # pylint: disable=too-many-locals,unnecessary-pass
67 Create a EPaperDisplay object on the given display bus (displayio.FourWire or
68 displayio.ParallelBus).
70 The start_sequence and stop_sequence are bitpacked to minimize the ram impact. Every
71 command begins with a command byte followed by a byte to determine the parameter
72 count and if a delay is need after. When the top bit of the second byte is 1, the
73 next byte will be the delay time in milliseconds. The remaining 7 bits are the
74 parameter count excluding any delay byte. The third through final bytes are the
75 remaining command parameters. The next byte will begin a new command definition.
79 def show(self, group):
80 # pylint: disable=unnecessary-pass
81 """Switches to displaying the given group of layers. When group is None, the default
82 CircuitPython terminal will be shown (eventually).
87 # pylint: disable=unnecessary-pass
88 """Refreshes the display immediately or raises an exception if too soon. Use
89 ``time.sleep(display.time_to_refresh)`` to sleep until a refresh can occur.
94 def time_to_refresh(self):
95 """Time, in fractional seconds, until the ePaper display can be refreshed."""
100 # pylint: disable=unnecessary-pass
106 # pylint: disable=unnecessary-pass
112 # pylint: disable=unnecessary-pass
113 """Current Display Bus"""