From f7966df39849bfc0c6954d058a621da0d58335e0 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sun, 11 Apr 2021 09:37:25 +0200 Subject: examples/ssd1306: add support for 128x32 displays --- commandline/examples/ssd1306-getpixels | 5 ++--- commandline/examples/ssd1306-init | 12 +++++++++--- commandline/examples/ssd1306-show | 6 +++--- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/commandline/examples/ssd1306-getpixels b/commandline/examples/ssd1306-getpixels index 8527b7a..ba3e2b3 100755 --- a/commandline/examples/ssd1306-getpixels +++ b/commandline/examples/ssd1306-getpixels @@ -3,9 +3,6 @@ from PIL import Image import sys -buf_w = 128 -buf_h = 64 - def load_image(filename): im = Image.open(filename) @@ -20,6 +17,8 @@ def load_image(filename): filename = sys.argv[1] offset = int(sys.argv[2]) +buf_w = int(sys.argv[3]) +buf_h = int(sys.argv[4]) buf = load_image(filename) buf = buf[offset : offset + 128] diff --git a/commandline/examples/ssd1306-init b/commandline/examples/ssd1306-init index 56e77e5..4d587be 100755 --- a/commandline/examples/ssd1306-init +++ b/commandline/examples/ssd1306-init @@ -3,8 +3,14 @@ WR_CMD=0x80 WR_DATA=0x40 -WIDTH=128 -HEIGHT=64 +: ${WIDTH:=128} +: ${HEIGHT:=64} + +if [ "${HEIGHT}" = 32 ]; then + COM_PIN_CFG=0x02 +else + COM_PIN_CFG=0x12 +fi SET_CONTRAST=0x81 SET_ENTIRE_ON=0xa4 @@ -32,7 +38,7 @@ for cmd in $SET_DISP_OFF \ $SET_MUX_RATIO $(( HEIGHT - 1 )) \ $SET_COM_OUT_DIR_08 \ $SET_DISP_OFFSET 0x00 \ - $SET_COM_PIN_CFG 0x12 \ + $SET_COM_PIN_CFG $COM_PIN_CFG \ $SET_DISP_CLK_DIV 0x80 \ $SET_PRECHARGE 0xf1 \ $SET_VCOM_DESEL 0x30 \ diff --git a/commandline/examples/ssd1306-show b/commandline/examples/ssd1306-show index bac18da..63a63cd 100755 --- a/commandline/examples/ssd1306-show +++ b/commandline/examples/ssd1306-show @@ -3,8 +3,8 @@ WR_CMD=0x80 WR_DATA=0x40 -WIDTH=128 -HEIGHT=64 +: ${WIDTH:=128} +: ${HEIGHT:=64} SET_CONTRAST=0x81 SET_ENTIRE_ON=0xa4 @@ -33,5 +33,5 @@ for cmd in $SET_COL_ADDR 0 $(( WIDTH - 1 )) \ done for offset in $(seq 0 7); do - vusb-i2cset 0x3c $WR_DATA $("${BASE}/ssd1306-getpixels" "$1" $(( offset * 128 ))) + vusb-i2cset 0x3c $WR_DATA $("${BASE}/ssd1306-getpixels" "$1" $(( offset * 128 )) "${WIDTH}" "${HEIGHT}") done -- cgit v1.2.3