refactor colors
add tests
This commit is contained in:
parent
8d0b02cdf1
commit
7be3f9c0af
@ -30,14 +30,19 @@ class Chip(metaclass=abc.ABCMeta):
|
|||||||
else:
|
else:
|
||||||
return self._width
|
return self._width
|
||||||
|
|
||||||
@abc.abstractmethod
|
# @abc.abstractmethod
|
||||||
def _converted_background_color(self):
|
# def _converted_background_color(self):
|
||||||
"""convert RGB background to available color"""
|
# """convert RGB background to available color"""
|
||||||
pass
|
# pass
|
||||||
|
#
|
||||||
|
# @abc.abstractmethod
|
||||||
|
# def _converted_color(self):
|
||||||
|
# """convert RGB color to available color"""
|
||||||
|
# pass
|
||||||
|
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def _converted_color(self):
|
def _convert_color(self, color):
|
||||||
"""convert RGB color to available color"""
|
"""convert color to avaible one"""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@ -21,8 +21,12 @@ def test1():
|
|||||||
lcd = CharLCD(drv.width, drv.height, drv, 0, 0)
|
lcd = CharLCD(drv.width, drv.height, drv, 0, 0)
|
||||||
lcd.init()
|
lcd.init()
|
||||||
|
|
||||||
lcd.write('-!Second blarg!')
|
lcd.write('First Line')
|
||||||
lcd.write("-second line", 0, 1)
|
lcd.write("This text is displayed", 2, 18)
|
||||||
|
lcd.write("via CharLCD package", 10, 20)
|
||||||
|
lcd.write('GfxLCD uses driver', 1, 22)
|
||||||
|
lcd.write('to be compatible with', 9, 24)
|
||||||
|
lcd.write('HD44780', 10, 26)
|
||||||
lcd.flush()
|
lcd.flush()
|
||||||
|
|
||||||
lcd.write('/* ', 19, 0)
|
lcd.write('/* ', 19, 0)
|
||||||
|
@ -13,22 +13,24 @@ class Area(Pixel):
|
|||||||
"""additional initialization"""
|
"""additional initialization"""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def draw_pixel(self, pos_x, pos_y):
|
def draw_pixel(self, pos_x, pos_y, color=None):
|
||||||
"""draw one pixel"""
|
"""draw one pixel"""
|
||||||
|
if color is None:
|
||||||
|
color = self.options['color']
|
||||||
self._set_area(pos_x, pos_y, pos_x, pos_y)
|
self._set_area(pos_x, pos_y, pos_x, pos_y)
|
||||||
self.driver.data(self._converted_color(), None)
|
self.driver.data(self._convert_color(color), None)
|
||||||
|
|
||||||
def _draw_vertical_line(self, pos_x, pos_y, length):
|
def _draw_vertical_line(self, pos_x, pos_y, length):
|
||||||
"""draw vertical line"""
|
"""draw vertical line"""
|
||||||
self._set_area(pos_x, pos_y, pos_x, pos_y + length)
|
self._set_area(pos_x, pos_y, pos_x, pos_y + length)
|
||||||
color = self._converted_color()
|
color = self._convert_color(self.options['color'])
|
||||||
for _ in itertools.repeat(None, length):
|
for _ in itertools.repeat(None, length):
|
||||||
self.driver.data(color, None)
|
self.driver.data(color, None)
|
||||||
|
|
||||||
def _draw_horizontal_line(self, pos_x, pos_y, length):
|
def _draw_horizontal_line(self, pos_x, pos_y, length):
|
||||||
"""draw horizontal line"""
|
"""draw horizontal line"""
|
||||||
self._set_area(pos_x, pos_y, pos_x + length, pos_y)
|
self._set_area(pos_x, pos_y, pos_x + length, pos_y)
|
||||||
color = self._converted_color()
|
color = self._convert_color(self.options['color'])
|
||||||
for _ in itertools.repeat(None, length):
|
for _ in itertools.repeat(None, length):
|
||||||
self.driver.data(color, None)
|
self.driver.data(color, None)
|
||||||
|
|
||||||
@ -94,7 +96,8 @@ class Area(Pixel):
|
|||||||
max(pos_x1, pos_x2),
|
max(pos_x1, pos_x2),
|
||||||
max(pos_y1, pos_y2)
|
max(pos_y1, pos_y2)
|
||||||
)
|
)
|
||||||
color = self._converted_background_color()
|
# color = self._converted_background_color()
|
||||||
|
color = self._convert_color(self.options['background_color'])
|
||||||
for _ in range(0, size):
|
for _ in range(0, size):
|
||||||
self.driver.data(color, None)
|
self.driver.data(color, None)
|
||||||
|
|
||||||
@ -131,7 +134,9 @@ class Area(Pixel):
|
|||||||
self._set_area(*temporary_area)
|
self._set_area(*temporary_area)
|
||||||
temporary_area = None
|
temporary_area = None
|
||||||
self.color = (red, green, blue)
|
self.color = (red, green, blue)
|
||||||
self.driver.data(self._converted_color(), None)
|
self.driver.data(
|
||||||
|
self._convert_color(self.options['color']), None
|
||||||
|
)
|
||||||
|
|
||||||
col += 1
|
col += 1
|
||||||
if col > width - 1:
|
if col > width - 1:
|
||||||
|
@ -16,9 +16,11 @@ class Page(Pixel, metaclass=abc.ABCMeta):
|
|||||||
else:
|
else:
|
||||||
self.buffer = [[0] * (self.width // 8) for x in range(self.height)]
|
self.buffer = [[0] * (self.width // 8) for x in range(self.height)]
|
||||||
|
|
||||||
def draw_pixel(self, pos_x, pos_y):
|
def draw_pixel(self, pos_x, pos_y, color=None):
|
||||||
"""draw a pixel at x,y"""
|
"""draw a pixel at x,y"""
|
||||||
self.buffer[pos_x][pos_y//8] |= 1 << (pos_y % 8)
|
if color is None:
|
||||||
|
color = self.options['color']
|
||||||
|
self.buffer[pos_x][pos_y//8] |= self._convert_color(color) << (pos_y % 8)
|
||||||
self.flush()
|
self.flush()
|
||||||
|
|
||||||
def draw_line(self, pos_x1, pos_y1, pos_x2, pos_y2):
|
def draw_line(self, pos_x1, pos_y1, pos_x2, pos_y2):
|
||||||
|
@ -36,7 +36,7 @@ class Pixel(object):
|
|||||||
"""set transparency color """
|
"""set transparency color """
|
||||||
self.options['transparency_color'] = transparency_color
|
self.options['transparency_color'] = transparency_color
|
||||||
|
|
||||||
def draw_pixel(self, pos_x, pos_y):
|
def draw_pixel(self, pos_x, pos_y, color=None):
|
||||||
"""dummy function"""
|
"""dummy function"""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -137,15 +137,15 @@ class Pixel(object):
|
|||||||
|
|
||||||
return appendix
|
return appendix
|
||||||
|
|
||||||
def draw_text(self, pos_x, pos_y, text):
|
def draw_text(self, pos_x, pos_y, text, with_background=False):
|
||||||
"""draw a text"""
|
"""draw a text"""
|
||||||
font = self.options['font']
|
font = self.options['font']
|
||||||
idx = 0
|
idx = 0
|
||||||
for letter in text:
|
for letter in text:
|
||||||
self._draw_letter(pos_x + idx, pos_y, letter)
|
self._draw_letter(pos_x + idx, pos_y, letter, with_background)
|
||||||
idx += font.size[0]
|
idx += font.size[0]
|
||||||
|
|
||||||
def _draw_letter(self, pos_x, pos_y, letter):
|
def _draw_letter(self, pos_x, pos_y, letter, with_background=False):
|
||||||
"""draw a letter"""
|
"""draw a letter"""
|
||||||
font = self.options['font']
|
font = self.options['font']
|
||||||
bits = font.size[0]
|
bits = font.size[0]
|
||||||
@ -153,5 +153,7 @@ class Pixel(object):
|
|||||||
for bit in range(bits):
|
for bit in range(bits):
|
||||||
if data & 0x01:
|
if data & 0x01:
|
||||||
self.draw_pixel(pos_x + bit, pos_y + row)
|
self.draw_pixel(pos_x + bit, pos_y + row)
|
||||||
|
elif with_background:
|
||||||
|
self.draw_pixel(pos_x + bit, pos_y + row)
|
||||||
data >>= 1
|
data >>= 1
|
||||||
|
|
||||||
|
@ -21,14 +21,14 @@ class HD44780(BaseDriver):
|
|||||||
'x': 0,
|
'x': 0,
|
||||||
'y': 0
|
'y': 0
|
||||||
}
|
}
|
||||||
|
self.address = []
|
||||||
|
|
||||||
def init(self):
|
def init(self):
|
||||||
"""init function"""
|
"""init function"""
|
||||||
if self.initialized:
|
if self.initialized:
|
||||||
return
|
return
|
||||||
char_lcd.LCD_LINES = []
|
|
||||||
for address in range(self.height):
|
for address in range(self.height):
|
||||||
char_lcd.LCD_LINES.append(100 + (address * self.width))
|
self.address.append(100 + (address * self.width))
|
||||||
|
|
||||||
self.gfxlcd.init()
|
self.gfxlcd.init()
|
||||||
self.initialized = True
|
self.initialized = True
|
||||||
@ -71,3 +71,5 @@ class HD44780(BaseDriver):
|
|||||||
def _increase_x(self):
|
def _increase_x(self):
|
||||||
self.position['x'] += self.font.size[0]
|
self.position['x'] += self.font.size[0]
|
||||||
|
|
||||||
|
def get_line_address(self, idx):
|
||||||
|
return self.address[idx]
|
||||||
|
@ -33,19 +33,27 @@ class ILI9325(Area, Chip):
|
|||||||
Chip.__init__(self, width, height, driver, True)
|
Chip.__init__(self, width, height, driver, True)
|
||||||
Area.__init__(self, driver)
|
Area.__init__(self, driver)
|
||||||
|
|
||||||
def _converted_background_color(self):
|
# def _converted_background_color(self):
|
||||||
"""color from 8-8-8 to 5-6-5"""
|
# """color from 8-8-8 to 5-6-5"""
|
||||||
rgb = self.options['background_color']['R'] << 16 | \
|
# rgb = self.options['background_color']['R'] << 16 | \
|
||||||
self.options['background_color']['G'] << 8 | \
|
# self.options['background_color']['G'] << 8 | \
|
||||||
self.options['background_color']['B']
|
# self.options['background_color']['B']
|
||||||
return ((rgb & 0x00f80000) >> 8) |\
|
# return ((rgb & 0x00f80000) >> 8) |\
|
||||||
((rgb & 0x0000fc00) >> 5) | ((rgb & 0x000000f8) >> 3)
|
# ((rgb & 0x0000fc00) >> 5) | ((rgb & 0x000000f8) >> 3)
|
||||||
|
#
|
||||||
|
# def _converted_color(self):
|
||||||
|
# """color from 8-8-8 to 5-6-5"""
|
||||||
|
# rgb = self.options['color']['R'] << 16 | \
|
||||||
|
# self.options['color']['G'] << 8 | \
|
||||||
|
# self.options['color']['B']
|
||||||
|
# return ((rgb & 0x00f80000) >> 8) |\
|
||||||
|
# ((rgb & 0x0000fc00) >> 5) | ((rgb & 0x000000f8) >> 3)
|
||||||
|
|
||||||
def _converted_color(self):
|
def _convert_color(self, color):
|
||||||
"""color from 8-8-8 to 5-6-5"""
|
"""color from 8-8-8 to 5-6-5"""
|
||||||
rgb = self.options['color']['R'] << 16 | \
|
rgb = color['R'] << 16 | \
|
||||||
self.options['color']['G'] << 8 | \
|
color['G'] << 8 | \
|
||||||
self.options['color']['B']
|
color['B']
|
||||||
return ((rgb & 0x00f80000) >> 8) |\
|
return ((rgb & 0x00f80000) >> 8) |\
|
||||||
((rgb & 0x0000fc00) >> 5) | ((rgb & 0x000000f8) >> 3)
|
((rgb & 0x0000fc00) >> 5) | ((rgb & 0x000000f8) >> 3)
|
||||||
|
|
||||||
|
@ -12,19 +12,27 @@ class ILI9486(Area, Chip):
|
|||||||
Chip.__init__(self, width, height, driver, True)
|
Chip.__init__(self, width, height, driver, True)
|
||||||
Area.__init__(self, driver)
|
Area.__init__(self, driver)
|
||||||
|
|
||||||
def _converted_background_color(self):
|
# def _converted_background_color(self):
|
||||||
"""color from 8-8-8 to 5-6-5"""
|
# """color from 8-8-8 to 5-6-5"""
|
||||||
rgb = self.options['background_color']['R'] << 16 | \
|
# rgb = self.options['background_color']['R'] << 16 | \
|
||||||
self.options['background_color']['G'] << 8 | \
|
# self.options['background_color']['G'] << 8 | \
|
||||||
self.options['background_color']['B']
|
# self.options['background_color']['B']
|
||||||
return ((rgb & 0x00f80000) >> 8) |\
|
# return ((rgb & 0x00f80000) >> 8) |\
|
||||||
((rgb & 0x0000fc00) >> 5) | ((rgb & 0x000000f8) >> 3)
|
# ((rgb & 0x0000fc00) >> 5) | ((rgb & 0x000000f8) >> 3)
|
||||||
|
#
|
||||||
|
# def _converted_color(self):
|
||||||
|
# """color from 8-8-8 to 5-6-5"""
|
||||||
|
# rgb = self.options['color']['R'] << 16 | \
|
||||||
|
# self.options['color']['G'] << 8 | \
|
||||||
|
# self.options['color']['B']
|
||||||
|
# return ((rgb & 0x00f80000) >> 8) |\
|
||||||
|
# ((rgb & 0x0000fc00) >> 5) | ((rgb & 0x000000f8) >> 3)
|
||||||
|
|
||||||
def _converted_color(self):
|
def _convert_color(self, color):
|
||||||
"""color from 8-8-8 to 5-6-5"""
|
"""color from 8-8-8 to 5-6-5"""
|
||||||
rgb = self.options['color']['R'] << 16 | \
|
rgb = color['R'] << 16 | \
|
||||||
self.options['color']['G'] << 8 | \
|
color['G'] << 8 | \
|
||||||
self.options['color']['B']
|
color['B']
|
||||||
return ((rgb & 0x00f80000) >> 8) |\
|
return ((rgb & 0x00f80000) >> 8) |\
|
||||||
((rgb & 0x0000fc00) >> 5) | ((rgb & 0x000000f8) >> 3)
|
((rgb & 0x0000fc00) >> 5) | ((rgb & 0x000000f8) >> 3)
|
||||||
|
|
||||||
|
@ -36,12 +36,19 @@ class NJU6450(Page, Chip):
|
|||||||
self.driver.cmd(0xB8 | pos_y, 1)
|
self.driver.cmd(0xB8 | pos_y, 1)
|
||||||
self.driver.cmd(0x00 | (pos_x - width//2), 1)
|
self.driver.cmd(0x00 | (pos_x - width//2), 1)
|
||||||
|
|
||||||
def _converted_background_color(self):
|
# def _converted_background_color(self):
|
||||||
"""convert RGB background to available color"""
|
# """convert RGB background to available color"""
|
||||||
return 1
|
# return 1
|
||||||
|
#
|
||||||
|
# def _converted_color(self):
|
||||||
|
# """convert RGB color to available color"""
|
||||||
|
# return 1
|
||||||
|
|
||||||
|
def _convert_color(self, color):
|
||||||
|
"""convert color to avaiable one"""
|
||||||
|
if color['R'] == 0 and color['G'] == 0 and color['B'] == 0:
|
||||||
|
return 0
|
||||||
|
|
||||||
def _converted_color(self):
|
|
||||||
"""convert RGB color to available color"""
|
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
def flush(self, force=None):
|
def flush(self, force=None):
|
||||||
|
@ -10,13 +10,9 @@ class NullArea(Area, Chip):
|
|||||||
Area.__init__(self, driver)
|
Area.__init__(self, driver)
|
||||||
self.rotation = 0
|
self.rotation = 0
|
||||||
|
|
||||||
def _converted_background_color(self):
|
def _convert_color(self, color):
|
||||||
"""dummy background color"""
|
"""color color"""
|
||||||
return 2
|
return color
|
||||||
|
|
||||||
def _converted_color(self):
|
|
||||||
"""dummy color"""
|
|
||||||
return 1
|
|
||||||
|
|
||||||
def init(self):
|
def init(self):
|
||||||
"""init display"""
|
"""init display"""
|
||||||
|
@ -22,12 +22,11 @@ class NullPage(Page, Chip):
|
|||||||
Page.init(self)
|
Page.init(self)
|
||||||
Chip.init(self)
|
Chip.init(self)
|
||||||
|
|
||||||
def _converted_background_color(self):
|
def _convert_color(self, color):
|
||||||
"""convert RGB background to available color"""
|
"""convert color to avaiable one"""
|
||||||
return 1
|
if color['R'] == 0 and color['G'] == 0 and color['B'] == 0:
|
||||||
|
return 0
|
||||||
|
|
||||||
def _converted_color(self):
|
|
||||||
"""convert RGB color to available color"""
|
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
def flush(self, force=None):
|
def flush(self, force=None):
|
||||||
|
@ -76,12 +76,19 @@ class SSD1306(Page, Chip):
|
|||||||
self.driver.cmd(0x14) # enable charge pump
|
self.driver.cmd(0x14) # enable charge pump
|
||||||
self.driver.cmd(0xaf) # turn on panel
|
self.driver.cmd(0xaf) # turn on panel
|
||||||
|
|
||||||
def _converted_background_color(self):
|
# def _converted_background_color(self):
|
||||||
"""convert RGB background to available color"""
|
# """convert RGB background to available color"""
|
||||||
return 1
|
# return 1
|
||||||
|
#
|
||||||
|
# def _converted_color(self):
|
||||||
|
# """convert RGB color to available color"""
|
||||||
|
# return 1
|
||||||
|
|
||||||
|
def _convert_color(self, color):
|
||||||
|
"""convert color to avaiable one"""
|
||||||
|
if color['R'] == 0 and color['G'] == 0 and color['B'] == 0:
|
||||||
|
return 0
|
||||||
|
|
||||||
def _converted_color(self):
|
|
||||||
"""convert RGB color to available color"""
|
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
def flush(self, force=None):
|
def flush(self, force=None):
|
||||||
|
@ -5,7 +5,10 @@ from gfxlcd.driver.null.null_area import NullArea
|
|||||||
from gfxlcd.driver.null.area_driver import AreaDriver
|
from gfxlcd.driver.null.area_driver import AreaDriver
|
||||||
|
|
||||||
|
|
||||||
class TestPageDrawing(object):
|
class TestAreaDrawing(object):
|
||||||
|
color_black = {'R': 0, 'G': 0, 'B': 0}
|
||||||
|
color_white = {'R': 255, 'G': 255, 'B':255}
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.drv = AreaDriver(10, 16)
|
self.drv = AreaDriver(10, 16)
|
||||||
self.lcd = NullArea(10, 16, self.drv, False)
|
self.lcd = NullArea(10, 16, self.drv, False)
|
||||||
@ -24,189 +27,189 @@ class TestPageDrawing(object):
|
|||||||
def test_draw_pixel(self):
|
def test_draw_pixel(self):
|
||||||
self.lcd.draw_pixel(1, 1)
|
self.lcd.draw_pixel(1, 1)
|
||||||
buffer = self.get_buffer()
|
buffer = self.get_buffer()
|
||||||
buffer[1][1] = 1
|
buffer[1][1] = self.color_white
|
||||||
assert_equal(self.drv.buffer, buffer)
|
assert_equal(self.drv.buffer, buffer)
|
||||||
|
|
||||||
def test_draw_two_pixel(self):
|
def test_draw_two_pixel(self):
|
||||||
self.lcd.draw_pixel(1, 1)
|
self.lcd.draw_pixel(1, 1)
|
||||||
self.lcd.draw_pixel(2, 2)
|
self.lcd.draw_pixel(2, 2)
|
||||||
buffer = self.get_buffer()
|
buffer = self.get_buffer()
|
||||||
buffer[1][1] = 1
|
buffer[1][1] = self.color_white
|
||||||
buffer[2][2] = 1
|
buffer[2][2] = self.color_white
|
||||||
assert_equal(self.drv.buffer, buffer)
|
assert_equal(self.drv.buffer, buffer)
|
||||||
|
|
||||||
def test_draw_horizontal_line(self):
|
def test_draw_horizontal_line(self):
|
||||||
self.lcd.draw_line(1, 1, 8, 1)
|
self.lcd.draw_line(1, 1, 8, 1)
|
||||||
buffer = self.get_buffer()
|
buffer = self.get_buffer()
|
||||||
buffer[1][1] = 1
|
buffer[1][1] = self.color_white
|
||||||
buffer[2][1] = 1
|
buffer[2][1] = self.color_white
|
||||||
buffer[3][1] = 1
|
buffer[3][1] = self.color_white
|
||||||
buffer[4][1] = 1
|
buffer[4][1] = self.color_white
|
||||||
buffer[5][1] = 1
|
buffer[5][1] = self.color_white
|
||||||
buffer[6][1] = 1
|
buffer[6][1] = self.color_white
|
||||||
buffer[7][1] = 1
|
buffer[7][1] = self.color_white
|
||||||
buffer[8][1] = 1
|
buffer[8][1] = self.color_white
|
||||||
assert_equal(self.drv.buffer, buffer)
|
assert_equal(self.drv.buffer, buffer)
|
||||||
|
|
||||||
def test_draw_vertical_line(self):
|
def test_draw_vertical_line(self):
|
||||||
self.lcd.draw_line(1, 1, 1, 14)
|
self.lcd.draw_line(1, 1, 1, 14)
|
||||||
buffer = self.get_buffer()
|
buffer = self.get_buffer()
|
||||||
buffer[1][1] = 1
|
buffer[1][1] = self.color_white
|
||||||
buffer[1][2] = 1
|
buffer[1][2] = self.color_white
|
||||||
buffer[1][3] = 1
|
buffer[1][3] = self.color_white
|
||||||
buffer[1][4] = 1
|
buffer[1][4] = self.color_white
|
||||||
buffer[1][5] = 1
|
buffer[1][5] = self.color_white
|
||||||
buffer[1][6] = 1
|
buffer[1][6] = self.color_white
|
||||||
buffer[1][7] = 1
|
buffer[1][7] = self.color_white
|
||||||
buffer[1][8] = 1
|
buffer[1][8] = self.color_white
|
||||||
buffer[1][9] = 1
|
buffer[1][9] = self.color_white
|
||||||
buffer[1][10] = 1
|
buffer[1][10] = self.color_white
|
||||||
buffer[1][11] = 1
|
buffer[1][11] = self.color_white
|
||||||
buffer[1][12] = 1
|
buffer[1][12] = self.color_white
|
||||||
buffer[1][13] = 1
|
buffer[1][13] = self.color_white
|
||||||
buffer[1][14] = 1
|
buffer[1][14] = self.color_white
|
||||||
assert_equal(self.drv.buffer, buffer)
|
assert_equal(self.drv.buffer, buffer)
|
||||||
|
|
||||||
def test_draw_overlapping_lines(self):
|
def test_draw_overlapping_lines(self):
|
||||||
self.lcd.draw_line(1, 1, 8, 1)
|
self.lcd.draw_line(1, 1, 8, 1)
|
||||||
self.lcd.draw_line(1, 1, 1, 14)
|
self.lcd.draw_line(1, 1, 1, 14)
|
||||||
buffer = self.get_buffer()
|
buffer = self.get_buffer()
|
||||||
buffer[1][1] = 1
|
buffer[1][1] = self.color_white
|
||||||
buffer[2][1] = 1
|
buffer[2][1] = self.color_white
|
||||||
buffer[3][1] = 1
|
buffer[3][1] = self.color_white
|
||||||
buffer[4][1] = 1
|
buffer[4][1] = self.color_white
|
||||||
buffer[5][1] = 1
|
buffer[5][1] = self.color_white
|
||||||
buffer[6][1] = 1
|
buffer[6][1] = self.color_white
|
||||||
buffer[7][1] = 1
|
buffer[7][1] = self.color_white
|
||||||
buffer[8][1] = 1
|
buffer[8][1] = self.color_white
|
||||||
buffer[1][1] = 1
|
buffer[1][1] = self.color_white
|
||||||
buffer[1][2] = 1
|
buffer[1][2] = self.color_white
|
||||||
buffer[1][3] = 1
|
buffer[1][3] = self.color_white
|
||||||
buffer[1][4] = 1
|
buffer[1][4] = self.color_white
|
||||||
buffer[1][5] = 1
|
buffer[1][5] = self.color_white
|
||||||
buffer[1][6] = 1
|
buffer[1][6] = self.color_white
|
||||||
buffer[1][7] = 1
|
buffer[1][7] = self.color_white
|
||||||
buffer[1][8] = 1
|
buffer[1][8] = self.color_white
|
||||||
buffer[1][9] = 1
|
buffer[1][9] = self.color_white
|
||||||
buffer[1][10] = 1
|
buffer[1][10] = self.color_white
|
||||||
buffer[1][11] = 1
|
buffer[1][11] = self.color_white
|
||||||
buffer[1][12] = 1
|
buffer[1][12] = self.color_white
|
||||||
buffer[1][13] = 1
|
buffer[1][13] = self.color_white
|
||||||
buffer[1][14] = 1
|
buffer[1][14] = self.color_white
|
||||||
assert_equal(self.drv.buffer, buffer)
|
assert_equal(self.drv.buffer, buffer)
|
||||||
|
|
||||||
def test_draw_diagonal_line(self):
|
def test_draw_diagonal_line(self):
|
||||||
self.lcd.draw_line(0, 0, 9, 1)
|
self.lcd.draw_line(0, 0, 9, 1)
|
||||||
buffer = self.get_buffer()
|
buffer = self.get_buffer()
|
||||||
buffer[0][0] = 1
|
buffer[0][0] = self.color_white
|
||||||
buffer[1][0] = 1
|
buffer[1][0] = self.color_white
|
||||||
buffer[2][0] = 1
|
buffer[2][0] = self.color_white
|
||||||
buffer[3][0] = 1
|
buffer[3][0] = self.color_white
|
||||||
buffer[4][0] = 1
|
buffer[4][0] = self.color_white
|
||||||
buffer[5][1] = 1
|
buffer[5][1] = self.color_white
|
||||||
buffer[6][1] = 1
|
buffer[6][1] = self.color_white
|
||||||
buffer[7][1] = 1
|
buffer[7][1] = self.color_white
|
||||||
buffer[8][1] = 1
|
buffer[8][1] = self.color_white
|
||||||
buffer[9][1] = 1
|
buffer[9][1] = self.color_white
|
||||||
assert_equal(self.drv.buffer, buffer)
|
assert_equal(self.drv.buffer, buffer)
|
||||||
|
|
||||||
def test_draw_diagonal_line_even_steps(self):
|
def test_draw_diagonal_line_even_steps(self):
|
||||||
self.lcd.draw_line(0, 0, 9, 15)
|
self.lcd.draw_line(0, 0, 9, 15)
|
||||||
buffer = self.get_buffer()
|
buffer = self.get_buffer()
|
||||||
buffer[0][0] = 1
|
buffer[0][0] = self.color_white
|
||||||
buffer[1][1] = 1
|
buffer[1][1] = self.color_white
|
||||||
buffer[2][2] = 1
|
buffer[2][2] = self.color_white
|
||||||
buffer[2][3] = 1
|
buffer[2][3] = self.color_white
|
||||||
buffer[3][4] = 1
|
buffer[3][4] = self.color_white
|
||||||
buffer[3][5] = 1
|
buffer[3][5] = self.color_white
|
||||||
buffer[4][6] = 1
|
buffer[4][6] = self.color_white
|
||||||
buffer[4][7] = 1
|
buffer[4][7] = self.color_white
|
||||||
buffer[5][8] = 1
|
buffer[5][8] = self.color_white
|
||||||
buffer[5][9] = 1
|
buffer[5][9] = self.color_white
|
||||||
buffer[6][10] = 1
|
buffer[6][10] = self.color_white
|
||||||
buffer[6][11] = 1
|
buffer[6][11] = self.color_white
|
||||||
buffer[7][12] = 1
|
buffer[7][12] = self.color_white
|
||||||
buffer[7][13] = 1
|
buffer[7][13] = self.color_white
|
||||||
buffer[8][14] = 1
|
buffer[8][14] = self.color_white
|
||||||
buffer[9][15] = 1
|
buffer[9][15] = self.color_white
|
||||||
assert_equal(self.drv.buffer, buffer)
|
assert_equal(self.drv.buffer, buffer)
|
||||||
|
|
||||||
def test_draw_diagonal_line_even_steps_even_rest(self):
|
def test_draw_diagonal_line_even_steps_even_rest(self):
|
||||||
self.lcd.draw_line(0, 0, 9, 5)
|
self.lcd.draw_line(0, 0, 9, 5)
|
||||||
buffer = self.get_buffer()
|
buffer = self.get_buffer()
|
||||||
buffer[0][0] = 1
|
buffer[0][0] = self.color_white
|
||||||
buffer[1][1] = 1
|
buffer[1][1] = self.color_white
|
||||||
buffer[2][1] = 1
|
buffer[2][1] = self.color_white
|
||||||
buffer[3][2] = 1
|
buffer[3][2] = self.color_white
|
||||||
buffer[4][2] = 1
|
buffer[4][2] = self.color_white
|
||||||
buffer[5][3] = 1
|
buffer[5][3] = self.color_white
|
||||||
buffer[6][3] = 1
|
buffer[6][3] = self.color_white
|
||||||
buffer[7][4] = 1
|
buffer[7][4] = self.color_white
|
||||||
buffer[8][4] = 1
|
buffer[8][4] = self.color_white
|
||||||
buffer[9][5] = 1
|
buffer[9][5] = self.color_white
|
||||||
assert_equal(self.drv.buffer, buffer)
|
assert_equal(self.drv.buffer, buffer)
|
||||||
|
|
||||||
def test_draw_diagonal_line_odd_steps_even_rest(self):
|
def test_draw_diagonal_line_odd_steps_even_rest(self):
|
||||||
self.lcd.draw_line(0, 0, 9, 6)
|
self.lcd.draw_line(0, 0, 9, 6)
|
||||||
buffer = self.get_buffer()
|
buffer = self.get_buffer()
|
||||||
buffer[0][0] = 1
|
buffer[0][0] = self.color_white
|
||||||
buffer[1][1] = 1
|
buffer[1][1] = self.color_white
|
||||||
buffer[2][2] = 1
|
buffer[2][2] = self.color_white
|
||||||
buffer[3][2] = 1
|
buffer[3][2] = self.color_white
|
||||||
buffer[4][3] = 1
|
buffer[4][3] = self.color_white
|
||||||
buffer[5][3] = 1
|
buffer[5][3] = self.color_white
|
||||||
buffer[6][4] = 1
|
buffer[6][4] = self.color_white
|
||||||
buffer[7][4] = 1
|
buffer[7][4] = self.color_white
|
||||||
buffer[8][5] = 1
|
buffer[8][5] = self.color_white
|
||||||
buffer[9][6] = 1
|
buffer[9][6] = self.color_white
|
||||||
assert_equal(self.drv.buffer, buffer)
|
assert_equal(self.drv.buffer, buffer)
|
||||||
|
|
||||||
def test_draw_diagonal_line_even_steps_odd_rest(self):
|
def test_draw_diagonal_line_even_steps_odd_rest(self):
|
||||||
self.lcd.draw_line(0, 0, 8, 6)
|
self.lcd.draw_line(0, 0, 8, 6)
|
||||||
buffer = self.get_buffer()
|
buffer = self.get_buffer()
|
||||||
buffer[0][0] = 1
|
buffer[0][0] = self.color_white
|
||||||
buffer[1][1] = 1
|
buffer[1][1] = self.color_white
|
||||||
buffer[2][2] = 1
|
buffer[2][2] = self.color_white
|
||||||
buffer[3][3] = 1
|
buffer[3][3] = self.color_white
|
||||||
buffer[4][3] = 1
|
buffer[4][3] = self.color_white
|
||||||
buffer[5][3] = 1
|
buffer[5][3] = self.color_white
|
||||||
buffer[6][4] = 1
|
buffer[6][4] = self.color_white
|
||||||
buffer[7][5] = 1
|
buffer[7][5] = self.color_white
|
||||||
buffer[8][6] = 1
|
buffer[8][6] = self.color_white
|
||||||
assert_equal(self.drv.buffer, buffer)
|
assert_equal(self.drv.buffer, buffer)
|
||||||
|
|
||||||
def test_draw_rect(self):
|
def test_draw_rect(self):
|
||||||
self.lcd.draw_rect(2, 2, 7, 11)
|
self.lcd.draw_rect(2, 2, 7, 11)
|
||||||
buffer = self.get_buffer()
|
buffer = self.get_buffer()
|
||||||
buffer[2][2] = 1
|
buffer[2][2] = self.color_white
|
||||||
buffer[2][3] = 1
|
buffer[2][3] = self.color_white
|
||||||
buffer[2][4] = 1
|
buffer[2][4] = self.color_white
|
||||||
buffer[2][5] = 1
|
buffer[2][5] = self.color_white
|
||||||
buffer[2][6] = 1
|
buffer[2][6] = self.color_white
|
||||||
buffer[2][7] = 1
|
buffer[2][7] = self.color_white
|
||||||
buffer[2][8] = 1
|
buffer[2][8] = self.color_white
|
||||||
buffer[2][9] = 1
|
buffer[2][9] = self.color_white
|
||||||
buffer[2][10] = 1
|
buffer[2][10] = self.color_white
|
||||||
buffer[2][11] = 1
|
buffer[2][11] = self.color_white
|
||||||
buffer[7][2] = 1
|
buffer[7][2] = self.color_white
|
||||||
buffer[7][3] = 1
|
buffer[7][3] = self.color_white
|
||||||
buffer[7][4] = 1
|
buffer[7][4] = self.color_white
|
||||||
buffer[7][5] = 1
|
buffer[7][5] = self.color_white
|
||||||
buffer[7][6] = 1
|
buffer[7][6] = self.color_white
|
||||||
buffer[7][7] = 1
|
buffer[7][7] = self.color_white
|
||||||
buffer[7][8] = 1
|
buffer[7][8] = self.color_white
|
||||||
buffer[7][9] = 1
|
buffer[7][9] = self.color_white
|
||||||
buffer[7][10] = 1
|
buffer[7][10] = self.color_white
|
||||||
buffer[7][11] = 1
|
buffer[7][11] = self.color_white
|
||||||
|
|
||||||
buffer[3][2] = 1
|
buffer[3][2] = self.color_white
|
||||||
buffer[4][2] = 1
|
buffer[4][2] = self.color_white
|
||||||
buffer[5][2] = 1
|
buffer[5][2] = self.color_white
|
||||||
buffer[6][2] = 1
|
buffer[6][2] = self.color_white
|
||||||
buffer[3][11] = 1
|
buffer[3][11] = self.color_white
|
||||||
buffer[4][11] = 1
|
buffer[4][11] = self.color_white
|
||||||
buffer[5][11] = 1
|
buffer[5][11] = self.color_white
|
||||||
buffer[6][11] = 1
|
buffer[6][11] = self.color_white
|
||||||
assert_equal(self.drv.buffer, buffer)
|
assert_equal(self.drv.buffer, buffer)
|
||||||
|
|
||||||
def test_fill_rect(self):
|
def test_fill_rect(self):
|
||||||
@ -214,54 +217,54 @@ class TestPageDrawing(object):
|
|||||||
buffer = self.get_buffer()
|
buffer = self.get_buffer()
|
||||||
for x in range(6):
|
for x in range(6):
|
||||||
for y in range(10):
|
for y in range(10):
|
||||||
buffer[2+x][2+y] = 2
|
buffer[2+x][2+y] = self.color_black
|
||||||
assert_equal(self.drv.buffer, buffer)
|
assert_equal(self.drv.buffer, buffer)
|
||||||
|
|
||||||
def test_draw_circle(self):
|
def test_draw_circle(self):
|
||||||
self.lcd.draw_circle(5, 8, 3)
|
self.lcd.draw_circle(5, 8, 3)
|
||||||
buffer = self.get_buffer()
|
buffer = self.get_buffer()
|
||||||
buffer[2][7] = 1
|
buffer[2][7] = self.color_white
|
||||||
buffer[2][8] = 1
|
buffer[2][8] = self.color_white
|
||||||
buffer[2][9] = 1
|
buffer[2][9] = self.color_white
|
||||||
buffer[3][6] = 1
|
buffer[3][6] = self.color_white
|
||||||
buffer[3][7] = 1
|
buffer[3][7] = self.color_white
|
||||||
buffer[3][9] = 1
|
buffer[3][9] = self.color_white
|
||||||
buffer[3][10] = 1
|
buffer[3][10] = self.color_white
|
||||||
buffer[4][5] = 1
|
buffer[4][5] = self.color_white
|
||||||
buffer[4][6] = 1
|
buffer[4][6] = self.color_white
|
||||||
buffer[4][10] = 1
|
buffer[4][10] = self.color_white
|
||||||
buffer[4][11] = 1
|
buffer[4][11] = self.color_white
|
||||||
buffer[5][5] = 1
|
buffer[5][5] = self.color_white
|
||||||
buffer[5][11] = 1
|
buffer[5][11] = self.color_white
|
||||||
buffer[6][5] = 1
|
buffer[6][5] = self.color_white
|
||||||
buffer[6][6] = 1
|
buffer[6][6] = self.color_white
|
||||||
buffer[7][6] = 1
|
buffer[7][6] = self.color_white
|
||||||
buffer[7][7] = 1
|
buffer[7][7] = self.color_white
|
||||||
buffer[8][7] = 1
|
buffer[8][7] = self.color_white
|
||||||
buffer[8][8] = 1
|
buffer[8][8] = self.color_white
|
||||||
buffer[8][9] = 1
|
buffer[8][9] = self.color_white
|
||||||
buffer[7][9] = 1
|
buffer[7][9] = self.color_white
|
||||||
buffer[7][10] = 1
|
buffer[7][10] = self.color_white
|
||||||
buffer[6][10] = 1
|
buffer[6][10] = self.color_white
|
||||||
buffer[6][11] = 1
|
buffer[6][11] = self.color_white
|
||||||
assert_equal(self.drv.buffer, buffer)
|
assert_equal(self.drv.buffer, buffer)
|
||||||
|
|
||||||
def test_draw_arc(self):
|
def test_draw_arc(self):
|
||||||
self.lcd.draw_arc(5, 8, 3, 90, 270)
|
self.lcd.draw_arc(5, 8, 3, 90, 270)
|
||||||
buffer = self.get_buffer()
|
buffer = self.get_buffer()
|
||||||
buffer[2][7] = 1
|
buffer[2][7] = self.color_white
|
||||||
buffer[2][8] = 1
|
buffer[2][8] = self.color_white
|
||||||
buffer[2][9] = 1
|
buffer[2][9] = self.color_white
|
||||||
buffer[3][6] = 1
|
buffer[3][6] = self.color_white
|
||||||
buffer[3][7] = 1
|
buffer[3][7] = self.color_white
|
||||||
buffer[3][9] = 1
|
buffer[3][9] = self.color_white
|
||||||
buffer[3][10] = 1
|
buffer[3][10] = self.color_white
|
||||||
buffer[4][5] = 1
|
buffer[4][5] = self.color_white
|
||||||
buffer[4][6] = 1
|
buffer[4][6] = self.color_white
|
||||||
buffer[4][10] = 1
|
buffer[4][10] = self.color_white
|
||||||
buffer[4][11] = 1
|
buffer[4][11] = self.color_white
|
||||||
buffer[5][5] = 1
|
buffer[5][5] = self.color_white
|
||||||
buffer[5][11] = 1
|
buffer[5][11] = self.color_white
|
||||||
assert_equal(self.drv.buffer, buffer)
|
assert_equal(self.drv.buffer, buffer)
|
||||||
|
|
||||||
def draw_buffer(self, buffer):
|
def draw_buffer(self, buffer):
|
||||||
|
13
gfxlcd/tests/test_ili9325.py
Normal file
13
gfxlcd/tests/test_ili9325.py
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
import sys
|
||||||
|
from nose.tools import assert_equal
|
||||||
|
sys.path.append("../../")
|
||||||
|
from gfxlcd.driver.ili9325.gpio import GPIO
|
||||||
|
from gfxlcd.driver.ili9325.ili9325 import ILI9325
|
||||||
|
|
||||||
|
|
||||||
|
class TestILI9325Drawing(object):
|
||||||
|
def test_initialize(self):
|
||||||
|
drv = GPIO()
|
||||||
|
drv.pins['LED'] = 6
|
||||||
|
drv.pins['CS'] = 18
|
||||||
|
ILI9325(240, 320, drv)
|
10
gfxlcd/tests/test_ili9486.py
Normal file
10
gfxlcd/tests/test_ili9486.py
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import sys
|
||||||
|
from nose.tools import assert_equal
|
||||||
|
sys.path.append("../../")
|
||||||
|
from gfxlcd.driver.ili9486.spi import SPI
|
||||||
|
from gfxlcd.driver.ili9486.ili9486 import ILI9486
|
||||||
|
|
||||||
|
|
||||||
|
class TestILI9486(object):
|
||||||
|
def test_initialize(self):
|
||||||
|
ILI9486(320, 480, SPI())
|
11
gfxlcd/tests/test_nju6450.py
Normal file
11
gfxlcd/tests/test_nju6450.py
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import sys
|
||||||
|
from nose.tools import assert_equal
|
||||||
|
sys.path.append("../../")
|
||||||
|
from gfxlcd.driver.nju6450.gpio import GPIO
|
||||||
|
from gfxlcd.driver.nju6450.nju6450 import NJU6450
|
||||||
|
|
||||||
|
|
||||||
|
class TestNJU6450(object):
|
||||||
|
def test_initialize(self):
|
||||||
|
drv = GPIO()
|
||||||
|
NJU6450(122, 32, drv)
|
10
gfxlcd/tests/test_ssd1306.py
Normal file
10
gfxlcd/tests/test_ssd1306.py
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import sys
|
||||||
|
from nose.tools import assert_equal
|
||||||
|
sys.path.append("../../")
|
||||||
|
from gfxlcd.driver.ssd1306.spi import SPI
|
||||||
|
from gfxlcd.driver.ssd1306.ssd1306 import SSD1306
|
||||||
|
|
||||||
|
|
||||||
|
class TestNJU6450(object):
|
||||||
|
def test_initialize(self):
|
||||||
|
SSD1306(128, 64, SPI())
|
Loading…
Reference in New Issue
Block a user