Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
I2C not currently functional.
  • Loading branch information
kattni committed Nov 20, 2018
commit 6e064f91a0d34ccfce688fb83effed72315572f3
75 changes: 0 additions & 75 deletions adafruit_character_lcd/character_lcd.py
Original file line number Diff line number Diff line change
Expand Up @@ -687,78 +687,3 @@ def color(self, color):
# 0 (on) to pin for any value greater than 0, or 1 (off) for 0:
pin.value = 0 if color[number] > 0 else 1


class Character_LCD_I2C(Character_LCD):
"""Character LCD connected to I2C/SPI backpack using its I2C connection.
This is a subclass of Character_LCD and implements all of the same
functions and functionality.

To use, import and initialise as follows:

.. code-block:: python

import board
import busio
import adafruit_character_lcd.character_lcd_mono as character_lcd

i2c = busio.I2C(board.SCL, board.SDA)
lcd = character_lcd.Character_LCD_I2C(i2c, 16, 2)
"""
def __init__(self, i2c, columns, lines, backlight_inverted=False):
"""Initialize character LCD connectedto backpack using I2C connection
on the specified I2C bus with the specified number of columns and
lines on the display. Optionally specify if backlight is inverted.
"""
import adafruit_mcp230xx
self._mcp = adafruit_mcp230xx.MCP23008(i2c)
reset = self._mcp.get_pin(1)
enable = self._mcp.get_pin(2)
db4 = self._mcp.get_pin(3)
db5 = self._mcp.get_pin(4)
db6 = self._mcp.get_pin(5)
db7 = self._mcp.get_pin(6)
backlight_pin = self._mcp.get_pin(7)
self.backlight_inverted = backlight_inverted
super().__init__(reset, enable, db4, db5, db6, db7, columns, lines,
backlight_pin=backlight_pin, backlight_inverted=backlight_inverted)


class Character_LCD_SPI(Character_LCD):
"""Character LCD connected to I2C/SPI backpack using its SPI connection.
This is a subclass of Character_LCD and implements all of the same
functions and functionality.

To use, import and initialise as follows:

.. code-block:: python

import board
import busio
import digitalio
import adafruit_character_lcd.character_lcd_mono as character_lcd

spi = busio.SPI(board.SCK, MOSI=board.MOSI)
latch = digitalio.DigitalInOut(board.D5)
lcd = character_lcd.Character_LCD_SPI(spi, latch, 16, 2)
"""

def __init__(self, spi, latch, columns, lines, backlight_inverted=False):
# pylint: disable=too-many-arguments
"""Initialize character LCD connected to backpack using SPI connection
on the specified SPI bus and latch line with the specified number of
columns and lines on the display. Optionally specify if backlight is
inverted.
"""
# pylint: enable=too-many-arguments
import adafruit_74hc595
self._shift_register = adafruit_74hc595.ShiftRegister74HC595(spi, latch)
reset = self._shift_register.get_pin(1)
enable = self._shift_register.get_pin(2)
db4 = self._shift_register.get_pin(6)
db5 = self._shift_register.get_pin(5)
db6 = self._shift_register.get_pin(4)
db7 = self._shift_register.get_pin(3)
backlight_pin = self._shift_register.get_pin(7)
self.backlight_inverted = backlight_inverted
super().__init__(reset, enable, db4, db5, db6, db7, columns, lines,
backlight_pin=backlight_pin, backlight_inverted=backlight_inverted)
38 changes: 38 additions & 0 deletions adafruit_character_lcd/rgb_i2c.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
from adafruit_character_lcd.character_lcd import Character_LCD_RGB


class Character_LCD_I2C_RGB(Character_LCD_RGB):
"""RGB Character LCD connected to I2C shield using I2C connection.
This is a subclass of Character_LCD_RGB and implements all of the same
functions and functionality.

To use, import and initialise as follows:

.. code-block:: python

import board
import busio
import adafruit_character_lcd.character_lcd_rgb as character_lcd

i2c = busio.I2C(board.SCL, board.SDA)
lcd = character_lcd.Character_LCD_I2C_RGB(i2c, 16, 2)
"""
def __init__(self, i2c, columns, lines):
"""Initialize RGB character LCD connected to shield using I2C connection
on the specified I2C bus with the specified number of columns and lines
on the display.
"""
import adafruit_mcp230xx
self._mcp = adafruit_mcp230xx.MCP23017(i2c)
reset = self._mcp.get_pin(15)
read_write = self._mcp.get_pin(14)
enable = self._mcp.get_pin(13)
db4 = self._mcp.get_pin(12)
db5 = self._mcp.get_pin(11)
db6 = self._mcp.get_pin(10)
db7 = self._mcp.get_pin(9)
red = self._mcp.get_pin(6)
green = self._mcp.get_pin(7)
blue = self._mcp.get_pin(8)
super().__init__(reset, enable, db4, db5, db6, db7, columns, lines, red, green, blue,
read_write)