diff options
| author | Mike Causer <mcauser@gmail.com> | 2021-04-20 17:07:43 +1000 |
|---|---|---|
| committer | Damien George <damien@micropython.org> | 2021-05-06 15:57:19 +1000 |
| commit | 9eea51b730532cb33fe2531a3aade734d0a0a121 (patch) | |
| tree | cad97fc0f1f83e7cfafed93944a353070f3d639e /drivers/display/ssd1306.py | |
| parent | 8ff3520f67bb8f7e5509129f9f561a1217ababa4 (diff) | |
drivers/display/ssd1306.py: Add rotate method.
And clean up (make more efficient) display set-up commands.
Diffstat (limited to 'drivers/display/ssd1306.py')
| -rw-r--r-- | drivers/display/ssd1306.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/display/ssd1306.py b/drivers/display/ssd1306.py index 6359c85ea..85e2bf0cb 100644 --- a/drivers/display/ssd1306.py +++ b/drivers/display/ssd1306.py @@ -37,12 +37,12 @@ class SSD1306(framebuf.FrameBuffer): def init_display(self): for cmd in ( - SET_DISP | 0x00, # off + SET_DISP, # display off # address setting SET_MEM_ADDR, 0x00, # horizontal # resolution and layout - SET_DISP_START_LINE | 0x00, + SET_DISP_START_LINE, # start at line 0 SET_SEG_REMAP | 0x01, # column addr 127 mapped to SEG0 SET_MUX_RATIO, self.height - 1, @@ -66,14 +66,14 @@ class SSD1306(framebuf.FrameBuffer): # charge pump SET_CHARGE_PUMP, 0x10 if self.external_vcc else 0x14, - SET_DISP | 0x01, + SET_DISP | 0x01, # display on ): # on self.write_cmd(cmd) self.fill(0) self.show() def poweroff(self): - self.write_cmd(SET_DISP | 0x00) + self.write_cmd(SET_DISP) def poweron(self): self.write_cmd(SET_DISP | 0x01) @@ -85,6 +85,10 @@ class SSD1306(framebuf.FrameBuffer): 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 x1 = self.width - 1 |
