From 42e7fdf01c3a5701bb51e93ad6c650c3dbbc5450 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Fri, 16 Apr 2021 20:49:36 +0200 Subject: ssd1306-bad-apple: support both 128x64 and 128x32 displays --- src/app/ssd1306-bad-apple/convert | 4 ++-- src/app/ssd1306-bad-apple/frames-to-cc | 4 ++-- src/app/ssd1306-bad-apple/main.cc | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src/app/ssd1306-bad-apple') 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 -r [additional ffmpeg args] +# [size=WxH] ./convert.sh -r [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(); -- cgit v1.2.3