X-Git-Url: https://git.ayoreis.com/hackapet/Adafruit_Blinka_Displayio.git/blobdiff_plain/2f6bbdec8ccab766c62f30b695e907518bbc437f..622133713388c31604224bd5b5b758a28b3cf4b0:/displayio/_i2cdisplay.py diff --git a/displayio/_i2cdisplay.py b/displayio/_i2cdisplay.py index 2647659..b5de381 100644 --- a/displayio/_i2cdisplay.py +++ b/displayio/_i2cdisplay.py @@ -53,6 +53,14 @@ class I2CDisplay: self._i2c = i2c_bus self._dev_addr = device_address + def __new__(cls, *args, **kwargs): + from . import ( # pylint: disable=import-outside-toplevel, cyclic-import + allocate_display_bus, + ) + + allocate_display_bus(cls) + return super().__new__(cls) + def _release(self): self.reset() self._i2c.deinit() @@ -89,10 +97,9 @@ class I2CDisplay: def _send( self, data_type: int, - chip_select: int, + _chip_select: int, # Chip select behavior data: circuitpython_typing.ReadableBuffer, ): - # pylint: disable=unused-argument if data_type == DISPLAY_COMMAND: n = len(data) if n > 0: @@ -101,12 +108,12 @@ class I2CDisplay: command_bytes[2 * i] = 0x80 command_bytes[2 * i + 1] = data[i] - self._i2c.writeto(self._dev_addr, buffer=command_bytes, stop=True) + self._i2c.writeto(self._dev_addr, buffer=command_bytes) else: data_bytes = bytearray(len(data) + 1) data_bytes[0] = 0x40 data_bytes[1:] = data - self._i2c.writeto(self._dev_addr, buffer=data_bytes, stop=True) + self._i2c.writeto(self._dev_addr, buffer=data_bytes) def _end_transaction(self) -> None: """Release the bus after sending data."""