paralleldisplaybus
– Native helpers for driving parallel displays
Available on these boards
- class paralleldisplaybus.ParallelBus(*, command: microcontroller.Pin, chip_select: microcontroller.Pin, write: microcontroller.Pin, data0: microcontroller.Pin | None = None, data_pins: Sequence[microcontroller.Pin] | None = None, read: microcontroller.Pin | None, reset: microcontroller.Pin | None = None, frequency: int = 30000000)
Manage updating a display over 8-bit parallel bus in the background while Python code runs. This protocol may be referred to as 8080-I Series Parallel Interface in datasheets. It doesn’t handle display initialization.
Create a ParallelBus object associated with the given pins. The bus is inferred from data0 by implying the next 7 additional pins on a given GPIO port.
The parallel bus and pins are then in use by the display until
displayio.release_displays()
is called even after a reload. (It does this so CircuitPython can use the display after your code is done.) So, the first time you initialize a display bus in code.py you should calldisplayio.release_displays()
first, otherwise it will error after the first code.py run.- Parameters:
data_pins (microcontroller.Pin) – A list of data pins. Specify exactly one of
data_pins
ordata0
.data0 (microcontroller.Pin) – The first data pin. The rest are implied
command (microcontroller.Pin) – Data or command pin
chip_select (microcontroller.Pin) – Chip select pin
write (microcontroller.Pin) – Write pin
read (microcontroller.Pin) – Read pin, optional
reset (microcontroller.Pin) – Reset pin, optional
frequency (int) – The communication frequency in Hz for the display on the bus
- reset() None
Performs a hardware reset via the reset pin. Raises an exception if called when no reset pin is available.
- send(command: int, data: circuitpython_typing.ReadableBuffer) None
Sends the given command value followed by the full set of data. Display state, such as vertical scroll, set via
send
may or may not be reset once the code is done.