diff options
author | Daniel Friesel <derf@finalrewind.org> | 2021-04-16 20:49:36 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2021-04-16 20:49:36 +0200 |
commit | 42e7fdf01c3a5701bb51e93ad6c650c3dbbc5450 (patch) | |
tree | 0230d2d4e372f205f43b27a96f4c6355c1e28a37 /src/app/ssd1306-bad-apple | |
parent | aa728fb0daeba1c4c15b2514acbbd0fadb8f9cda (diff) |
ssd1306-bad-apple: support both 128x64 and 128x32 displays
Diffstat (limited to 'src/app/ssd1306-bad-apple')
-rwxr-xr-x | src/app/ssd1306-bad-apple/convert | 4 | ||||
-rwxr-xr-x | src/app/ssd1306-bad-apple/frames-to-cc | 4 | ||||
-rw-r--r-- | src/app/ssd1306-bad-apple/main.cc | 8 |
3 files changed, 8 insertions, 8 deletions
diff --git a/src/app/ssd1306-bad-apple/convert b/src/app/ssd1306-bad-apple/convert index f0118dd..7d2ca0e 100755 --- a/src/app/ssd1306-bad-apple/convert +++ b/src/app/ssd1306-bad-apple/convert @@ -1,6 +1,6 @@ #!/bin/sh -# ./convert.sh <file> -r <frame rate> [additional ffmpeg args] +# [size=WxH] ./convert.sh <file> -r <frame rate> [additional ffmpeg args] set -eu @@ -8,7 +8,7 @@ mkdir -p tmp ffmpeg -i "$@" tmp/frame%4d.png -parallel mogrify -resize 128x64 -threshold 50% -- tmp/*.png +parallel mogrify -resize "${size:-128x64}" -threshold 50% -- tmp/*.png echo "const unsigned char frame_rate = $3;" > frames.cc ./frames-to-cc tmp/*.png >> frames.cc diff --git a/src/app/ssd1306-bad-apple/frames-to-cc b/src/app/ssd1306-bad-apple/frames-to-cc index 0ae95ec..bcbabf7 100755 --- a/src/app/ssd1306-bad-apple/frames-to-cc +++ b/src/app/ssd1306-bad-apple/frames-to-cc @@ -1,11 +1,11 @@ #!/usr/bin/env python3 from PIL import Image +import os import sys import zlib -buf_w = 128 -buf_h = 64 +buf_w, buf_h = map(int, os.getenv("size", "128x64").split("x")) def load_image(filename): im = Image.open(filename) diff --git a/src/app/ssd1306-bad-apple/main.cc b/src/app/ssd1306-bad-apple/main.cc index 5e89625..d1ecd8d 100644 --- a/src/app/ssd1306-bad-apple/main.cc +++ b/src/app/ssd1306-bad-apple/main.cc @@ -15,7 +15,7 @@ volatile unsigned char timer_done = 0; #include "frames.cc" -__attribute__((section(".leaRAM"))) unsigned char img_buf[(128 * 64 / 8) * 3]; +__attribute__((section(".leaRAM"))) unsigned char img_buf[(SSD1306_WIDTH * SSD1306_HEIGHT / 8) * 3]; int main(void) { @@ -35,7 +35,7 @@ int main(void) timer_done = 0; timer.start(1); - ssd1306.showImage(img_buf + (128 * 64 / 8 * 2), 128 * 64 / 8); + ssd1306.showImage(img_buf + (SSD1306_WIDTH * SSD1306_HEIGHT / 8 * 2), SSD1306_WIDTH * SSD1306_HEIGHT / 8); inflate(frames[i], sizeof(img_buf), img_buf, sizeof(img_buf)); @@ -47,7 +47,7 @@ int main(void) timer_done = 0; timer.start(1); - ssd1306.showImage(img_buf + (128 * 64 / 8 * 0), 128 * 64 / 8); + ssd1306.showImage(img_buf + (SSD1306_WIDTH * SSD1306_HEIGHT / 8 * 0), SSD1306_WIDTH * SSD1306_HEIGHT / 8); while (!timer_done) { arch.idle(); @@ -57,7 +57,7 @@ int main(void) timer_done = 0; timer.start(1); - ssd1306.showImage(img_buf + (128 * 64 / 8 * 1), 128 * 64 / 8); + ssd1306.showImage(img_buf + (SSD1306_WIDTH * SSD1306_HEIGHT / 8 * 1), SSD1306_WIDTH * SSD1306_HEIGHT / 8); while (!timer_done) { arch.idle(); |