write_text
ssd & nju demo
This commit is contained in:
Bartosz Kościów 2017-06-10 20:50:23 +02:00
parent 7f9b7c9d8f
commit fe507357f6
12 changed files with 277 additions and 5 deletions

View File

@ -11,6 +11,7 @@ class Chip(metaclass=abc.ABCMeta):
self._height = height self._height = height
self.driver = driver self.driver = driver
self.options['auto_flush'] = auto_flush self.options['auto_flush'] = auto_flush
self.options['font'] = None
@property @property
def width(self): def width(self):
@ -72,6 +73,16 @@ class Chip(metaclass=abc.ABCMeta):
"""set auto_flush""" """set auto_flush"""
self.options['auto_flush'] = bool(value) self.options['auto_flush'] = bool(value)
@property
def font(self):
"""get current font"""
return self.options['font']
@font.setter
def font(self, font):
"""set ttf font"""
self.options['font'] = font
@abc.abstractmethod @abc.abstractmethod
def init(self): def init(self):
"""init a chipset""" """init a chipset"""
@ -111,3 +122,8 @@ class Chip(metaclass=abc.ABCMeta):
def draw_image(self, pos_x, pos_y, image): def draw_image(self, pos_x, pos_y, image):
"""draw a PIL image""" """draw a PIL image"""
pass pass
@abc.abstractmethod
def draw_text(self, pos_x, pos_y, text):
"""draw a text"""
pass

19
gfxlcd/abstract/font.py Normal file
View File

@ -0,0 +1,19 @@
"""Font abstract"""
import abc
class Font(metaclass=abc.ABCMeta):
font = [] # Dictionary with hex that describe each char
size = (0, 0)
def __init__(self):
pass
def get(self, letter):
"""return array with letter"""
return self.font[ord(letter)]
@property
def size(self):
"""get font size"""
return self.size

View File

@ -1,5 +1,6 @@
import RPi.GPIO import RPi.GPIO
import sys import sys
from PIL import Image
sys.path.append("../../") sys.path.append("../../")
from gfxlcd.driver.nju6450.gpio import GPIO from gfxlcd.driver.nju6450.gpio import GPIO
from gfxlcd.driver.nju6450.nju6450 import NJU6450 from gfxlcd.driver.nju6450.nju6450 import NJU6450
@ -21,6 +22,11 @@ lcd.draw_line(x, y-3, x-3, y+2)
lcd.draw_line(x, y-3, x+3, y+2) lcd.draw_line(x, y-3, x+3, y+2)
lcd.draw_arc(x, y, 3, 45, 135) lcd.draw_arc(x, y, 3, 45, 135)
lcd.fill_rect(0, 0, 5, 10) # lcd.fill_rect(0, 0, 5, 10)
image_file = Image.open("assets/20x20.png")
lcd.threshold = 0
lcd.draw_image(0, 0, image_file)
lcd.flush(True) lcd.flush(True)

22
gfxlcd/demos/nju_text.py Normal file
View File

@ -0,0 +1,22 @@
import RPi.GPIO
import sys
from PIL import Image
sys.path.append("../../")
from gfxlcd.driver.nju6450.gpio import GPIO
from gfxlcd.driver.nju6450.nju6450 import NJU6450
RPi.GPIO.setmode(RPi.GPIO.BCM)
lcd = NJU6450(122, 32, GPIO())
lcd.rotation = 0
lcd.init()
lcd.auto_flush = False
lcd.draw_text(25, 1, "Star Wars")
lcd.draw_text(30, 10, "Death Star")
image_file = Image.open("assets/20x20.png")
lcd.threshold = 0
lcd.draw_image(0, 0, image_file)
lcd.flush(True)

View File

@ -1,13 +1,13 @@
import RPi.GPIO import RPi.GPIO
import sys import sys
import random from PIL import Image
sys.path.append("../../") sys.path.append("../../")
from gfxlcd.driver.ssd1306.spi import SPI from gfxlcd.driver.ssd1306.spi import SPI
from gfxlcd.driver.ssd1306.ssd1306 import SSD1306 from gfxlcd.driver.ssd1306.ssd1306 import SSD1306
RPi.GPIO.setmode(RPi.GPIO.BCM) RPi.GPIO.setmode(RPi.GPIO.BCM)
lcd_oled = SSD1306(128, 64, SPI()) lcd_oled = SSD1306(128, 64, SPI())
lcd_oled.rotation = 90 lcd_oled.rotation = 270
lcd_oled.init() lcd_oled.init()
lcd_oled.auto_flush = False lcd_oled.auto_flush = False
@ -20,6 +20,10 @@ lcd_oled.draw_line(x, y-5, x-4, y+6)
lcd_oled.draw_line(x, y-5, x+4, y+6) lcd_oled.draw_line(x, y-5, x+4, y+6)
lcd_oled.draw_arc(x, y+3, 5, 45, 135) lcd_oled.draw_arc(x, y+3, 5, 45, 135)
lcd_oled.fill_rect(0, 0, 10, 10) # lcd_oled.fill_rect(0, 0, 10, 10)
image_file = Image.open("assets/20x20.png")
lcd_oled.threshold = 0
lcd_oled.draw_image(0, 0, image_file)
lcd_oled.flush(True) lcd_oled.flush(True)

22
gfxlcd/demos/ssd_text.py Normal file
View File

@ -0,0 +1,22 @@
import RPi.GPIO
import sys
from PIL import Image
sys.path.append("../../")
from gfxlcd.driver.ssd1306.spi import SPI
from gfxlcd.driver.ssd1306.ssd1306 import SSD1306
RPi.GPIO.setmode(RPi.GPIO.BCM)
lcd = SSD1306(128, 64, SPI())
lcd.rotation = 0
lcd.init()
lcd.auto_flush = False
lcd.draw_text(25, 1, "Star Wars")
lcd.draw_text(30, 10, "Death Star")
image_file = Image.open("assets/20x20.png")
lcd.threshold = 0
lcd.draw_image(0, 0, image_file)
lcd.flush(True)

View File

@ -136,3 +136,22 @@ class Pixel(object):
appendix = (appendix + 1) * -1 appendix = (appendix + 1) * -1
return appendix return appendix
def draw_text(self, pos_x, pos_y, text):
"""draw a text"""
font = self.options['font']
idx = 0
for letter in text:
self._draw_letter(pos_x + idx, pos_y, letter)
idx += font.size[0]
def _draw_letter(self, pos_x, pos_y, letter):
"""draw a letter"""
font = self.options['font']
bits = font.size[0]
for row, data in enumerate(font.get(letter)):
for bit in range(bits):
if data & 0x01:
self.draw_pixel(pos_x + bit, pos_y + row)
data >>= 1

View File

@ -1,6 +1,7 @@
"""NJU6450 chip""" """NJU6450 chip"""
from gfxlcd.drawing.page import Page from gfxlcd.drawing.page import Page
from gfxlcd.abstract.chip import Chip from gfxlcd.abstract.chip import Chip
from gfxlcd.font.font8x8 import Font8x8
class NJU6450(Page, Chip): class NJU6450(Page, Chip):
@ -9,6 +10,7 @@ class NJU6450(Page, Chip):
Chip.__init__(self, width, height, driver, auto_flush) Chip.__init__(self, width, height, driver, auto_flush)
Page.__init__(self, driver) Page.__init__(self, driver)
self.rotation = 0 self.rotation = 0
self.options['font'] = Font8x8()
def init(self): def init(self):
"""initialize display""" """initialize display"""

View File

@ -1,6 +1,7 @@
"""SSD1306 chip driver""" """SSD1306 chip driver"""
from gfxlcd.drawing.page import Page from gfxlcd.drawing.page import Page
from gfxlcd.abstract.chip import Chip from gfxlcd.abstract.chip import Chip
from gfxlcd.font.font8x8 import Font8x8
class SSD1306(Page, Chip): class SSD1306(Page, Chip):
@ -28,6 +29,7 @@ class SSD1306(Page, Chip):
Chip.__init__(self, width, height, driver, auto_flush) Chip.__init__(self, width, height, driver, auto_flush)
Page.__init__(self, driver) Page.__init__(self, driver)
self.rotation = 0 self.rotation = 0
self.options['font'] = Font8x8()
def init(self): def init(self):
"""inits a device""" """inits a device"""

1
gfxlcd/font/__init__.py Normal file
View File

@ -0,0 +1 @@
__author__ = 'kosci'

148
gfxlcd/font/font8x8.py Normal file
View File

@ -0,0 +1,148 @@
from gfxlcd.abstract.font import Font
class Font8x8(Font):
"""Font 8x8"""
size = (8, 8)
font = [
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0000 (nul)
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0001
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0002
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0003
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0004
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0005
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0006
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0007
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0008
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0009
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+000A
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+000B
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+000C
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+000D
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+000E
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+000F
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0010
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0011
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0012
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0013
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0014
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0015
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0016
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0017
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0018
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0019
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+001A
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+001B
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+001C
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+001D
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+001E
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+001F
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0020 (space)
[0x18, 0x3C, 0x3C, 0x18, 0x18, 0x00, 0x18, 0x00], # U+0021 (!)
[0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0022 (")
[0x36, 0x36, 0x7F, 0x36, 0x7F, 0x36, 0x36, 0x00], # U+0023 (#)
[0x0C, 0x3E, 0x03, 0x1E, 0x30, 0x1F, 0x0C, 0x00], # U+0024 ($)
[0x00, 0x63, 0x33, 0x18, 0x0C, 0x66, 0x63, 0x00], # U+0025 (%)
[0x1C, 0x36, 0x1C, 0x6E, 0x3B, 0x33, 0x6E, 0x00], # U+0026 (&)
[0x06, 0x06, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0027 (')
[0x18, 0x0C, 0x06, 0x06, 0x06, 0x0C, 0x18, 0x00], # U+0028 (()
[0x06, 0x0C, 0x18, 0x18, 0x18, 0x0C, 0x06, 0x00], # U+0029 ())
[0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00], # U+002A (*)
[0x00, 0x0C, 0x0C, 0x3F, 0x0C, 0x0C, 0x00, 0x00], # U+002B (+)
[0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x06], # U+002C (,)
[0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00], # U+002D (-)
[0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00], # U+002E (.)
[0x60, 0x30, 0x18, 0x0C, 0x06, 0x03, 0x01, 0x00], # U+002F (/)
[0x3E, 0x63, 0x73, 0x7B, 0x6F, 0x67, 0x3E, 0x00], # U+0030 (0)
[0x0C, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x3F, 0x00], # U+0031 (1)
[0x1E, 0x33, 0x30, 0x1C, 0x06, 0x33, 0x3F, 0x00], # U+0032 (2)
[0x1E, 0x33, 0x30, 0x1C, 0x30, 0x33, 0x1E, 0x00], # U+0033 (3)
[0x38, 0x3C, 0x36, 0x33, 0x7F, 0x30, 0x78, 0x00], # U+0034 (4)
[0x3F, 0x03, 0x1F, 0x30, 0x30, 0x33, 0x1E, 0x00], # U+0035 (5)
[0x1C, 0x06, 0x03, 0x1F, 0x33, 0x33, 0x1E, 0x00], # U+0036 (6)
[0x3F, 0x33, 0x30, 0x18, 0x0C, 0x0C, 0x0C, 0x00], # U+0037 (7)
[0x1E, 0x33, 0x33, 0x1E, 0x33, 0x33, 0x1E, 0x00], # U+0038 (8)
[0x1E, 0x33, 0x33, 0x3E, 0x30, 0x18, 0x0E, 0x00], # U+0039 (9)
[0x00, 0x0C, 0x0C, 0x00, 0x00, 0x0C, 0x0C, 0x00], # U+003A (:)
[0x00, 0x0C, 0x0C, 0x00, 0x00, 0x0C, 0x0C, 0x06], # U+003B (# )
[0x18, 0x0C, 0x06, 0x03, 0x06, 0x0C, 0x18, 0x00], # U+003C (<)
[0x00, 0x00, 0x3F, 0x00, 0x00, 0x3F, 0x00, 0x00], # U+003D (=)
[0x06, 0x0C, 0x18, 0x30, 0x18, 0x0C, 0x06, 0x00], # U+003E (>)
[0x1E, 0x33, 0x30, 0x18, 0x0C, 0x00, 0x0C, 0x00], # U+003F (?)
[0x3E, 0x63, 0x7B, 0x7B, 0x7B, 0x03, 0x1E, 0x00], # U+0040 (@)
[0x0C, 0x1E, 0x33, 0x33, 0x3F, 0x33, 0x33, 0x00], # U+0041 (A)
[0x3F, 0x66, 0x66, 0x3E, 0x66, 0x66, 0x3F, 0x00], # U+0042 (B)
[0x3C, 0x66, 0x03, 0x03, 0x03, 0x66, 0x3C, 0x00], # U+0043 (C)
[0x1F, 0x36, 0x66, 0x66, 0x66, 0x36, 0x1F, 0x00], # U+0044 (D)
[0x7F, 0x46, 0x16, 0x1E, 0x16, 0x46, 0x7F, 0x00], # U+0045 (E)
[0x7F, 0x46, 0x16, 0x1E, 0x16, 0x06, 0x0F, 0x00], # U+0046 (F)
[0x3C, 0x66, 0x03, 0x03, 0x73, 0x66, 0x7C, 0x00], # U+0047 (G)
[0x33, 0x33, 0x33, 0x3F, 0x33, 0x33, 0x33, 0x00], # U+0048 (H)
[0x1E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x1E, 0x00], # U+0049 (I)
[0x78, 0x30, 0x30, 0x30, 0x33, 0x33, 0x1E, 0x00], # U+004A (J)
[0x67, 0x66, 0x36, 0x1E, 0x36, 0x66, 0x67, 0x00], # U+004B (K)
[0x0F, 0x06, 0x06, 0x06, 0x46, 0x66, 0x7F, 0x00], # U+004C (L)
[0x63, 0x77, 0x7F, 0x7F, 0x6B, 0x63, 0x63, 0x00], # U+004D (M)
[0x63, 0x67, 0x6F, 0x7B, 0x73, 0x63, 0x63, 0x00], # U+004E (N)
[0x1C, 0x36, 0x63, 0x63, 0x63, 0x36, 0x1C, 0x00], # U+004F (O)
[0x3F, 0x66, 0x66, 0x3E, 0x06, 0x06, 0x0F, 0x00], # U+0050 (P)
[0x1E, 0x33, 0x33, 0x33, 0x3B, 0x1E, 0x38, 0x00], # U+0051 (Q)
[0x3F, 0x66, 0x66, 0x3E, 0x36, 0x66, 0x67, 0x00], # U+0052 (R)
[0x1E, 0x33, 0x07, 0x0E, 0x38, 0x33, 0x1E, 0x00], # U+0053 (S)
[0x3F, 0x2D, 0x0C, 0x0C, 0x0C, 0x0C, 0x1E, 0x00], # U+0054 (T)
[0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x3F, 0x00], # U+0055 (U)
[0x33, 0x33, 0x33, 0x33, 0x33, 0x1E, 0x0C, 0x00], # U+0056 (V)
[0x63, 0x63, 0x63, 0x6B, 0x7F, 0x77, 0x63, 0x00], # U+0057 (W)
[0x63, 0x63, 0x36, 0x1C, 0x1C, 0x36, 0x63, 0x00], # U+0058 (X)
[0x33, 0x33, 0x33, 0x1E, 0x0C, 0x0C, 0x1E, 0x00], # U+0059 (Y)
[0x7F, 0x63, 0x31, 0x18, 0x4C, 0x66, 0x7F, 0x00], # U+005A (Z)
[0x1E, 0x06, 0x06, 0x06, 0x06, 0x06, 0x1E, 0x00], # U+005B ([)
[0x03, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x40, 0x00], # U+005C (\)
[0x1E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1E, 0x00], # U+005D (])
[0x08, 0x1C, 0x36, 0x63, 0x00, 0x00, 0x00, 0x00], # U+005E (^)
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF], # U+005F (_)
[0x0C, 0x0C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00], # U+0060 (`)
[0x00, 0x00, 0x1E, 0x30, 0x3E, 0x33, 0x6E, 0x00], # U+0061 (a)
[0x07, 0x06, 0x06, 0x3E, 0x66, 0x66, 0x3B, 0x00], # U+0062 (b)
[0x00, 0x00, 0x1E, 0x33, 0x03, 0x33, 0x1E, 0x00], # U+0063 (c)
[0x38, 0x30, 0x30, 0x3e, 0x33, 0x33, 0x6E, 0x00], # U+0064 (d)
[0x00, 0x00, 0x1E, 0x33, 0x3f, 0x03, 0x1E, 0x00], # U+0065 (e)
[0x1C, 0x36, 0x06, 0x0f, 0x06, 0x06, 0x0F, 0x00], # U+0066 (f)
[0x00, 0x00, 0x6E, 0x33, 0x33, 0x3E, 0x30, 0x1F], # U+0067 (g)
[0x07, 0x06, 0x36, 0x6E, 0x66, 0x66, 0x67, 0x00], # U+0068 (h)
[0x0C, 0x00, 0x0E, 0x0C, 0x0C, 0x0C, 0x1E, 0x00], # U+0069 (i)
[0x30, 0x00, 0x30, 0x30, 0x30, 0x33, 0x33, 0x1E], # U+006A (j)
[0x07, 0x06, 0x66, 0x36, 0x1E, 0x36, 0x67, 0x00], # U+006B (k)
[0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x1E, 0x00], # U+006C (l)
[0x00, 0x00, 0x33, 0x7F, 0x7F, 0x6B, 0x63, 0x00], # U+006D (m)
[0x00, 0x00, 0x1F, 0x33, 0x33, 0x33, 0x33, 0x00], # U+006E (n)
[0x00, 0x00, 0x1E, 0x33, 0x33, 0x33, 0x1E, 0x00], # U+006F (o)
[0x00, 0x00, 0x3B, 0x66, 0x66, 0x3E, 0x06, 0x0F], # U+0070 (p)
[0x00, 0x00, 0x6E, 0x33, 0x33, 0x3E, 0x30, 0x78], # U+0071 (q)
[0x00, 0x00, 0x3B, 0x6E, 0x66, 0x06, 0x0F, 0x00], # U+0072 (r)
[0x00, 0x00, 0x3E, 0x03, 0x1E, 0x30, 0x1F, 0x00], # U+0073 (s)
[0x08, 0x0C, 0x3E, 0x0C, 0x0C, 0x2C, 0x18, 0x00], # U+0074 (t)
[0x00, 0x00, 0x33, 0x33, 0x33, 0x33, 0x6E, 0x00], # U+0075 (u)
[0x00, 0x00, 0x33, 0x33, 0x33, 0x1E, 0x0C, 0x00], # U+0076 (v)
[0x00, 0x00, 0x63, 0x6B, 0x7F, 0x7F, 0x36, 0x00], # U+0077 (w)
[0x00, 0x00, 0x63, 0x36, 0x1C, 0x36, 0x63, 0x00], # U+0078 (x)
[0x00, 0x00, 0x33, 0x33, 0x33, 0x3E, 0x30, 0x1F], # U+0079 (y)
[0x00, 0x00, 0x3F, 0x19, 0x0C, 0x26, 0x3F, 0x00], # U+007A (z)
[0x38, 0x0C, 0x0C, 0x07, 0x0C, 0x0C, 0x38, 0x00], # U+007B ([)
[0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x00], # U+007C (|)
[0x07, 0x0C, 0x0C, 0x38, 0x0C, 0x0C, 0x07, 0x00], # U+007D (])
[0x6E, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # U+007E (~)
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] # U+007F
]

View File

@ -13,7 +13,7 @@ Supported:
And for touch panels: And for touch panels:
- ad7843 via SPI, uses irq or not - ad7843 via SPI, uses irq or not
- ad7866/xpt2046 - ad7846/xpt2046
On NJU and SSD uses buffer to keep current content as help for page operations. On NJU and SSD uses buffer to keep current content as help for page operations.
@ -131,6 +131,8 @@ fill_rect(x1, y1, x2, y2)
draw_image(x, y, PIL.Image) draw_image(x, y, PIL.Image)
draw_text(x, y, text)
Colours Colours
=== ===
lcd.color = (r, g, b) lcd.color = (r, g, b)
@ -141,6 +143,15 @@ lcd.threshold = 255 - for images a threshold between black and white (on monochr
lcd.transparency_color = [110, 57] #110 - color(s) that are skipped during drawing an image lcd.transparency_color = [110, 57] #110 - color(s) that are skipped during drawing an image
Fonts
===
Font class implements Font abstract and is a class that has a dictionary with each char:
(..)
[0x3C, 0x66, 0x03, 0x03, 0x73, 0x66, 0x7C, 0x00], # U+0047 (G)
(..)
There is one font for now, 8x8 and named **Font8x8** and is used by default.
Touch panels Touch panels
=== ===