From 68d5b5653d3bbfd94444a06a2b1401d75f95f189 Mon Sep 17 00:00:00 2001 From: Scott Shawcroft Date: Thu, 5 Sep 2019 17:39:22 -0700 Subject: [PATCH] Add displayio E-Paper drivers --- .gitignore | 1 + .gitmodules | 15 +++++++++ docs/drivers.rst | 69 ++++++++++++++++++++++++++++++++------- libraries/drivers/il0373 | 1 + libraries/drivers/il0398 | 1 + libraries/drivers/il91874 | 1 + libraries/drivers/ssd1608 | 1 + libraries/drivers/ssd1675 | 1 + 8 files changed, 78 insertions(+), 12 deletions(-) create mode 160000 libraries/drivers/il0373 create mode 160000 libraries/drivers/il0398 create mode 160000 libraries/drivers/il91874 create mode 160000 libraries/drivers/ssd1608 create mode 160000 libraries/drivers/ssd1675 diff --git a/.gitignore b/.gitignore index 4cac91f3..4296bffa 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ build* *zip .env bundles +.DS_Store diff --git a/.gitmodules b/.gitmodules index 176a829e..3de4c0e3 100644 --- a/.gitmodules +++ b/.gitmodules @@ -535,3 +535,18 @@ [submodule "libraries/helpers/bitmapsaver"] path = libraries/helpers/bitmapsaver url = https://github.com/adafruit/Adafruit_CircuitPython_BitmapSaver.git +[submodule "libraries/drivers/il91874"] + path = libraries/drivers/il91874 + url = https://github.com/adafruit/Adafruit_CircuitPython_IL91874.git +[submodule "libraries/drivers/il0373"] + path = libraries/drivers/il0373 + url = https://github.com/adafruit/Adafruit_CircuitPython_IL0373.git +[submodule "libraries/drivers/il0398"] + path = libraries/drivers/il0398 + url = https://github.com/adafruit/Adafruit_CircuitPython_IL0398.git +[submodule "libraries/drivers/ssd1608"] + path = libraries/drivers/ssd1608 + url = https://github.com/adafruit/Adafruit_CircuitPython_SSD1608.git +[submodule "libraries/drivers/ssd1675"] + path = libraries/drivers/ssd1675 + url = https://github.com/adafruit/Adafruit_CircuitPython_SSD1675.git diff --git a/docs/drivers.rst b/docs/drivers.rst index f466afe7..99ba88aa 100644 --- a/docs/drivers.rst +++ b/docs/drivers.rst @@ -29,6 +29,8 @@ specific boards. Adafruit CircuitPlayground Express Adafruit FeatherWings + PyBadger (PyBadge and PyGamer) + Adafruit PyPortal Helper Libraries ----------------- @@ -57,13 +59,14 @@ Helpers for building graphical interfaces using the displayio core module. Display Button Display Shapes Display Text - PyBadger PYOA Turtle Graphics Slideshow Framebuf Module miniQR Non-hardware QR code generator Image Load + Bitmap Saver + GFX (framebuf) Motor Helpers ^^^^^^^^^^^^^^ @@ -134,6 +137,7 @@ Music, noisemakers, and more. .. toctree:: + MIDI Ring Tone Text Transfer Language (RTTTL) Waveform Generation @@ -150,6 +154,7 @@ Miscellaneous Helpers SD Card SimpleIO USB Human Interface Device (Keyboard and Mouse) + Test Repo Blinky @@ -170,25 +175,63 @@ Displays Drivers used to display information. Either pixel or segment based. +Pixel based displays are implemented in two different ways. The original method called "framebuf" +uses a traditional frame buffer model where all pixels are stored in the microcontroller's ram. The +newer method called "displayio" generates the pixels on the fly and relies on the display's ram to +store the final pixels. "displayio" drivers will also work with CircuitPython to display error +messages and other output to the display when the user code is not using it. + +The "displayio" drivers are recommended. + +Color TFT-LCD +^^^^^^^^^^^^^^^ + +.. toctree:: + + HX8357 (displayio) + ILI9341 and ILI9340 (displayio) + ST7735 (displayio) + ST7735R (displayio) + ST7789 (displayio) + RGB Displays (framebuf) + +OLED +^^^^^^^^^^^^^^^ + +.. toctree:: + + SSD1306 OLED (displayio) + SSD1306 OLED (framebuf) + SSD1322 OLED (displayio) + SSD1325 OLED (displayio) + SSD1327 OLED (displayio) + SSD1331 OLED (displayio) + SSD1351 OLED (displayio) + +E-Paper / E-Ink +^^^^^^^^^^^^^^^ + +.. toctree:: + + E-Paper Display (framebuf) + IL0373 (displayio) + IL0398 (displayio) + IL91874 (displayio) + SSD1608 (displayio) + SSD1675 (displayio) + +Other +^^^^^^^^^^^^^^^ + .. toctree:: Character LCD - E-Paper Display HT16K33 LED Matrices and Segment Displays - HX8357 3.5-inch TFT Display Driver - ILI9341 and ILI9340 TFT-LCD Display Driver IS31FL3731 Charlieplexed LED Matrix MAX7219 LED Matrix Nokia PCD8544 Display RA8875 40-Pin Display Driver - RGB Displays - SSD1306 OLED Driver - SSD1331 OLED Display Driver - SSD1351 OLED Display Driver Sharp Memory Display - ST7735 TFT-LCD displays - ST7735R TFT-LCD displays - ST7789 TFT-LCD displays Real-time clocks ----------------- @@ -221,6 +264,7 @@ Motion relating sensing including ``acceleration``, ``magnetic``, ``gyro``, and LSM9DS1 Accelerometer, Magnetometer, Gyroscope and Temperature MLX90390 3 Axis Magnetometer MMA8451 3 Axis Accelerometer + MSA301 3 Axis Accelerometer TLV493D 3 Axis Magnetometer Environmental Sensors @@ -286,6 +330,7 @@ These sensors measure the ``distance`` to another object and may also measure li Garmin LIDARLite I2C HC-SR04 Ultrasonic Range Sensors + Slamtech RPLidar TFmini IR Time of Flight ~30cm - 12m US-100 Ultrasonic Distance Sensor VL6180x 5 - 100 mm @@ -334,7 +379,6 @@ Miscellaneous 74HC595 Shift Register AMG88xx Grid-Eye IR Camera BD3491FS Audio Processor - Bitmap Saver CAP1188 8-Key Capacitive Touch DRV2605 Haptic Motor Controller DS3502 I2C Potentiometer @@ -346,6 +390,7 @@ Miscellaneous MAX9744 Audio Amplifier NeoTrellis 4x4 Keypad NeoTrellis M4 4x8 Keypad + PyPixelbuf Si4713 Stereo FM Transmitter Si5351 Clock Generator STMPE610 Resistive Touchscreen diff --git a/libraries/drivers/il0373 b/libraries/drivers/il0373 new file mode 160000 index 00000000..8fc5caec --- /dev/null +++ b/libraries/drivers/il0373 @@ -0,0 +1 @@ +Subproject commit 8fc5caecff0b1269c34d68ab081621b367eca11d diff --git a/libraries/drivers/il0398 b/libraries/drivers/il0398 new file mode 160000 index 00000000..0d177fe8 --- /dev/null +++ b/libraries/drivers/il0398 @@ -0,0 +1 @@ +Subproject commit 0d177fe842c175045e0bdf2bfbb1520b2d1cb3f2 diff --git a/libraries/drivers/il91874 b/libraries/drivers/il91874 new file mode 160000 index 00000000..c51983c5 --- /dev/null +++ b/libraries/drivers/il91874 @@ -0,0 +1 @@ +Subproject commit c51983c5178feef83bc478e1e6bf42e0b7e92c22 diff --git a/libraries/drivers/ssd1608 b/libraries/drivers/ssd1608 new file mode 160000 index 00000000..99adf0f1 --- /dev/null +++ b/libraries/drivers/ssd1608 @@ -0,0 +1 @@ +Subproject commit 99adf0f1ac3dc2332d61a54c3b81ada8d9ec1b08 diff --git a/libraries/drivers/ssd1675 b/libraries/drivers/ssd1675 new file mode 160000 index 00000000..61063934 --- /dev/null +++ b/libraries/drivers/ssd1675 @@ -0,0 +1 @@ +Subproject commit 61063934db69ca23611784ba3eb120a3db7fb691