From 9df1dbe077d1c464165586017429cc09db1e9042 Mon Sep 17 00:00:00 2001 From: SpiderDead Date: Sun, 20 Oct 2019 21:27:44 +0200 Subject: [PATCH] Added configuration file for waveshare27inch Signed-off-by: Mike van der Vrugt --- pwnagotchi/ui/hw/waveshare27inch.py | 46 +++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 pwnagotchi/ui/hw/waveshare27inch.py diff --git a/pwnagotchi/ui/hw/waveshare27inch.py b/pwnagotchi/ui/hw/waveshare27inch.py new file mode 100644 index 00000000..9dff62d1 --- /dev/null +++ b/pwnagotchi/ui/hw/waveshare27inch.py @@ -0,0 +1,46 @@ +import logging + +import pwnagotchi.ui.fonts as fonts +from pwnagotchi.ui.hw.base import DisplayImpl + + +class Waveshare27inch(DisplayImpl): + def __init__(self, config): + super(Waveshare27inch, self).__init__(config, 'waveshare_2_7inch') + self._display = None + + def layout(self): + fonts.setup(10, 9, 10, 35) + self._layout['width'] = 264 + self._layout['height'] = 176 + self._layout['face'] = (0, 54) + self._layout['name'] = (5, 34) + self._layout['channel'] = (0, 0) + self._layout['aps'] = (28, 0) + self._layout['uptime'] = (199, 0) + self._layout['line1'] = [0, 14, 264, 14] + self._layout['line2'] = [0, 162, 264, 162] + self._layout['friend_face'] = (0, 146) + self._layout['friend_name'] = (40, 146) + self._layout['shakes'] = (0, 163) + self._layout['mode'] = (239, 163) + self._layout['status'] = { + 'pos': (139, 34), + 'font': fonts.Medium, + 'max': 20 + } + return self._layout + + def initialize(self): + logging.info("initializing waveshare v1 2.7 inch display") + from pwnagotchi.ui.hw.libs.waveshare.v27inch.epd2in7 import EPD + self._display = EPD() + self._display.init() + self._display.Clear(0xFF) + + def render(self, canvas): + buf = self._display.getbuffer(canvas) + self._display.display(buf) + + def clear(self): + self._display.Clear(0xff)