Skip to content

Commit d1e15a7

Browse files
Auto-determine the multiplex from the width or height depending on rotation.
1 parent 9a64875 commit d1e15a7

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

adafruit_displayio_sh1107.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,13 @@ def __init__(
131131
rotation=0,
132132
**kwargs
133133
):
134+
rotation = (rotation + _ROTATION_OFFSET) % 360
135+
if rotation in (0, 180):
136+
multiplex = kwargs["width"] - 1
137+
else:
138+
multiplex = kwargs["height"] - 1
134139
init_sequence = bytearray(_INIT_SEQUENCE)
140+
init_sequence[16] = multiplex
135141
init_sequence[19] = display_offset
136142
super().__init__(
137143
bus,
@@ -143,7 +149,7 @@ def __init__(
143149
data_as_commands=True, # every byte will have a command byte preceding
144150
brightness_command=0x81,
145151
single_byte_bounds=True,
146-
rotation=(rotation + _ROTATION_OFFSET) % 360,
152+
rotation=rotation,
147153
# for sh1107 use column and page addressing.
148154
# lower column command = 0x00 - 0x0F
149155
# upper column command = 0x10 - 0x17

0 commit comments

Comments
 (0)