#
on_rtd = os.environ.get("READTHEDOCS", None) == "True"
-if not on_rtd: # only import and set the theme if we're building docs locally
- try:
- import sphinx_rtd_theme
-
- html_theme = "sphinx_rtd_theme"
- html_theme_path = [sphinx_rtd_theme.get_html_theme_path(), "."]
- except:
- html_theme = "default"
- html_theme_path = ["."]
-else:
- html_theme_path = ["."]
+html_theme = "sphinx_rtd_theme"
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
"""
import time
+from typing import Optional
+
import busio
import digitalio
from circuitpython_typing import ReadableBuffer
done.
"""
self._begin_transaction()
- self._send(DISPLAY_COMMAND, CHIP_SELECT_UNTOUCHED, bytes([command] + data))
+ self._send(DISPLAY_COMMAND, CHIP_SELECT_UNTOUCHED, data, command)
self._end_transaction()
def _send(
data_type: int,
_chip_select: int, # Chip select behavior
data: ReadableBuffer,
+ command: Optional[int] = None,
):
+ # pylint: disable=too-many-branches
if data_type == DISPLAY_COMMAND:
n = len(data)
+ if command is not None:
+ n += 1
if n > 0:
command_bytes = bytearray(n * 2)
for i in range(n):
command_bytes[2 * i] = 0x80
- command_bytes[2 * i + 1] = data[i]
+ if command is not None:
+ if i > 0:
+ command_bytes[2 * i + 1] = data[i]
+ else:
+ command_bytes[2 * i + 1] = command
+ else:
+ command_bytes[2 * i + 1] = data[i]
try:
self._i2c.writeto(self._dev_addr, buffer=command_bytes)
) from error
raise error
else:
- data_bytes = bytearray(len(data) + 1)
+ size = len(data) + 1
+ if command is not None:
+ size += 1
+ data_bytes = bytearray(size)
data_bytes[0] = 0x40
- data_bytes[1:] = data
+ if command is not None:
+ data_bytes[1] = command
+ data_bytes[2:] = data
+ else:
+ data_bytes[1:] = data
try:
self._i2c.writeto(self._dev_addr, buffer=data_bytes)
except OSError as error: