X-Git-Url: https://git.ayoreis.com/hackapet/Adafruit_Blinka_Displayio.git/blobdiff_plain/4a67419e5491a3f977a6aafa45ebc1d96cee3aef..3da2171db11127bbfdd05be7a3d7f5b7d594d13b:/displayio/epaperdisplay.py?ds=inline diff --git a/displayio/epaperdisplay.py b/displayio/epaperdisplay.py index f7a6e11..65af4be 100644 --- a/displayio/epaperdisplay.py +++ b/displayio/epaperdisplay.py @@ -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