adafruit-circuitpython-qualia 2.0.0__tar.gz → 2.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. adafruit_circuitpython_qualia-2.1.0/.gitattributes +11 -0
  2. adafruit_circuitpython_qualia-2.1.0/.pre-commit-config.yaml +21 -0
  3. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/PKG-INFO +6 -5
  4. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/README.rst +3 -3
  5. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/adafruit_circuitpython_qualia.egg-info/PKG-INFO +6 -5
  6. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/adafruit_circuitpython_qualia.egg-info/SOURCES.txt +2 -1
  7. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/adafruit_qualia/__init__.py +6 -5
  8. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/adafruit_qualia/displays/__init__.py +8 -6
  9. adafruit_circuitpython_qualia-2.1.0/adafruit_qualia/displays/bar240x960.py +97 -0
  10. adafruit_circuitpython_qualia-2.1.0/adafruit_qualia/displays/bar320x820.py +102 -0
  11. adafruit_circuitpython_qualia-2.1.0/adafruit_qualia/displays/bar320x960.py +91 -0
  12. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/adafruit_qualia/displays/round21.py +1 -1
  13. adafruit_circuitpython_qualia-2.1.0/adafruit_qualia/displays/round28.py +94 -0
  14. adafruit_circuitpython_qualia-2.1.0/adafruit_qualia/displays/round40.py +209 -0
  15. adafruit_circuitpython_qualia-2.1.0/adafruit_qualia/displays/square34.py +94 -0
  16. adafruit_circuitpython_qualia-2.1.0/adafruit_qualia/displays/square40_480x480.py +89 -0
  17. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/adafruit_qualia/graphics.py +5 -6
  18. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/adafruit_qualia/network.py +12 -20
  19. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/adafruit_qualia/peripherals.py +2 -2
  20. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/docs/api.rst +3 -0
  21. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/docs/conf.py +2 -6
  22. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/examples/qualia_paint.py +7 -10
  23. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/examples/qualia_qrcode_generation.py +2 -1
  24. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/examples/qualia_quotes.py +1 -0
  25. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/pyproject.toml +1 -1
  26. adafruit_circuitpython_qualia-2.1.0/ruff.toml +108 -0
  27. adafruit_circuitpython_qualia-2.0.0/.pre-commit-config.yaml +0 -42
  28. adafruit_circuitpython_qualia-2.0.0/.pylintrc +0 -399
  29. adafruit_circuitpython_qualia-2.0.0/adafruit_qualia/displays/bar240x960.py +0 -99
  30. adafruit_circuitpython_qualia-2.0.0/adafruit_qualia/displays/bar320x820.py +0 -104
  31. adafruit_circuitpython_qualia-2.0.0/adafruit_qualia/displays/bar320x960.py +0 -93
  32. adafruit_circuitpython_qualia-2.0.0/adafruit_qualia/displays/round28.py +0 -96
  33. adafruit_circuitpython_qualia-2.0.0/adafruit_qualia/displays/round40.py +0 -211
  34. adafruit_circuitpython_qualia-2.0.0/adafruit_qualia/displays/square34.py +0 -96
  35. adafruit_circuitpython_qualia-2.0.0/adafruit_qualia/displays/square40_480x480.py +0 -91
  36. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/.github/PULL_REQUEST_TEMPLATE/adafruit_circuitpython_pr.md +0 -0
  37. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/.github/workflows/build.yml +0 -0
  38. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/.github/workflows/failure-help-text.yml +0 -0
  39. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/.github/workflows/release_gh.yml +0 -0
  40. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/.github/workflows/release_pypi.yml +0 -0
  41. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/.gitignore +0 -0
  42. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/.readthedocs.yaml +0 -0
  43. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/CODE_OF_CONDUCT.md +0 -0
  44. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/LICENSE +0 -0
  45. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/LICENSES/CC-BY-4.0.txt +0 -0
  46. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/LICENSES/MIT.txt +0 -0
  47. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/LICENSES/Unlicense.txt +0 -0
  48. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/README.rst.license +0 -0
  49. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/adafruit_circuitpython_qualia.egg-info/dependency_links.txt +0 -0
  50. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/adafruit_circuitpython_qualia.egg-info/requires.txt +0 -0
  51. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/adafruit_circuitpython_qualia.egg-info/top_level.txt +0 -0
  52. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/adafruit_qualia/displays/square40.py +0 -0
  53. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/docs/_static/favicon.ico +0 -0
  54. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/docs/_static/favicon.ico.license +0 -0
  55. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/docs/api.rst.license +0 -0
  56. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/docs/examples.rst +0 -0
  57. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/docs/examples.rst.license +0 -0
  58. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/docs/index.rst +0 -0
  59. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/docs/index.rst.license +0 -0
  60. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/docs/requirements.txt +0 -0
  61. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/examples/qualia_simpletest.py +0 -0
  62. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/optional_requirements.txt +0 -0
  63. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/requirements.txt +0 -0
  64. {adafruit_circuitpython_qualia-2.0.0 → adafruit_circuitpython_qualia-2.1.0}/setup.cfg +0 -0
@@ -0,0 +1,11 @@
1
+ # SPDX-FileCopyrightText: 2024 Justin Myers for Adafruit Industries
2
+ #
3
+ # SPDX-License-Identifier: Unlicense
4
+
5
+ .py text eol=lf
6
+ .rst text eol=lf
7
+ .txt text eol=lf
8
+ .yaml text eol=lf
9
+ .toml text eol=lf
10
+ .license text eol=lf
11
+ .md text eol=lf
@@ -0,0 +1,21 @@
1
+ # SPDX-FileCopyrightText: 2024 Justin Myers for Adafruit Industries
2
+ #
3
+ # SPDX-License-Identifier: Unlicense
4
+
5
+ repos:
6
+ - repo: https://github.com/pre-commit/pre-commit-hooks
7
+ rev: v4.5.0
8
+ hooks:
9
+ - id: check-yaml
10
+ - id: end-of-file-fixer
11
+ - id: trailing-whitespace
12
+ - repo: https://github.com/astral-sh/ruff-pre-commit
13
+ rev: v0.3.4
14
+ hooks:
15
+ - id: ruff-format
16
+ - id: ruff
17
+ args: ["--fix"]
18
+ - repo: https://github.com/fsfe/reuse-tool
19
+ rev: v3.0.1
20
+ hooks:
21
+ - id: reuse
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: adafruit-circuitpython-qualia
3
- Version: 2.0.0
3
+ Version: 2.1.0
4
4
  Summary: Portal Style Library for the Adafruit Qualia ESP32-S3
5
5
  Author-email: Adafruit Industries <circuitpython@adafruit.com>
6
6
  License: MIT
@@ -24,6 +24,7 @@ Requires-Dist: adafruit-circuitpython-pca9554
24
24
  Requires-Dist: adafruit-circuitpython-cst8xx
25
25
  Requires-Dist: adafruit-circuitpython-focaltouch
26
26
  Provides-Extra: optional
27
+ Dynamic: license-file
27
28
 
28
29
  Introduction
29
30
  ============
@@ -44,9 +45,9 @@ Introduction
44
45
  :alt: Build Status
45
46
 
46
47
 
47
- .. image:: https://img.shields.io/badge/code%20style-black-000000.svg
48
- :target: https://github.com/psf/black
49
- :alt: Code Style: Black
48
+ .. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
49
+ :target: https://github.com/astral-sh/ruff
50
+ :alt: Code Style: Ruff
50
51
 
51
52
  Portal Style Library for the Adafruit Qualia ESP32-S3
52
53
 
@@ -17,9 +17,9 @@ Introduction
17
17
  :alt: Build Status
18
18
 
19
19
 
20
- .. image:: https://img.shields.io/badge/code%20style-black-000000.svg
21
- :target: https://github.com/psf/black
22
- :alt: Code Style: Black
20
+ .. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
21
+ :target: https://github.com/astral-sh/ruff
22
+ :alt: Code Style: Ruff
23
23
 
24
24
  Portal Style Library for the Adafruit Qualia ESP32-S3
25
25
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: adafruit-circuitpython-qualia
3
- Version: 2.0.0
3
+ Version: 2.1.0
4
4
  Summary: Portal Style Library for the Adafruit Qualia ESP32-S3
5
5
  Author-email: Adafruit Industries <circuitpython@adafruit.com>
6
6
  License: MIT
@@ -24,6 +24,7 @@ Requires-Dist: adafruit-circuitpython-pca9554
24
24
  Requires-Dist: adafruit-circuitpython-cst8xx
25
25
  Requires-Dist: adafruit-circuitpython-focaltouch
26
26
  Provides-Extra: optional
27
+ Dynamic: license-file
27
28
 
28
29
  Introduction
29
30
  ============
@@ -44,9 +45,9 @@ Introduction
44
45
  :alt: Build Status
45
46
 
46
47
 
47
- .. image:: https://img.shields.io/badge/code%20style-black-000000.svg
48
- :target: https://github.com/psf/black
49
- :alt: Code Style: Black
48
+ .. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
49
+ :target: https://github.com/astral-sh/ruff
50
+ :alt: Code Style: Ruff
50
51
 
51
52
  Portal Style Library for the Adafruit Qualia ESP32-S3
52
53
 
@@ -1,6 +1,6 @@
1
+ .gitattributes
1
2
  .gitignore
2
3
  .pre-commit-config.yaml
3
- .pylintrc
4
4
  .readthedocs.yaml
5
5
  CODE_OF_CONDUCT.md
6
6
  LICENSE
@@ -9,6 +9,7 @@ README.rst.license
9
9
  optional_requirements.txt
10
10
  pyproject.toml
11
11
  requirements.txt
12
+ ruff.toml
12
13
  .github/PULL_REQUEST_TEMPLATE/adafruit_circuitpython_pr.md
13
14
  .github/workflows/build.yml
14
15
  .github/workflows/failure-help-text.yml
@@ -28,17 +28,19 @@ Implementation Notes
28
28
  """
29
29
 
30
30
  import gc
31
+
31
32
  from adafruit_portalbase import PortalBase
32
- from .network import Network
33
+
33
34
  from .graphics import Graphics
35
+ from .network import Network
34
36
  from .peripherals import Peripherals
35
37
 
36
38
  try:
37
- from typing import Optional, Dict, Union, Callable, Sequence, List
39
+ from typing import Callable, Dict, List, Optional, Sequence, Union
38
40
  except ImportError:
39
41
  pass
40
42
 
41
- __version__ = "2.0.0"
43
+ __version__ = "2.1.0"
42
44
  __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_Qualia.git"
43
45
 
44
46
 
@@ -67,7 +69,6 @@ class Qualia(PortalBase):
67
69
 
68
70
  """
69
71
 
70
- # pylint: disable=too-few-public-methods
71
72
  def __init__(
72
73
  self,
73
74
  display_type: str,
@@ -81,7 +82,7 @@ class Qualia(PortalBase):
81
82
  rotation: int = 0,
82
83
  scale: int = 1,
83
84
  debug: bool = False,
84
- use_network: bool = True
85
+ use_network: bool = True,
85
86
  ) -> None:
86
87
  if use_network:
87
88
  network = Network(
@@ -13,15 +13,17 @@ DotClock Display Base Class
13
13
  * Author(s): Melissa LeBlanc-Williams
14
14
 
15
15
  """
16
+
16
17
  import time
17
- import busio
18
+
18
19
  import board
19
- import espidf
20
+ import busio
20
21
  import dotclockframebuffer
21
- from framebufferio import FramebufferDisplay
22
- from displayio import release_displays
23
- from adafruit_focaltouch import Adafruit_FocalTouch
22
+ import espidf
24
23
  from adafruit_cst8xx import Adafruit_CST8XX
24
+ from adafruit_focaltouch import Adafruit_FocalTouch
25
+ from displayio import release_displays
26
+ from framebufferio import FramebufferDisplay
25
27
 
26
28
  TOUCH_FOCALTOUCH = Adafruit_FocalTouch
27
29
  TOUCH_CST826 = Adafruit_CST8XX
@@ -35,7 +37,7 @@ class DotClockDisplay:
35
37
  def __init__(self):
36
38
  release_displays()
37
39
  board.I2C().deinit()
38
- self._init_sequence = bytes()
40
+ self._init_sequence = b""
39
41
  self._timings = {}
40
42
  self._bus_frequency = 100_000
41
43
  self._touch_driver = TOUCH_FOCALTOUCH
@@ -0,0 +1,97 @@
1
+ # SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
2
+ # SPDX-FileCopyrightText: Copyright (c) 2023 Melissa LeBlanc-Williams for Adafruit Industries
3
+ #
4
+ # SPDX-License-Identifier: MIT
5
+
6
+ """
7
+ `adafruit_qualia.displays.bar240x960`
8
+ ================================================================================
9
+
10
+ 3.71" 240x960 Bar DotClock Display Class
11
+
12
+
13
+ * Author(s): Melissa LeBlanc-Williams
14
+
15
+ Implementation Notes
16
+ --------------------
17
+
18
+ **Hardware:**
19
+
20
+ * `Rectangle Bar RGB TTL TFT Display - 3.7" 240x960 No Touchscreen
21
+ <https://www.adafruit.com/product/5799>`_
22
+
23
+ """
24
+
25
+ from . import DotClockDisplay
26
+
27
+
28
+ class Bar240x960(DotClockDisplay):
29
+ """HD371001C40 display driver"""
30
+
31
+ def __init__(self):
32
+ super().__init__()
33
+ self._init_sequence = bytes(
34
+ b"\xff\x05w\x01\x00\x00\x13"
35
+ b"\xef\x01\x08"
36
+ b"\xff\x05w\x01\x00\x00\x10"
37
+ b"\xc0\x02w\x00"
38
+ b"\xc1\x02\x11\x0c"
39
+ b"\xc2\x02\x07\x02"
40
+ b"\xcc\x010"
41
+ b"\xb0\x10\x06\xcf\x14\x0c\x0f\x03\x00\n\x07\x1b\x03\x12\x10%6\x1e"
42
+ b"\xb1\x10\x0c\xd4\x18\x0c\x0e\x06\x03\x06\x08#\x06\x12\x100/\x1f"
43
+ b"\xff\x05w\x01\x00\x00\x11"
44
+ b"\xb0\x01s"
45
+ b"\xb1\x01|"
46
+ b"\xb2\x01\x83"
47
+ b"\xb3\x01\x80"
48
+ b"\xb5\x01I"
49
+ b"\xb7\x01\x87"
50
+ b"\xb8\x013"
51
+ b"\xb9\x02\x10\x1f"
52
+ b"\xbb\x01\x03"
53
+ b"\xc1\x01\x08"
54
+ b"\xc2\x01\x08"
55
+ b"\xd0\x01\x88"
56
+ b"\xe0\x06\x00\x00\x02\x00\x00\x0c"
57
+ b"\xe1\x0b\x05\x96\x07\x96\x06\x96\x08\x96\x00DD"
58
+ b"\xe2\x0c\x00\x00\x03\x03\x00\x00\x02\x00\x00\x00\x02\x00"
59
+ b"\xe3\x04\x00\x0033"
60
+ b"\xe4\x02DD"
61
+ b"\xe5\x10\r\xd4(\x8c\x0f\xd6(\x8c\t\xd0(\x8c\x0b\xd2(\x8c"
62
+ b"\xe6\x04\x00\x0033"
63
+ b"\xe7\x02DD"
64
+ b"\xe8\x10\x0e\xd5(\x8c\x10\xd7(\x8c\n\xd1(\x8c\x0c\xd3(\x8c"
65
+ b"\xeb\x06\x00\x01\xe4\xe4D\x00"
66
+ b"\xed\x10\xf3\xc1\xba\x0ffwDUUDwf\xf0\xab\x1c?"
67
+ b"\xef\x06\x10\r\x04\x08?\x1f"
68
+ b"\xff\x05w\x01\x00\x00\x13"
69
+ b"\xe8\x02\x00\x0e"
70
+ b"\x11\x80x"
71
+ b"\xe8\x82\x00\x0c\n"
72
+ b"\xe8\x02@\x00"
73
+ b"\xff\x05w\x01\x00\x00\x00"
74
+ b"6\x01\x00"
75
+ b":\x01f"
76
+ b")\x80\x14"
77
+ b"\xff\x05w\x01\x00\x00\x10"
78
+ b"\xe5\x02\x00\x00"
79
+ )
80
+
81
+ self._timings = {
82
+ "frequency": 16000000,
83
+ "width": 240,
84
+ "height": 960,
85
+ "overscan_left": 120,
86
+ "hsync_pulse_width": 8,
87
+ "hsync_back_porch": 20,
88
+ "hsync_front_porch": 20,
89
+ "hsync_idle_low": False,
90
+ "vsync_pulse_width": 8,
91
+ "vsync_back_porch": 20,
92
+ "vsync_front_porch": 20,
93
+ "vsync_idle_low": False,
94
+ "pclk_active_high": True,
95
+ "pclk_idle_high": False,
96
+ "de_idle_high": False,
97
+ }
@@ -0,0 +1,102 @@
1
+ # SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
2
+ # SPDX-FileCopyrightText: Copyright (c) 2023 Melissa LeBlanc-Williams for Adafruit Industries
3
+ #
4
+ # SPDX-License-Identifier: MIT
5
+
6
+ """
7
+ `adafruit_qualia.displays.bar320x820`
8
+ ================================================================================
9
+
10
+ 3.2" 320x820 Bar DotClock Display Class
11
+
12
+
13
+ * Author(s): Melissa LeBlanc-Williams
14
+
15
+ Implementation Notes
16
+ --------------------
17
+
18
+ **Hardware:**
19
+
20
+ * `Rectangle Bar RGB TTL TFT Display - 3.2" 320x820 with Cap Touch
21
+ <https://www.adafruit.com/product/5797>`_
22
+ * `Rectangle RGB TTL TFT Display - 3.2" 320x820 No Touchscreen
23
+ <https://www.adafruit.com/product/5828>`_
24
+
25
+ """
26
+
27
+ from . import DotClockDisplay
28
+
29
+
30
+ class Bar320x820(DotClockDisplay):
31
+ """TL032FWV01 display driver"""
32
+
33
+ def __init__(self):
34
+ super().__init__()
35
+ self._bus_frequency = 400_000
36
+ self._init_sequence = bytes(
37
+ b"\x11\x80d"
38
+ b"\xff\x05w\x01\x00\x00\x13"
39
+ b"\xef\x01\x08"
40
+ b"\xff\x05w\x01\x00\x00\x10"
41
+ b"\xc0\x02\xe5\x02"
42
+ b"\xc1\x02\x0c\n"
43
+ b"\xc2\x02\x07\x0f"
44
+ b"\xc3\x01\x02"
45
+ b"\xcc\x01\x10"
46
+ b"\xcd\x01\x08"
47
+ b"\xb0\x10\x00\x08Q\r\xce\x06\x00\x08\x08\x1d\x02\xd0\x0fo6?"
48
+ b"\xb1\x10\x00\x10O\x0c\x11\x05\x00\x07\x07\x1f\x05\xd3\x11n4?"
49
+ b"\xff\x05w\x01\x00\x00\x11"
50
+ b"\xb0\x01M"
51
+ b"\xb1\x01\x1c"
52
+ b"\xb2\x01\x87"
53
+ b"\xb3\x01\x80"
54
+ b"\xb5\x01G"
55
+ b"\xb7\x01\x85"
56
+ b"\xb8\x01!"
57
+ b"\xb9\x01\x10"
58
+ b"\xc1\x01x"
59
+ b"\xc2\x01x"
60
+ b"\xd0\x81\x88d"
61
+ b"\xe0\x03\x80\x00\x02"
62
+ b"\xe1\x0b\x04\xa0\x00\x00\x05\xa0\x00\x00\x00``"
63
+ b"\xe2\r00``<\xa0\x00\x00=\xa0\x00\x00\x00"
64
+ b"\xe3\x04\x00\x0033"
65
+ b"\xe4\x02DD"
66
+ b"\xe5\x10\x06>\xa0\xa0\x08@\xa0\xa0\nB\xa0\xa0\x0cD\xa0\xa0"
67
+ b"\xe6\x04\x00\x0033"
68
+ b"\xe7\x02DD"
69
+ b"\xe8\x10\x07?\xa0\xa0\tA\xa0\xa0\x0bC\xa0\xa0\rE\xa0\xa0"
70
+ b"\xeb\x07\x00\x01NN\xeeD\x00"
71
+ b"\xed\x10\xff\xff\x04Vr\xff\xff\xff\xff\xff\xff'e@\xff\xff"
72
+ b"\xef\x06\x10\r\x04\x08?\x1f"
73
+ b"\xff\x05w\x01\x00\x00\x13"
74
+ b"\xe8\x02\x00\x0e"
75
+ b"\xff\x05w\x01\x00\x00\x00"
76
+ b"\x11\x80x"
77
+ b"\xff\x05w\x01\x00\x00\x13"
78
+ b"\xe8\x82\x00\x0c\n"
79
+ b"\xe8\x02\x00\x00"
80
+ b"\xff\x05w\x01\x00\x00\x00"
81
+ b"6\x01\x00"
82
+ b":\x01f"
83
+ b"\x11\x80x"
84
+ b")\x80x"
85
+ )
86
+
87
+ self._timings = {
88
+ "frequency": 16000000,
89
+ "width": 320,
90
+ "height": 820,
91
+ "hsync_pulse_width": 3,
92
+ "hsync_back_porch": 251,
93
+ "hsync_front_porch": 150,
94
+ "hsync_idle_low": False,
95
+ "vsync_pulse_width": 6,
96
+ "vsync_back_porch": 90,
97
+ "vsync_front_porch": 100,
98
+ "vsync_idle_low": False,
99
+ "pclk_active_high": False,
100
+ "pclk_idle_high": False,
101
+ "de_idle_high": False,
102
+ }
@@ -0,0 +1,91 @@
1
+ # SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
2
+ # SPDX-FileCopyrightText: Copyright (c) 2023 Melissa LeBlanc-Williams for Adafruit Industries
3
+ #
4
+ # SPDX-License-Identifier: MIT
5
+
6
+ """
7
+ `adafruit_qualia.displays.bar320x960`
8
+ ================================================================================
9
+
10
+ 4.58" 320x960 Bar DotClock Display Class
11
+
12
+
13
+ * Author(s): Melissa LeBlanc-Williams
14
+
15
+ Implementation Notes
16
+ --------------------
17
+
18
+ **Hardware:**
19
+
20
+ * `Rectangle Bar RGB TTL TFT Display - 4.58" 320x960 No Touchscreen
21
+ <https://www.adafruit.com/product/5805>`_
22
+
23
+ """
24
+
25
+ from . import DotClockDisplay
26
+
27
+
28
+ class Bar320x960(DotClockDisplay):
29
+ """HD458002C40 display driver"""
30
+
31
+ def __init__(self):
32
+ super().__init__()
33
+ self._init_sequence = bytes(
34
+ b"\xff\x05w\x01\x00\x00\x13"
35
+ b"\xef\x01\x08"
36
+ b"\xff\x05w\x01\x00\x00\x10"
37
+ b"\xc0\x02w\x00"
38
+ b"\xc1\x02\t\x08"
39
+ b"\xc2\x02\x01\x02"
40
+ b"\xc3\x01\x02"
41
+ b"\xcc\x01\x10"
42
+ b"\xb0\x10@\x14Y\x10\x12\x08\x03\t\x05\x1e\x05\x14\x10h3\x15"
43
+ b"\xb1\x10@\x08S\t\x11\t\x02\x07\t\x1a\x04\x12\x12d))"
44
+ b"\xff\x05w\x01\x00\x00\x11"
45
+ b"\xb0\x01m"
46
+ b"\xb1\x01\x1d"
47
+ b"\xb2\x01\x87"
48
+ b"\xb3\x01\x80"
49
+ b"\xb5\x01I"
50
+ b"\xb7\x01\x85"
51
+ b"\xb8\x01 "
52
+ b"\xc1\x01x"
53
+ b"\xc2\x01x"
54
+ b"\xd0\x01\x88"
55
+ b"\xe0\x03\x00\x00\x02"
56
+ b"\xe1\x0b\x02\x8c\x00\x00\x03\x8c\x00\x00\x0033"
57
+ b"\xe2\r3333\xc9<\x00\x00\xca<\x00\x00\x00"
58
+ b"\xe3\x04\x00\x0033"
59
+ b"\xe4\x02DD"
60
+ b"\xe5\x10\x05\xcd\x82\x82\x01\xc9\x82\x82\x07\xcf\x82\x82\x03\xcb\x82\x82"
61
+ b"\xe6\x04\x00\x0033"
62
+ b"\xe7\x02DD"
63
+ b"\xe8\x10\x06\xce\x82\x82\x02\xca\x82\x82\x08\xd0\x82\x82\x04\xcc\x82\x82"
64
+ b"\xeb\x07\x08\x01\xe4\xe4\x88\x00@"
65
+ b"\xec\x03\x00\x00\x00"
66
+ b"\xed\x10\xff\xf0\x07eO\xfc\xc2/\xf2,\xcf\xf4Vp\x0f\xff"
67
+ b"\xef\x06\x10\r\x04\x08?\x1f"
68
+ b"\xff\x05w\x01\x00\x00\x00"
69
+ b"\x11\x80x"
70
+ b"5\x01\x00"
71
+ b":\x81fd"
72
+ b")\x00"
73
+ )
74
+
75
+ self._timings = {
76
+ "frequency": 16000000,
77
+ "width": 320,
78
+ "height": 960,
79
+ "overscan_left": 80,
80
+ "hsync_pulse_width": 10,
81
+ "hsync_front_porch": 30,
82
+ "hsync_back_porch": 50,
83
+ "hsync_idle_low": False,
84
+ "vsync_pulse_width": 2,
85
+ "vsync_front_porch": 15,
86
+ "vsync_back_porch": 17,
87
+ "vsync_idle_low": False,
88
+ "pclk_active_high": False,
89
+ "pclk_idle_high": False,
90
+ "de_idle_high": False,
91
+ }
@@ -24,7 +24,7 @@ Implementation Notes
24
24
 
25
25
  """
26
26
 
27
- from . import DotClockDisplay, TOUCH_CST826
27
+ from . import TOUCH_CST826, DotClockDisplay
28
28
 
29
29
 
30
30
  class Round21(DotClockDisplay):
@@ -0,0 +1,94 @@
1
+ # SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
2
+ # SPDX-FileCopyrightText: Copyright (c) 2023 Melissa LeBlanc-Williams for Adafruit Industries
3
+ #
4
+ # SPDX-License-Identifier: MIT
5
+
6
+ """
7
+ `adafruit_qualia.displays.round28`
8
+ ================================================================================
9
+
10
+ 2.8" 480x480 Round DotClock Display Class
11
+
12
+
13
+ * Author(s): Melissa LeBlanc-Williams
14
+
15
+ Implementation Notes
16
+ --------------------
17
+
18
+ **Hardware:**
19
+
20
+ * `Round RGB 666 TTL TFT Display - 2.8" 480x480 - No Touch
21
+ <https://www.adafruit.com/product/5852>`_
22
+
23
+ """
24
+
25
+ from . import DotClockDisplay
26
+
27
+
28
+ class Round28(DotClockDisplay):
29
+ """TL028WVC01 display driver"""
30
+
31
+ def __init__(self):
32
+ super().__init__()
33
+ self._init_sequence = bytes(
34
+ b"\xff\x05w\x01\x00\x00\x13"
35
+ b"\xef\x01\x08"
36
+ b"\xff\x05w\x01\x00\x00\x10"
37
+ b"\xc0\x02;\x00"
38
+ b"\xc1\x02\x10\x0c"
39
+ b"\xc2\x02\x07\n"
40
+ b"\xc7\x01\x00"
41
+ b"\xcc\x01\x10"
42
+ b"\xcd\x01\x08"
43
+ b"\xb0\x10\x05\x12\x98\x0e\x0f\x07\x07\t\t#\x05R\x0fg,\x11"
44
+ b'\xb1\x10\x0b\x11\x97\x0c\x12\x06\x06\x08\x08"\x03Q\x11f+\x0f'
45
+ b"\xff\x05w\x01\x00\x00\x11"
46
+ b"\xb0\x01]"
47
+ b"\xb1\x01-"
48
+ b"\xb2\x01\x81"
49
+ b"\xb3\x01\x80"
50
+ b"\xb5\x01N"
51
+ b"\xb7\x01\x85"
52
+ b"\xb8\x01 "
53
+ b"\xc1\x01x"
54
+ b"\xc2\x01x"
55
+ b"\xd0\x01\x88"
56
+ b"\xe0\x03\x00\x00\x02"
57
+ b"\xe1\x0b\x060\x080\x050\x070\x0033"
58
+ b"\xe2\x0c\x11\x1133\xf4\x00\x00\x00\xf4\x00\x00\x00"
59
+ b"\xe3\x04\x00\x00\x11\x11"
60
+ b"\xe4\x02DD"
61
+ b"\xe5\x10\r\xf50\xf0\x0f\xf70\xf0\t\xf10\xf0\x0b\xf30\xf0"
62
+ b"\xe6\x04\x00\x00\x11\x11"
63
+ b"\xe7\x02DD"
64
+ b"\xe8\x10\x0c\xf40\xf0\x0e\xf60\xf0\x08\xf00\xf0\n\xf20\xf0"
65
+ b"\xe9\x026\x01"
66
+ b"\xeb\x07\x00\x01\xe4\xe4D\x88@"
67
+ b"\xed\x10\xff\x10\xafvT+\xcf\xff\xff\xfc\xb2Eg\xfa\x01\xff"
68
+ b"\xef\x06\x08\x08\x08E?T"
69
+ b"\xff\x05w\x01\x00\x00\x00"
70
+ b"\x11\x80x"
71
+ b":\x01f"
72
+ b"6\x01\x00"
73
+ b"5\x01\x00"
74
+ b")\x802"
75
+ )
76
+
77
+ self._timings = {
78
+ "frequency": 15_000_000,
79
+ "width": 480,
80
+ "height": 480,
81
+ "hsync_pulse_width": 2,
82
+ "hsync_back_porch": 10,
83
+ "hsync_front_porch": 10,
84
+ "hsync_idle_low": False,
85
+ "vsync_pulse_width": 6,
86
+ "vsync_back_porch": 10,
87
+ "vsync_front_porch": 10,
88
+ "vsync_idle_low": False,
89
+ "pclk_active_high": True,
90
+ "pclk_idle_high": False,
91
+ "de_idle_high": False,
92
+ }
93
+
94
+ self._round = True