Skip to content

[WIP] Rewrite of Blinka DisplayIO from CircuitPython core #71

Open
@lesamouraipourpre

Description

@lesamouraipourpre

Work in Progress :: Rewrite of Adafruit_Blinka_Displayio from CircuitPython core

Repository/Branch: https://github.com/lesamouraipourpre/Adafruit_Blinka_Displayio/tree/display-core

Inception

This work started with the intent of translating display_core.c from CircuitPython core to Blinka to be used as the superclass of Display and EPaperDisplay. Without realising it, it quickly escalated into doing a full re-translation of core displayio to Blinka.

Goals

  • Phase 1
    • Expose the same API as is exposed from core displayio in CircuitPython 7. Done, only partially tested
    • If the API in Blinka is not the same as the API in CircuitPython core, the API in the core takes precedence. Do not care about breaking changes in Blinka DisplayIO. Done
    • To translate vectorio as part of displayio. Done, only partially tested
    • To translate bitmaptools as part of displayio. Done, not tested
  • Phase 2 Testing. Testing. And lots more testing.
  • Phase 3 Decide how best to speed up the code, by further translating some of it to use numpy and maybe PIL/Pillow

Open issues on Blinka DisplayIO

Testing

ST7735R (Color SPI) - Working correctly

0.96" SPI Colour LCD (160x80) from Pimoroni. (Driver ST7735S - using Adafruit_CircuitPython_ST7735R library)

SH1107 (B&W I2C) - Working correctly

1.12" Mono OLED (128x128, white/black) Breakout – I2C from Pimoroni. (Driver SH1107 - using Adafruit_CircuitPython_DisplayIO_SH1107)

SSD1608 / SSD1680 (eInk SPI) - Not working, not sure why

Inky pHAT Black&White - (SSD1608)
Inky pHAT Yellow/Black/White - (Documented as SSD1608 which is only a B&W eInk controller, I'm assuming it is a SSD1680)

WHAT NOW?

If you have any hardware running Blinka and an available display to test with, please test the branch below and report:
https://github.com/lesamouraipourpre/Adafruit_Blinka_Displayio/tree/display-core

Please report any successes or failures as an issue on my repository NOT on adafruit/Adafruit_Blinka_Displayio
https://github.com/lesamouraipourpre/Adafruit_Blinka_Displayio/issues
Note: It is Pure Python, so it WILL BE SLOW. Conversion of parts to NumPy (or alternative) will follow if testing is successful.

I'll try to update the Wiki on my repo as progress is made:
https://github.com/lesamouraipourpre/Adafruit_Blinka_Displayio/wiki

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions