From 7bbdfd016ef9ae66c658b5008293656f922a39ff Mon Sep 17 00:00:00 2001 From: Mike Evans Date: Mon, 20 Mar 2023 12:19:51 +0000 Subject: [PATCH 1/3] Add methods to double size the display text. zoom() doubles the text size. unzoom() reverts it to normal size. --- .../drivers/display/ssd1306/ssd1306.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/micropython/drivers/display/ssd1306/ssd1306.py b/micropython/drivers/display/ssd1306/ssd1306.py index 37ad682de..c77205b9e 100644 --- a/micropython/drivers/display/ssd1306/ssd1306.py +++ b/micropython/drivers/display/ssd1306/ssd1306.py @@ -109,6 +109,26 @@ def show(self): self.write_cmd(self.pages - 1) self.write_data(self.buffer) + def zoom(self): + ''' + Set OLED to display double size + ''' + self.temp[0] = 0x00 + self.temp[1] = 0xD6 + self.i2c.writeto(self.addr, self.temp) + self.temp[1] = 0x01 + self.i2c.writeto(self.addr, self.temp) + + def unzoom(self): + ''' + Set OLED to display normal size + ''' + self.temp[0] = 0x00 + self.temp[1] = 0xD6 + self.i2c.writeto(self.addr, self.temp) + self.temp[1] = 0x00 + self.i2c.writeto(self.addr, self.temp) + class SSD1306_I2C(SSD1306): def __init__(self, width, height, i2c, addr=0x3C, external_vcc=False): From ba628411d47cd6ba8d87a78c350dac3fdbe56457 Mon Sep 17 00:00:00 2001 From: Mike Evans Date: Mon, 20 Mar 2023 14:52:46 +0000 Subject: [PATCH 2/3] Change comment style. --- micropython/drivers/display/ssd1306/ssd1306.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/micropython/drivers/display/ssd1306/ssd1306.py b/micropython/drivers/display/ssd1306/ssd1306.py index c77205b9e..7012f7605 100644 --- a/micropython/drivers/display/ssd1306/ssd1306.py +++ b/micropython/drivers/display/ssd1306/ssd1306.py @@ -110,9 +110,7 @@ def show(self): self.write_data(self.buffer) def zoom(self): - ''' - Set OLED to display double size - ''' + # Set OLED to display double size self.temp[0] = 0x00 self.temp[1] = 0xD6 self.i2c.writeto(self.addr, self.temp) @@ -120,9 +118,7 @@ def zoom(self): self.i2c.writeto(self.addr, self.temp) def unzoom(self): - ''' - Set OLED to display normal size - ''' + # Set OLED to display normal size self.temp[0] = 0x00 self.temp[1] = 0xD6 self.i2c.writeto(self.addr, self.temp) From 4dadd4559deebb37bfe28ecf8144e3d46aced60c Mon Sep 17 00:00:00 2001 From: Mike Evans Date: Thu, 23 Mar 2023 12:33:16 +0000 Subject: [PATCH 3/3] Move zoom methods and improve. --- .../drivers/display/ssd1306/ssd1306.py | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/micropython/drivers/display/ssd1306/ssd1306.py b/micropython/drivers/display/ssd1306/ssd1306.py index 7012f7605..d1ac34c41 100644 --- a/micropython/drivers/display/ssd1306/ssd1306.py +++ b/micropython/drivers/display/ssd1306/ssd1306.py @@ -109,22 +109,6 @@ def show(self): self.write_cmd(self.pages - 1) self.write_data(self.buffer) - def zoom(self): - # Set OLED to display double size - self.temp[0] = 0x00 - self.temp[1] = 0xD6 - self.i2c.writeto(self.addr, self.temp) - self.temp[1] = 0x01 - self.i2c.writeto(self.addr, self.temp) - - def unzoom(self): - # Set OLED to display normal size - self.temp[0] = 0x00 - self.temp[1] = 0xD6 - self.i2c.writeto(self.addr, self.temp) - self.temp[1] = 0x00 - self.i2c.writeto(self.addr, self.temp) - class SSD1306_I2C(SSD1306): def __init__(self, width, height, i2c, addr=0x3C, external_vcc=False): @@ -143,6 +127,22 @@ def write_data(self, buf): self.write_list[1] = buf self.i2c.writevto(self.addr, self.write_list) + def zoom(self): + # Set OLED to display double size + temp = bytearray(3) + temp[0] = 0x00 + temp[1] = 0xD6 + temp[2] = 0x01 + self.i2c.writeto(self.addr, self.temp) + + def unzoom(self): + # Set OLED to display normal size + temp = bytearray(3) + temp[0] = 0x00 + temp[1] = 0xD6 + temp[2] = 0x00 + self.i2c.writeto(self.addr, self.temp) + class SSD1306_SPI(SSD1306): def __init__(self, width, height, spi, dc, res, cs, external_vcc=False):