Commit 42e7fdf0 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

ssd1306-bad-apple: support both 128x64 and 128x32 displays

parent aa728fb0
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
#!/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
+2 −2
Original line number Diff line number Diff line
#!/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)
+4 −4
Original line number Diff line number Diff line
@@ -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();