From 863e07d89eef04ca3991ebbbe248b88e5e17d7ef Mon Sep 17 00:00:00 2001 From: Stefan Kinzel Date: Fri, 23 Dec 2016 02:39:36 +0100 Subject: [PATCH] tuning --- FlipdotSender.py | 13 ++++++++----- mqtt-to-flipdot.py | 10 ++++++++-- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/FlipdotSender.py b/FlipdotSender.py index d44f54c..1abfc86 100644 --- a/FlipdotSender.py +++ b/FlipdotSender.py @@ -13,10 +13,12 @@ class FlipdotSender(object): C_BLACK = 0 C_WHITE = 255 - def __init__(self, udphost, udpport, img_size=(80,16), font_size=11, - font_offset1=(0,-2), font_offset2=(0,6), - font_family='/usr/share/fonts/gnu-free/FreeMono.ttf', + def __init__(self, udphost, udpport, img_size=(80,16), font_size=8, font_size_scroll=12, + font_offset1=(0,-1), font_offset2=(0,7), + #font_family='/usr/share/fonts/gnu-free/FreeMono.ttf', + font_family='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf', #font_family='/usr/share/fonts/truetype/freefont/FreeMono.ttf', + chars_per_line=11): ''' Constructor @@ -28,6 +30,7 @@ class FlipdotSender(object): self._udpport = udpport self._img_size = img_size self._font_size = font_size + self._font_size_scroll = font_size_scroll self._font_offset1 = font_offset1 self._font_offset2 = font_offset2 self._font_family = font_family @@ -72,14 +75,14 @@ class FlipdotSender(object): splitted_text = text.split("|") draw.text(self._font_offset1, splitted_text[0], font=font, fill=FlipdotSender.C_WHITE) - if not splitted_text[1] is None: + if len(splitted_text)>1: draw.text(self._font_offset2, splitted_text[1], font=font, fill=FlipdotSender.C_WHITE) self._send(image) def send_marquee(self, str, speed=3): offset = self._img_size[0] - font = ImageFont.truetype(self._font_family, self._font_size) + font = ImageFont.truetype(self._font_family, self._font_size_scroll) while offset >= -font.getsize(str)[0]-speed: image = Image.new("RGBA", self._img_size, FlipdotSender.C_BLACK) diff --git a/mqtt-to-flipdot.py b/mqtt-to-flipdot.py index edc614e..acfa8e5 100644 --- a/mqtt-to-flipdot.py +++ b/mqtt-to-flipdot.py @@ -15,9 +15,15 @@ def on_message(client, userdata, msg): if msg.topic == "raum2/flipdot/scroll": payload = msg.payload.decode("utf-8") - speed = int(payload[0]) + + if (payload[0]).isdigit(): + speed = int(payload[0]) + text = payload[1:] + else: + speed = 3 + text = payload - flipdot.send_marquee(payload[1:], speed) + flipdot.send_marquee(text, speed) if msg.topic == "raum2/flipdot/text": payload = msg.payload.decode("utf-8") flipdot.send_text(payload)