diff --git a/ssd1306.py b/ssd1306.py index 6359c85..a593d2a 100644 --- a/ssd1306.py +++ b/ssd1306.py @@ -1,7 +1,15 @@ # MicroPython SSD1306 OLED driver, I2C and SPI interfaces from micropython import const -import framebuf +# import extended framebuffer if available) +# https://github.com/peter-l5/framebuf2 +try: + import framebuf2 as framebuf + _fb_variant = 2 +except: + import framebuf + _fb_variant = 1 +print("framebuf is ", ("standard" if _fb_variant == 1 else "extended")) # register definitions @@ -84,6 +92,10 @@ def contrast(self, contrast): def invert(self, invert): self.write_cmd(SET_NORM_INV | (invert & 1)) + + def rotate(self, rotate): + self.write_cmd(SET_COM_OUT_DIR | ((rotate & 1) << 3)) + self.write_cmd(SET_SEG_REMAP | (rotate & 1)) def show(self): x0 = 0