Skip to content

Commit 6ca6455

Browse files
authored
Merge pull request #111 from matt-land/add-types-pycon-2023
initial typing support, mypy passes
2 parents d7ebf6d + 2c7e95d commit 6ca6455

12 files changed

+333
-171
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# SPDX-FileCopyrightText: 2022 Kattni Rembor, written for Adafruit Industries
2+
# SPDX-FileCopyrightText: 2023 Matt Land
23
#
34
# SPDX-License-Identifier: MIT
45

@@ -47,3 +48,5 @@ _build
4748
.idea
4849
.vscode
4950
*~
51+
52+
.mypy_cache/

adafruit_rgb_display/hx8353.py

+18-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# SPDX-FileCopyrightText: 2017 Radomir Dopieralski for Adafruit Industries
2+
# SPDX-FileCopyrightText: 2023 Matt Land
23
#
34
# SPDX-License-Identifier: MIT
45

@@ -8,11 +9,17 @@
89
910
A simple driver for the HX8353-based displays.
1011
11-
* Author(s): Radomir Dopieralski, Michael McWethy
12+
* Author(s): Radomir Dopieralski, Michael McWethy, Matt Land
1213
"""
1314
from micropython import const
1415
from adafruit_rgb_display.rgb import DisplaySPI
1516

17+
try:
18+
from typing import Optional
19+
import digitalio
20+
import busio
21+
except ImportError:
22+
pass
1623

1724
__version__ = "0.0.0+auto.0"
1825
__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display.git"
@@ -59,5 +66,14 @@ class HX8353(DisplaySPI):
5966
_ENCODE_POS = ">HH"
6067

6168
# pylint: disable-msg=useless-super-delegation, too-many-arguments
62-
def __init__(self, spi, dc, cs, rst=None, width=128, height=128, rotation=0):
69+
def __init__(
70+
self,
71+
spi: busio.SPI,
72+
dc: digitalio.DigitalInOut,
73+
cs: digitalio.DigitalInOut,
74+
rst: Optional[digitalio.DigitalInOut] = None,
75+
width: int = 128,
76+
height: int = 128,
77+
rotation: int = 0,
78+
) -> None:
6379
super().__init__(spi, dc, cs, rst, width, height, rotation)

adafruit_rgb_display/hx8357.py

+19-11
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# SPDX-FileCopyrightText: 2019 Melissa LeBlanc-Williams for Adafruit Industries
2+
# SPDX-FileCopyrightText: 2023 Matt Land
23
#
34
# SPDX-License-Identifier: MIT
45

@@ -8,11 +9,18 @@
89
910
A simple driver for the HX8357-based displays.
1011
11-
* Author(s): Melissa LeBlanc-Williams
12+
* Author(s): Melissa LeBlanc-Williams, Matt Land
1213
"""
1314
from micropython import const
1415
from adafruit_rgb_display.rgb import DisplaySPI
1516

17+
try:
18+
from typing import Optional
19+
import digitalio
20+
import busio
21+
except ImportError:
22+
pass
23+
1624
__version__ = "0.0.0+auto.0"
1725
__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display.git"
1826

@@ -94,16 +102,16 @@ class HX8357(DisplaySPI):
94102
# pylint: disable-msg=useless-super-delegation, too-many-arguments
95103
def __init__(
96104
self,
97-
spi,
98-
dc,
99-
cs,
100-
rst=None,
101-
width=480,
102-
height=320,
103-
baudrate=16000000,
104-
polarity=0,
105-
phase=0,
106-
rotation=0,
105+
spi: busio.SPI,
106+
dc: digitalio.DigitalInOut,
107+
cs: digitalio.DigitalInOut,
108+
rst: Optional[digitalio.DigitalInOut] = None,
109+
width: int = 480,
110+
height: int = 320,
111+
baudrate: int = 16000000,
112+
polarity: int = 0,
113+
phase: int = 0,
114+
rotation: int = 0,
107115
):
108116
super().__init__(
109117
spi,

adafruit_rgb_display/ili9341.py

+22-12
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# SPDX-FileCopyrightText: 2017 Radomir Dopieralski for Adafruit Industries
2+
# SPDX-FileCopyrightText: 2023 Matt Land
23
#
34
# SPDX-License-Identifier: MIT
45

@@ -8,12 +9,19 @@
89
910
A simple driver for the ILI9341/ILI9340-based displays.
1011
11-
* Author(s): Radomir Dopieralski, Michael McWethy
12+
* Author(s): Radomir Dopieralski, Michael McWethy, Matt Land
1213
"""
1314
import struct
1415

1516
from adafruit_rgb_display.rgb import DisplaySPI
1617

18+
try:
19+
from typing import Optional
20+
import digitalio
21+
import busio
22+
except ImportError:
23+
pass
24+
1725
__version__ = "0.0.0+auto.0"
1826
__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display.git"
1927

@@ -74,16 +82,16 @@ class ILI9341(DisplaySPI):
7482
# pylint: disable-msg=too-many-arguments
7583
def __init__(
7684
self,
77-
spi,
78-
dc,
79-
cs,
80-
rst=None,
81-
width=240,
82-
height=320,
83-
baudrate=16000000,
84-
polarity=0,
85-
phase=0,
86-
rotation=0,
85+
spi: busio.SPI,
86+
dc: digitalio.DigitalInOut,
87+
cs: digitalio.DigitalInOut,
88+
rst: Optional[digitalio.DigitalInOut] = None,
89+
width: int = 240,
90+
height: int = 320,
91+
baudrate: int = 16000000,
92+
polarity: int = 0,
93+
phase: int = 0,
94+
rotation: int = 0,
8795
):
8896
super().__init__(
8997
spi,
@@ -101,7 +109,9 @@ def __init__(
101109

102110
# pylint: enable-msg=too-many-arguments
103111

104-
def scroll(self, dy=None): # pylint: disable-msg=invalid-name
112+
def scroll(
113+
self, dy: Optional[int] = None # pylint: disable-msg=invalid-name
114+
) -> Optional[int]:
105115
"""Scroll the display by delta y"""
106116
if dy is None:
107117
return self._scroll

0 commit comments

Comments
 (0)