From 7be3f9c0af61b18140268f5cdbb72f8a29466688 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartosz=20Ko=C5=9Bci=C3=B3w?= Date: Sat, 8 Jul 2017 19:43:38 +0200 Subject: [PATCH] refactor colors add tests --- gfxlcd/abstract/chip.py | 17 +- gfxlcd/demos/ili9325_hd44780.py | 8 +- gfxlcd/drawing/area.py | 17 +- gfxlcd/drawing/page.py | 6 +- gfxlcd/drawing/pixel.py | 10 +- gfxlcd/driver/hd44780.py | 6 +- gfxlcd/driver/ili9325/ili9325.py | 30 ++- gfxlcd/driver/ili9486/ili9486.py | 30 ++- gfxlcd/driver/nju6450/nju6450.py | 17 +- gfxlcd/driver/null/null_area.py | 10 +- gfxlcd/driver/null/null_page.py | 9 +- gfxlcd/driver/ssd1306/ssd1306.py | 17 +- gfxlcd/tests/test_area_drawing.py | 341 +++++++++++++++--------------- gfxlcd/tests/test_ili9325.py | 13 ++ gfxlcd/tests/test_ili9486.py | 10 + gfxlcd/tests/test_nju6450.py | 11 + gfxlcd/tests/test_ssd1306.py | 10 + 17 files changed, 327 insertions(+), 235 deletions(-) create mode 100644 gfxlcd/tests/test_ili9325.py create mode 100644 gfxlcd/tests/test_ili9486.py create mode 100644 gfxlcd/tests/test_nju6450.py create mode 100644 gfxlcd/tests/test_ssd1306.py diff --git a/gfxlcd/abstract/chip.py b/gfxlcd/abstract/chip.py index 9ddda43..fd8c55a 100644 --- a/gfxlcd/abstract/chip.py +++ b/gfxlcd/abstract/chip.py @@ -30,14 +30,19 @@ class Chip(metaclass=abc.ABCMeta): else: return self._width - @abc.abstractmethod - def _converted_background_color(self): - """convert RGB background to available color""" - pass + # @abc.abstractmethod + # def _converted_background_color(self): + # """convert RGB background to available color""" + # pass + # + # @abc.abstractmethod + # def _converted_color(self): + # """convert RGB color to available color""" + # pass @abc.abstractmethod - def _converted_color(self): - """convert RGB color to available color""" + def _convert_color(self, color): + """convert color to avaible one""" pass @property diff --git a/gfxlcd/demos/ili9325_hd44780.py b/gfxlcd/demos/ili9325_hd44780.py index 99bf905..4553aff 100644 --- a/gfxlcd/demos/ili9325_hd44780.py +++ b/gfxlcd/demos/ili9325_hd44780.py @@ -21,8 +21,12 @@ def test1(): lcd = CharLCD(drv.width, drv.height, drv, 0, 0) lcd.init() - lcd.write('-!Second blarg!') - lcd.write("-second line", 0, 1) + lcd.write('First Line') + 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.write('/* ', 19, 0) diff --git a/gfxlcd/drawing/area.py b/gfxlcd/drawing/area.py index c2ab129..de4fae8 100644 --- a/gfxlcd/drawing/area.py +++ b/gfxlcd/drawing/area.py @@ -13,22 +13,24 @@ class Area(Pixel): """additional initialization""" pass - def draw_pixel(self, pos_x, pos_y): + def draw_pixel(self, pos_x, pos_y, color=None): """draw one pixel""" + if color is None: + color = self.options['color'] 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): """draw vertical line""" 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): self.driver.data(color, None) def _draw_horizontal_line(self, pos_x, pos_y, length): """draw horizontal line""" 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): self.driver.data(color, None) @@ -94,7 +96,8 @@ class Area(Pixel): max(pos_x1, pos_x2), 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): self.driver.data(color, None) @@ -131,7 +134,9 @@ class Area(Pixel): self._set_area(*temporary_area) temporary_area = None self.color = (red, green, blue) - self.driver.data(self._converted_color(), None) + self.driver.data( + self._convert_color(self.options['color']), None + ) col += 1 if col > width - 1: diff --git a/gfxlcd/drawing/page.py b/gfxlcd/drawing/page.py index 0dd964c..17d93d5 100644 --- a/gfxlcd/drawing/page.py +++ b/gfxlcd/drawing/page.py @@ -16,9 +16,11 @@ class Page(Pixel, metaclass=abc.ABCMeta): else: 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""" - 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() def draw_line(self, pos_x1, pos_y1, pos_x2, pos_y2): diff --git a/gfxlcd/drawing/pixel.py b/gfxlcd/drawing/pixel.py index bb70a9e..209ad3f 100644 --- a/gfxlcd/drawing/pixel.py +++ b/gfxlcd/drawing/pixel.py @@ -36,7 +36,7 @@ class Pixel(object): """set 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""" pass @@ -137,15 +137,15 @@ class Pixel(object): 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""" font = self.options['font'] idx = 0 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] - def _draw_letter(self, pos_x, pos_y, letter): + def _draw_letter(self, pos_x, pos_y, letter, with_background=False): """draw a letter""" font = self.options['font'] bits = font.size[0] @@ -153,5 +153,7 @@ class Pixel(object): for bit in range(bits): if data & 0x01: self.draw_pixel(pos_x + bit, pos_y + row) + elif with_background: + self.draw_pixel(pos_x + bit, pos_y + row) data >>= 1 diff --git a/gfxlcd/driver/hd44780.py b/gfxlcd/driver/hd44780.py index 1599a31..7423805 100644 --- a/gfxlcd/driver/hd44780.py +++ b/gfxlcd/driver/hd44780.py @@ -21,14 +21,14 @@ class HD44780(BaseDriver): 'x': 0, 'y': 0 } + self.address = [] def init(self): """init function""" if self.initialized: return - char_lcd.LCD_LINES = [] 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.initialized = True @@ -71,3 +71,5 @@ class HD44780(BaseDriver): def _increase_x(self): self.position['x'] += self.font.size[0] + def get_line_address(self, idx): + return self.address[idx] diff --git a/gfxlcd/driver/ili9325/ili9325.py b/gfxlcd/driver/ili9325/ili9325.py index cf37742..1bdd5fb 100644 --- a/gfxlcd/driver/ili9325/ili9325.py +++ b/gfxlcd/driver/ili9325/ili9325.py @@ -33,19 +33,27 @@ class ILI9325(Area, Chip): Chip.__init__(self, width, height, driver, True) Area.__init__(self, driver) - def _converted_background_color(self): - """color from 8-8-8 to 5-6-5""" - rgb = self.options['background_color']['R'] << 16 | \ - self.options['background_color']['G'] << 8 | \ - self.options['background_color']['B'] - return ((rgb & 0x00f80000) >> 8) |\ - ((rgb & 0x0000fc00) >> 5) | ((rgb & 0x000000f8) >> 3) + # def _converted_background_color(self): + # """color from 8-8-8 to 5-6-5""" + # rgb = self.options['background_color']['R'] << 16 | \ + # self.options['background_color']['G'] << 8 | \ + # self.options['background_color']['B'] + # return ((rgb & 0x00f80000) >> 8) |\ + # ((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""" - rgb = self.options['color']['R'] << 16 | \ - self.options['color']['G'] << 8 | \ - self.options['color']['B'] + rgb = color['R'] << 16 | \ + color['G'] << 8 | \ + color['B'] return ((rgb & 0x00f80000) >> 8) |\ ((rgb & 0x0000fc00) >> 5) | ((rgb & 0x000000f8) >> 3) diff --git a/gfxlcd/driver/ili9486/ili9486.py b/gfxlcd/driver/ili9486/ili9486.py index cdcafb6..b32843b 100644 --- a/gfxlcd/driver/ili9486/ili9486.py +++ b/gfxlcd/driver/ili9486/ili9486.py @@ -12,19 +12,27 @@ class ILI9486(Area, Chip): Chip.__init__(self, width, height, driver, True) Area.__init__(self, driver) - def _converted_background_color(self): - """color from 8-8-8 to 5-6-5""" - rgb = self.options['background_color']['R'] << 16 | \ - self.options['background_color']['G'] << 8 | \ - self.options['background_color']['B'] - return ((rgb & 0x00f80000) >> 8) |\ - ((rgb & 0x0000fc00) >> 5) | ((rgb & 0x000000f8) >> 3) + # def _converted_background_color(self): + # """color from 8-8-8 to 5-6-5""" + # rgb = self.options['background_color']['R'] << 16 | \ + # self.options['background_color']['G'] << 8 | \ + # self.options['background_color']['B'] + # return ((rgb & 0x00f80000) >> 8) |\ + # ((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""" - rgb = self.options['color']['R'] << 16 | \ - self.options['color']['G'] << 8 | \ - self.options['color']['B'] + rgb = color['R'] << 16 | \ + color['G'] << 8 | \ + color['B'] return ((rgb & 0x00f80000) >> 8) |\ ((rgb & 0x0000fc00) >> 5) | ((rgb & 0x000000f8) >> 3) diff --git a/gfxlcd/driver/nju6450/nju6450.py b/gfxlcd/driver/nju6450/nju6450.py index ad6a05f..e4be7e1 100644 --- a/gfxlcd/driver/nju6450/nju6450.py +++ b/gfxlcd/driver/nju6450/nju6450.py @@ -36,12 +36,19 @@ class NJU6450(Page, Chip): self.driver.cmd(0xB8 | pos_y, 1) self.driver.cmd(0x00 | (pos_x - width//2), 1) - def _converted_background_color(self): - """convert RGB background to available color""" - return 1 + # def _converted_background_color(self): + # """convert RGB background to available color""" + # 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 def flush(self, force=None): diff --git a/gfxlcd/driver/null/null_area.py b/gfxlcd/driver/null/null_area.py index dfd1ca6..cf17736 100644 --- a/gfxlcd/driver/null/null_area.py +++ b/gfxlcd/driver/null/null_area.py @@ -10,13 +10,9 @@ class NullArea(Area, Chip): Area.__init__(self, driver) self.rotation = 0 - def _converted_background_color(self): - """dummy background color""" - return 2 - - def _converted_color(self): - """dummy color""" - return 1 + def _convert_color(self, color): + """color color""" + return color def init(self): """init display""" diff --git a/gfxlcd/driver/null/null_page.py b/gfxlcd/driver/null/null_page.py index dbf83c4..05ebef1 100644 --- a/gfxlcd/driver/null/null_page.py +++ b/gfxlcd/driver/null/null_page.py @@ -22,12 +22,11 @@ class NullPage(Page, Chip): Page.init(self) Chip.init(self) - def _converted_background_color(self): - """convert RGB background 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 def flush(self, force=None): diff --git a/gfxlcd/driver/ssd1306/ssd1306.py b/gfxlcd/driver/ssd1306/ssd1306.py index edb11b4..a5b40dd 100644 --- a/gfxlcd/driver/ssd1306/ssd1306.py +++ b/gfxlcd/driver/ssd1306/ssd1306.py @@ -76,12 +76,19 @@ class SSD1306(Page, Chip): self.driver.cmd(0x14) # enable charge pump self.driver.cmd(0xaf) # turn on panel - def _converted_background_color(self): - """convert RGB background to available color""" - return 1 + # def _converted_background_color(self): + # """convert RGB background to available color""" + # 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 def flush(self, force=None): diff --git a/gfxlcd/tests/test_area_drawing.py b/gfxlcd/tests/test_area_drawing.py index 8b37f5b..eb08435 100644 --- a/gfxlcd/tests/test_area_drawing.py +++ b/gfxlcd/tests/test_area_drawing.py @@ -5,7 +5,10 @@ from gfxlcd.driver.null.null_area import NullArea 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): self.drv = AreaDriver(10, 16) self.lcd = NullArea(10, 16, self.drv, False) @@ -24,189 +27,189 @@ class TestPageDrawing(object): def test_draw_pixel(self): self.lcd.draw_pixel(1, 1) buffer = self.get_buffer() - buffer[1][1] = 1 + buffer[1][1] = self.color_white assert_equal(self.drv.buffer, buffer) def test_draw_two_pixel(self): self.lcd.draw_pixel(1, 1) self.lcd.draw_pixel(2, 2) buffer = self.get_buffer() - buffer[1][1] = 1 - buffer[2][2] = 1 + buffer[1][1] = self.color_white + buffer[2][2] = self.color_white assert_equal(self.drv.buffer, buffer) def test_draw_horizontal_line(self): self.lcd.draw_line(1, 1, 8, 1) buffer = self.get_buffer() - buffer[1][1] = 1 - buffer[2][1] = 1 - buffer[3][1] = 1 - buffer[4][1] = 1 - buffer[5][1] = 1 - buffer[6][1] = 1 - buffer[7][1] = 1 - buffer[8][1] = 1 + buffer[1][1] = self.color_white + buffer[2][1] = self.color_white + buffer[3][1] = self.color_white + buffer[4][1] = self.color_white + buffer[5][1] = self.color_white + buffer[6][1] = self.color_white + buffer[7][1] = self.color_white + buffer[8][1] = self.color_white assert_equal(self.drv.buffer, buffer) def test_draw_vertical_line(self): self.lcd.draw_line(1, 1, 1, 14) buffer = self.get_buffer() - buffer[1][1] = 1 - buffer[1][2] = 1 - buffer[1][3] = 1 - buffer[1][4] = 1 - buffer[1][5] = 1 - buffer[1][6] = 1 - buffer[1][7] = 1 - buffer[1][8] = 1 - buffer[1][9] = 1 - buffer[1][10] = 1 - buffer[1][11] = 1 - buffer[1][12] = 1 - buffer[1][13] = 1 - buffer[1][14] = 1 + buffer[1][1] = self.color_white + buffer[1][2] = self.color_white + buffer[1][3] = self.color_white + buffer[1][4] = self.color_white + buffer[1][5] = self.color_white + buffer[1][6] = self.color_white + buffer[1][7] = self.color_white + buffer[1][8] = self.color_white + buffer[1][9] = self.color_white + buffer[1][10] = self.color_white + buffer[1][11] = self.color_white + buffer[1][12] = self.color_white + buffer[1][13] = self.color_white + buffer[1][14] = self.color_white assert_equal(self.drv.buffer, buffer) def test_draw_overlapping_lines(self): self.lcd.draw_line(1, 1, 8, 1) self.lcd.draw_line(1, 1, 1, 14) buffer = self.get_buffer() - buffer[1][1] = 1 - buffer[2][1] = 1 - buffer[3][1] = 1 - buffer[4][1] = 1 - buffer[5][1] = 1 - buffer[6][1] = 1 - buffer[7][1] = 1 - buffer[8][1] = 1 - buffer[1][1] = 1 - buffer[1][2] = 1 - buffer[1][3] = 1 - buffer[1][4] = 1 - buffer[1][5] = 1 - buffer[1][6] = 1 - buffer[1][7] = 1 - buffer[1][8] = 1 - buffer[1][9] = 1 - buffer[1][10] = 1 - buffer[1][11] = 1 - buffer[1][12] = 1 - buffer[1][13] = 1 - buffer[1][14] = 1 + buffer[1][1] = self.color_white + buffer[2][1] = self.color_white + buffer[3][1] = self.color_white + buffer[4][1] = self.color_white + buffer[5][1] = self.color_white + buffer[6][1] = self.color_white + buffer[7][1] = self.color_white + buffer[8][1] = self.color_white + buffer[1][1] = self.color_white + buffer[1][2] = self.color_white + buffer[1][3] = self.color_white + buffer[1][4] = self.color_white + buffer[1][5] = self.color_white + buffer[1][6] = self.color_white + buffer[1][7] = self.color_white + buffer[1][8] = self.color_white + buffer[1][9] = self.color_white + buffer[1][10] = self.color_white + buffer[1][11] = self.color_white + buffer[1][12] = self.color_white + buffer[1][13] = self.color_white + buffer[1][14] = self.color_white assert_equal(self.drv.buffer, buffer) def test_draw_diagonal_line(self): self.lcd.draw_line(0, 0, 9, 1) buffer = self.get_buffer() - buffer[0][0] = 1 - buffer[1][0] = 1 - buffer[2][0] = 1 - buffer[3][0] = 1 - buffer[4][0] = 1 - buffer[5][1] = 1 - buffer[6][1] = 1 - buffer[7][1] = 1 - buffer[8][1] = 1 - buffer[9][1] = 1 + buffer[0][0] = self.color_white + buffer[1][0] = self.color_white + buffer[2][0] = self.color_white + buffer[3][0] = self.color_white + buffer[4][0] = self.color_white + buffer[5][1] = self.color_white + buffer[6][1] = self.color_white + buffer[7][1] = self.color_white + buffer[8][1] = self.color_white + buffer[9][1] = self.color_white assert_equal(self.drv.buffer, buffer) def test_draw_diagonal_line_even_steps(self): self.lcd.draw_line(0, 0, 9, 15) buffer = self.get_buffer() - buffer[0][0] = 1 - buffer[1][1] = 1 - buffer[2][2] = 1 - buffer[2][3] = 1 - buffer[3][4] = 1 - buffer[3][5] = 1 - buffer[4][6] = 1 - buffer[4][7] = 1 - buffer[5][8] = 1 - buffer[5][9] = 1 - buffer[6][10] = 1 - buffer[6][11] = 1 - buffer[7][12] = 1 - buffer[7][13] = 1 - buffer[8][14] = 1 - buffer[9][15] = 1 + buffer[0][0] = self.color_white + buffer[1][1] = self.color_white + buffer[2][2] = self.color_white + buffer[2][3] = self.color_white + buffer[3][4] = self.color_white + buffer[3][5] = self.color_white + buffer[4][6] = self.color_white + buffer[4][7] = self.color_white + buffer[5][8] = self.color_white + buffer[5][9] = self.color_white + buffer[6][10] = self.color_white + buffer[6][11] = self.color_white + buffer[7][12] = self.color_white + buffer[7][13] = self.color_white + buffer[8][14] = self.color_white + buffer[9][15] = self.color_white assert_equal(self.drv.buffer, buffer) def test_draw_diagonal_line_even_steps_even_rest(self): self.lcd.draw_line(0, 0, 9, 5) buffer = self.get_buffer() - buffer[0][0] = 1 - buffer[1][1] = 1 - buffer[2][1] = 1 - buffer[3][2] = 1 - buffer[4][2] = 1 - buffer[5][3] = 1 - buffer[6][3] = 1 - buffer[7][4] = 1 - buffer[8][4] = 1 - buffer[9][5] = 1 + buffer[0][0] = self.color_white + buffer[1][1] = self.color_white + buffer[2][1] = self.color_white + buffer[3][2] = self.color_white + buffer[4][2] = self.color_white + buffer[5][3] = self.color_white + buffer[6][3] = self.color_white + buffer[7][4] = self.color_white + buffer[8][4] = self.color_white + buffer[9][5] = self.color_white assert_equal(self.drv.buffer, buffer) def test_draw_diagonal_line_odd_steps_even_rest(self): self.lcd.draw_line(0, 0, 9, 6) buffer = self.get_buffer() - buffer[0][0] = 1 - buffer[1][1] = 1 - buffer[2][2] = 1 - buffer[3][2] = 1 - buffer[4][3] = 1 - buffer[5][3] = 1 - buffer[6][4] = 1 - buffer[7][4] = 1 - buffer[8][5] = 1 - buffer[9][6] = 1 + buffer[0][0] = self.color_white + buffer[1][1] = self.color_white + buffer[2][2] = self.color_white + buffer[3][2] = self.color_white + buffer[4][3] = self.color_white + buffer[5][3] = self.color_white + buffer[6][4] = self.color_white + buffer[7][4] = self.color_white + buffer[8][5] = self.color_white + buffer[9][6] = self.color_white assert_equal(self.drv.buffer, buffer) def test_draw_diagonal_line_even_steps_odd_rest(self): self.lcd.draw_line(0, 0, 8, 6) buffer = self.get_buffer() - buffer[0][0] = 1 - buffer[1][1] = 1 - buffer[2][2] = 1 - buffer[3][3] = 1 - buffer[4][3] = 1 - buffer[5][3] = 1 - buffer[6][4] = 1 - buffer[7][5] = 1 - buffer[8][6] = 1 + buffer[0][0] = self.color_white + buffer[1][1] = self.color_white + buffer[2][2] = self.color_white + buffer[3][3] = self.color_white + buffer[4][3] = self.color_white + buffer[5][3] = self.color_white + buffer[6][4] = self.color_white + buffer[7][5] = self.color_white + buffer[8][6] = self.color_white assert_equal(self.drv.buffer, buffer) def test_draw_rect(self): self.lcd.draw_rect(2, 2, 7, 11) buffer = self.get_buffer() - buffer[2][2] = 1 - buffer[2][3] = 1 - buffer[2][4] = 1 - buffer[2][5] = 1 - buffer[2][6] = 1 - buffer[2][7] = 1 - buffer[2][8] = 1 - buffer[2][9] = 1 - buffer[2][10] = 1 - buffer[2][11] = 1 - buffer[7][2] = 1 - buffer[7][3] = 1 - buffer[7][4] = 1 - buffer[7][5] = 1 - buffer[7][6] = 1 - buffer[7][7] = 1 - buffer[7][8] = 1 - buffer[7][9] = 1 - buffer[7][10] = 1 - buffer[7][11] = 1 + buffer[2][2] = self.color_white + buffer[2][3] = self.color_white + buffer[2][4] = self.color_white + buffer[2][5] = self.color_white + buffer[2][6] = self.color_white + buffer[2][7] = self.color_white + buffer[2][8] = self.color_white + buffer[2][9] = self.color_white + buffer[2][10] = self.color_white + buffer[2][11] = self.color_white + buffer[7][2] = self.color_white + buffer[7][3] = self.color_white + buffer[7][4] = self.color_white + buffer[7][5] = self.color_white + buffer[7][6] = self.color_white + buffer[7][7] = self.color_white + buffer[7][8] = self.color_white + buffer[7][9] = self.color_white + buffer[7][10] = self.color_white + buffer[7][11] = self.color_white - buffer[3][2] = 1 - buffer[4][2] = 1 - buffer[5][2] = 1 - buffer[6][2] = 1 - buffer[3][11] = 1 - buffer[4][11] = 1 - buffer[5][11] = 1 - buffer[6][11] = 1 + buffer[3][2] = self.color_white + buffer[4][2] = self.color_white + buffer[5][2] = self.color_white + buffer[6][2] = self.color_white + buffer[3][11] = self.color_white + buffer[4][11] = self.color_white + buffer[5][11] = self.color_white + buffer[6][11] = self.color_white assert_equal(self.drv.buffer, buffer) def test_fill_rect(self): @@ -214,54 +217,54 @@ class TestPageDrawing(object): buffer = self.get_buffer() for x in range(6): 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) def test_draw_circle(self): self.lcd.draw_circle(5, 8, 3) buffer = self.get_buffer() - buffer[2][7] = 1 - buffer[2][8] = 1 - buffer[2][9] = 1 - buffer[3][6] = 1 - buffer[3][7] = 1 - buffer[3][9] = 1 - buffer[3][10] = 1 - buffer[4][5] = 1 - buffer[4][6] = 1 - buffer[4][10] = 1 - buffer[4][11] = 1 - buffer[5][5] = 1 - buffer[5][11] = 1 - buffer[6][5] = 1 - buffer[6][6] = 1 - buffer[7][6] = 1 - buffer[7][7] = 1 - buffer[8][7] = 1 - buffer[8][8] = 1 - buffer[8][9] = 1 - buffer[7][9] = 1 - buffer[7][10] = 1 - buffer[6][10] = 1 - buffer[6][11] = 1 + buffer[2][7] = self.color_white + buffer[2][8] = self.color_white + buffer[2][9] = self.color_white + buffer[3][6] = self.color_white + buffer[3][7] = self.color_white + buffer[3][9] = self.color_white + buffer[3][10] = self.color_white + buffer[4][5] = self.color_white + buffer[4][6] = self.color_white + buffer[4][10] = self.color_white + buffer[4][11] = self.color_white + buffer[5][5] = self.color_white + buffer[5][11] = self.color_white + buffer[6][5] = self.color_white + buffer[6][6] = self.color_white + buffer[7][6] = self.color_white + buffer[7][7] = self.color_white + buffer[8][7] = self.color_white + buffer[8][8] = self.color_white + buffer[8][9] = self.color_white + buffer[7][9] = self.color_white + buffer[7][10] = self.color_white + buffer[6][10] = self.color_white + buffer[6][11] = self.color_white assert_equal(self.drv.buffer, buffer) def test_draw_arc(self): self.lcd.draw_arc(5, 8, 3, 90, 270) buffer = self.get_buffer() - buffer[2][7] = 1 - buffer[2][8] = 1 - buffer[2][9] = 1 - buffer[3][6] = 1 - buffer[3][7] = 1 - buffer[3][9] = 1 - buffer[3][10] = 1 - buffer[4][5] = 1 - buffer[4][6] = 1 - buffer[4][10] = 1 - buffer[4][11] = 1 - buffer[5][5] = 1 - buffer[5][11] = 1 + buffer[2][7] = self.color_white + buffer[2][8] = self.color_white + buffer[2][9] = self.color_white + buffer[3][6] = self.color_white + buffer[3][7] = self.color_white + buffer[3][9] = self.color_white + buffer[3][10] = self.color_white + buffer[4][5] = self.color_white + buffer[4][6] = self.color_white + buffer[4][10] = self.color_white + buffer[4][11] = self.color_white + buffer[5][5] = self.color_white + buffer[5][11] = self.color_white assert_equal(self.drv.buffer, buffer) def draw_buffer(self, buffer): diff --git a/gfxlcd/tests/test_ili9325.py b/gfxlcd/tests/test_ili9325.py new file mode 100644 index 0000000..2d35d90 --- /dev/null +++ b/gfxlcd/tests/test_ili9325.py @@ -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) diff --git a/gfxlcd/tests/test_ili9486.py b/gfxlcd/tests/test_ili9486.py new file mode 100644 index 0000000..1232a57 --- /dev/null +++ b/gfxlcd/tests/test_ili9486.py @@ -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()) diff --git a/gfxlcd/tests/test_nju6450.py b/gfxlcd/tests/test_nju6450.py new file mode 100644 index 0000000..7f339f5 --- /dev/null +++ b/gfxlcd/tests/test_nju6450.py @@ -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) diff --git a/gfxlcd/tests/test_ssd1306.py b/gfxlcd/tests/test_ssd1306.py new file mode 100644 index 0000000..509950c --- /dev/null +++ b/gfxlcd/tests/test_ssd1306.py @@ -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())