]> Repositories - hackapet/Adafruit_Blinka_Displayio.git/blobdiff - displayio/epaperdisplay.py
Update the constructor parameters of EPaperDisplay to match the core.
[hackapet/Adafruit_Blinka_Displayio.git] / displayio / epaperdisplay.py
index f7a6e11dbf1eeb9ff62317c703b568df1a0b019e..65af4be7f357a335874830e24d1b4c55305d3ed3 100644 (file)
@@ -1,24 +1,6 @@
-# The MIT License (MIT)
+# SPDX-FileCopyrightText: 2020 Melissa LeBlanc-Williams for Adafruit Industries
 #
-# Copyright (c) 2020 Melissa LeBlanc-Williams for Adafruit Industries
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-# THE SOFTWARE.
+# SPDX-License-Identifier: MIT
 
 """
 `displayio.epaperdisplay`
@@ -39,8 +21,6 @@ displayio for Blinka
 __version__ = "0.0.0-auto.0"
 __repo__ = "https://github.com/adafruit/Adafruit_Blinka_displayio.git"
 
-# pylint: disable=unnecessary-pass, unused-argument
-
 
 class EPaperDisplay:
     """Manage updating an epaper display over a display bus
@@ -54,7 +34,6 @@ class EPaperDisplay:
     that will contain the startup and shutdown sequences at minimum.
     """
 
-    # pylint: disable=too-many-locals
     def __init__(
         self,
         display_bus,
@@ -70,7 +49,8 @@ class EPaperDisplay:
         rotation=0,
         set_column_window_command=None,
         set_row_window_command=None,
-        single_byte_bounds=False,
+        set_current_column_command=None,
+        set_current_row_command=None,
         write_black_ram_command,
         black_bits_inverted=False,
         write_color_ram_command=None,
@@ -81,8 +61,10 @@ class EPaperDisplay:
         busy_pin=None,
         busy_state=True,
         seconds_per_frame=180,
-        always_toggle_chip_select=False
+        always_toggle_chip_select=False,
+        grayscale=False,
     ):
+        # pylint: disable=too-many-locals,unnecessary-pass
         """
         Create a EPaperDisplay object on the given display bus (displayio.FourWire or
         displayio.ParallelBus).
@@ -93,18 +75,54 @@ class EPaperDisplay:
         next byte will be the delay time in milliseconds. The remaining 7 bits are the
         parameter count excluding any delay byte. The third through final bytes are the
         remaining command parameters. The next byte will begin a new command definition.
+
+
+        :param display_bus: The bus that the display is connected to
+        :type _DisplayBus: displayio.FourWire or displayio.ParallelBus
+        :param ~_typing.ReadableBuffer start_sequence: Byte-packed initialization sequence.
+        :param ~_typing.ReadableBuffer stop_sequence: Byte-packed initialization sequence.
+        :param int width: Width in pixels
+        :param int height: Height in pixels
+        :param int ram_width: RAM width in pixels
+        :param int ram_height: RAM height in pixels
+        :param int colstart: The index if the first visible column
+        :param int rowstart: The index if the first visible row
+        :param int rotation: The rotation of the display in degrees clockwise. Must be in
+            90 degree increments (0, 90, 180, 270)
+        :param int set_column_window_command: Command used to set the start and end columns
+            to update
+        :param int set_row_window_command: Command used so set the start and end rows to update
+        :param int set_current_column_command: Command used to set the current column location
+        :param int set_current_row_command: Command used to set the current row location
+        :param int write_black_ram_command: Command used to write pixels values into the update
+            region
+        :param bool black_bits_inverted: True if 0 bits are used to show black pixels. Otherwise,
+            1 means to show black.
+        :param int write_color_ram_command: Command used to write pixels values into the update
+            region
+        :param bool color_bits_inverted: True if 0 bits are used to show the color. Otherwise, 1
+            means to show color.
+        :param int highlight_color: RGB888 of source color to highlight with third ePaper color.
+        :param int refresh_display_command: Command used to start a display refresh
+        :param float refresh_time: Time it takes to refresh the display before the stop_sequence
+            should be sent. Ignored when busy_pin is provided.
+        :param microcontroller.Pin busy_pin: Pin used to signify the display is busy
+        :param bool busy_state: State of the busy pin when the display is busy
+        :param float seconds_per_frame: Minimum number of seconds between screen refreshes
+        :param bool always_toggle_chip_select: When True, chip select is toggled every byte
+        :param bool grayscale: When true, the color ram is the low bit of 2-bit grayscale
         """
         pass
 
-    # pylint: enable=too-many-locals
-
     def show(self, group):
+        # pylint: disable=unnecessary-pass
         """Switches to displaying the given group of layers. When group is None, the default
         CircuitPython terminal will be shown (eventually).
         """
         pass
 
     def refresh(self):
+        # pylint: disable=unnecessary-pass
         """Refreshes the display immediately or raises an exception if too soon. Use
         ``time.sleep(display.time_to_refresh)`` to sleep until a refresh can occur.
         """
@@ -117,15 +135,18 @@ class EPaperDisplay:
 
     @property
     def width(self):
+        # pylint: disable=unnecessary-pass
         """Display Width"""
         pass
 
     @property
     def height(self):
+        # pylint: disable=unnecessary-pass
         """Display Height"""
         pass
 
     @property
     def bus(self):
+        # pylint: disable=unnecessary-pass
         """Current Display Bus"""
         pass