diff --git a/.idea/misc.xml b/.idea/misc.xml
index b322db3a..ad36a12d 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -4,4 +4,7 @@
+
+
+
\ No newline at end of file
diff --git a/pwnagotchi/plugins/default/fix_services.py b/pwnagotchi/plugins/default/fix_services.py
index d2bd0760..f1c1ee89 100644
--- a/pwnagotchi/plugins/default/fix_services.py
+++ b/pwnagotchi/plugins/default/fix_services.py
@@ -46,8 +46,7 @@ class FixServices(plugins.Plugin):
logging.info("[Fix_Services] plugin loaded.")
def on_ready(self, agent):
- last_lines = ''.join(list(TextIOWrapper(subprocess.Popen(['journalctl', '-n10', '-k'],
- stdout=subprocess.PIPE).stdout))[-10:])
+ last_lines = self.get_last_lines('journalctl', ['-n10', '-k'], 10)
try:
cmd_output = subprocess.check_output("ip link show wlan0mon", shell=True)
logging.info("[Fix_Services ip link show wlan0mon]: %s" % repr(cmd_output))
@@ -99,14 +98,23 @@ class FixServices(plugins.Plugin):
logging.error("[Fix_Services]SYSLOG wifi.recon flip fail: %s" % err)
self._tryTurningItOffAndOnAgain(agent)
+ def get_last_lines(self, command, args, n):
+ try:
+ process = subprocess.Popen([command] + args, stdout=subprocess.PIPE)
+ output = TextIOWrapper(process.stdout)
+ lines = output.readlines()
+ last_n_lines = ''.join(lines[-n:])
+ return last_n_lines
+ except Exception as e:
+ print(f"Error occurred: {e}")
+ return None
+
def on_epoch(self, agent, epoch, epoch_data):
- last_lines = ''.join(list(TextIOWrapper(subprocess.Popen(['journalctl', '-n10', '-k'],
- stdout=subprocess.PIPE).stdout))[-10:])
- other_last_lines = ''.join(list(TextIOWrapper(subprocess.Popen(['journalctl', '-n10'],
- stdout=subprocess.PIPE).stdout))[-10:])
- other_other_last_lines = ''.join(
- list(TextIOWrapper(subprocess.Popen(['tail', '-n10', '/home/pi/logs/pwnagotchi.log'],
- stdout=subprocess.PIPE).stdout))[-10:])
+
+ last_lines = self.get_last_lines('journalctl', ['-n10', '-k'], 10)
+ other_last_lines = self.get_last_lines('journalctl', ['-n10'], 10)
+ other_other_last_lines = self.get_last_lines('tail', ['-n10', '/home/pi/logs/pwnagotchi.log'], 10)
+
# don't check if we ran a reset recently
logging.debug("[Fix_Services]**** epoch")
if time.time() - self.LASTTRY > 180:
diff --git a/pwnagotchi/plugins/default/ups_lite.py b/pwnagotchi/plugins/default/ups_lite.py
index c439636d..be2045b7 100644
--- a/pwnagotchi/plugins/default/ups_lite.py
+++ b/pwnagotchi/plugins/default/ups_lite.py
@@ -1,14 +1,20 @@
# Based on UPS Lite v1.1 from https://github.com/xenDE
+# Made specifically to address the problems caused by the hardware changes in 1.3. Oh yeah I also removed the auto-shutdown feature because it's kind of broken.
#
-# functions for get UPS status - needs enable "i2c" in raspi-config
+# To setup, see page six of this manual to see how to enable i2c:
+# https://github.com/linshuqin329/UPS-Lite/blob/master/UPS-Lite_V1.3_CW2015/Instructions%20for%20UPS-Lite%20V1.3.pdf
#
-# https://github.com/linshuqin329/UPS-Lite
+# Follow page seven, install the dependencies (python-smbus) and copy this script over for later use:
+# https://github.com/linshuqin329/UPS-Lite/blob/master/UPS-Lite_V1.3_CW2015/UPS_Lite_V1.3_CW2015.py
#
-# For Raspberry Pi Zero Ups Power Expansion Board with Integrated Serial Port S3U4
-# https://www.ebay.de/itm/For-Raspberry-Pi-Zero-Ups-Power-Expansion-Board-with-Integrated-Serial-Port-S3U4/323873804310
-# https://www.aliexpress.com/item/32888533624.html
+# Now, install this plugin by copying this to the 'available-plugins' folder in your pwnagotchi, install and enable the plugin with the commands:
+# sudo pwnagotchi plugins install upslite_plugin_1_3
+# sudo pwnagotchi plugins enable upslite_plugin_1_3
#
-# To display external power supply status you need to bridge the necessary pins on the UPS-Lite board. See instructions in the UPS-Lite repo.
+# Now restart raspberry pi. Once back up ensure upslite_plugin_1_3 plugin is turned on in the WebUI. If there is still '0%' on your battery meter
+# run the script we saved earlier and ensure that the pwnagotchi is plugged in both at the battery and the raspberry pi. The script should start trying to
+# read the battery, and should be successful once there's a USB cable running power to the battery supply.
+
import logging
import struct
@@ -20,6 +26,11 @@ import pwnagotchi.ui.fonts as fonts
from pwnagotchi.ui.components import LabeledValue
from pwnagotchi.ui.view import BLACK
+CW2015_ADDRESS = 0X62
+CW2015_REG_VCELL = 0X02
+CW2015_REG_SOC = 0X04
+CW2015_REG_MODE = 0X0A
+
# TODO: add enable switch in config.yml an cleanup all to the best place
class UPS:
@@ -31,8 +42,7 @@ class UPS:
def voltage(self):
try:
- address = 0x36
- read = self._bus.read_word_data(address, 2)
+ read = self._bus.read_word_data(CW2015_ADDRESS, CW2015_REG_VCELL)
swapped = struct.unpack("H", read))[0]
return swapped * 1.25 / 1000 / 16
except:
@@ -41,7 +51,7 @@ class UPS:
def capacity(self):
try:
address = 0x36
- read = self._bus.read_word_data(address, 4)
+ read = self._bus.read_word_data(CW2015_ADDRESS, CW2015_REG_SOC)
swapped = struct.unpack("H", read))[0]
return swapped / 256
except:
@@ -57,10 +67,10 @@ class UPS:
class UPSLite(plugins.Plugin):
- __author__ = 'evilsocket@gmail.com'
- __version__ = '1.0.0'
+ __author__ = 'marbasec'
+ __version__ = '1.3.0'
__license__ = 'GPL3'
- __description__ = 'A plugin that will add a voltage indicator for the UPS Lite v1.1'
+ __description__ = 'A plugin that will add a voltage indicator for the UPS Lite v1.3'
def __init__(self):
self.ups = None
@@ -69,7 +79,7 @@ class UPSLite(plugins.Plugin):
self.ups = UPS()
def on_ui_setup(self, ui):
- ui.add_element('ups', LabeledValue(color=BLACK, label='UPS', value='0%/0V', position=(ui.width() / 2 + 15, 0),
+ ui.add_element('ups', LabeledValue(color=BLACK, label='UPS', value='0%', position=(ui.width() / 2 + 15, 0),
label_font=fonts.Bold, text_font=fonts.Medium))
def on_unload(self, ui):
@@ -80,7 +90,3 @@ class UPSLite(plugins.Plugin):
capacity = self.ups.capacity()
charging = self.ups.charging()
ui.set('ups', "%2i%s" % (capacity, charging))
- if capacity <= self.options['shutdown']:
- logging.info('[ups_lite] Empty battery (<= %s%%): shuting down' % self.options['shutdown'])
- ui.update(force=True, new_data={'status': 'Battery exhausted, bye ...'})
- pwnagotchi.shutdown()
diff --git a/pwnagotchi/ui/hw/base.py b/pwnagotchi/ui/hw/base.py
index f4cdd8a6..b98097ca 100644
--- a/pwnagotchi/ui/hw/base.py
+++ b/pwnagotchi/ui/hw/base.py
@@ -3,6 +3,7 @@ import pwnagotchi.ui.fonts as fonts
class DisplayImpl(object):
def __init__(self, config, name):
+ self._display = None
if fonts.Medium is None:
fonts.init(config)
self.name = name
diff --git a/pwnagotchi/ui/hw/dfrobot.py b/pwnagotchi/ui/hw/dfrobot.py
index 732faf8e..ca4a283c 100644
--- a/pwnagotchi/ui/hw/dfrobot.py
+++ b/pwnagotchi/ui/hw/dfrobot.py
@@ -3,41 +3,41 @@ import logging
import pwnagotchi.ui.fonts as fonts
from pwnagotchi.ui.hw.base import DisplayImpl
+
class DFRobotV1(DisplayImpl):
- def __init__(self, config):
- super(DFRobotV1, self).__init__(config, 'dfrobot_1')
- self._display = None
+ def __init__(self, config):
+ super(DFRobotV1, self).__init__(config, 'dfrobot_1')
- def layout(self):
- fonts.setup(10, 9, 10, 35, 25, 9)
- self._layout['width'] = 250
- self._layout['height'] = 122
- self._layout['face'] = (0, 40)
- self._layout['name'] = (5, 20)
- self._layout['channel'] = (0, 0)
- self._layout['aps'] = (28, 0)
- self._layout['uptime'] = (185, 0)
- self._layout['line1'] = [0, 14, 250, 14]
- self._layout['line2'] = [0, 108, 250, 108]
- self._layout['friend_face'] = (0, 92)
- self._layout['friend_name'] = (40, 94)
- self._layout['shakes'] = (0, 109)
- self._layout['mode'] = (225, 109)
- self._layout['status'] = {
- 'pos': (125, 20),
- 'font': fonts.status_font(fonts.Medium),
- 'max': 20
- }
- return self._layout
+ def layout(self):
+ fonts.setup(10, 9, 10, 35, 25, 9)
+ self._layout['width'] = 250
+ self._layout['height'] = 122
+ self._layout['face'] = (0, 40)
+ self._layout['name'] = (5, 20)
+ self._layout['channel'] = (0, 0)
+ self._layout['aps'] = (28, 0)
+ self._layout['uptime'] = (185, 0)
+ self._layout['line1'] = [0, 14, 250, 14]
+ self._layout['line2'] = [0, 108, 250, 108]
+ self._layout['friend_face'] = (0, 92)
+ self._layout['friend_name'] = (40, 94)
+ self._layout['shakes'] = (0, 109)
+ self._layout['mode'] = (225, 109)
+ self._layout['status'] = {
+ 'pos': (125, 20),
+ 'font': fonts.status_font(fonts.Medium),
+ 'max': 20
+ }
+ return self._layout
- def initialize(self):
- logging.info("initializing dfrobot1 display")
- from pwnagotchi.ui.hw.libs.dfrobot.v1.dfrobot import DFRobot
- self._display = DFRobot()
+ def initialize(self):
+ logging.info("initializing dfrobot1 display")
+ from pwnagotchi.ui.hw.libs.dfrobot.v1.dfrobot import DFRobot
+ self._display = DFRobot()
- def render(self, canvas):
- buf = self._display.getbuffer(canvas)
- self._display.display(buf)
+ def render(self, canvas):
+ buf = self._display.getbuffer(canvas)
+ self._display.display(buf)
- def clear(self):
- self._display.Clear(0xFF)
+ def clear(self):
+ self._display.Clear(0xFF)
diff --git a/pwnagotchi/ui/hw/dfrobot1.py b/pwnagotchi/ui/hw/dfrobot1.py
index 732faf8e..ca4a283c 100644
--- a/pwnagotchi/ui/hw/dfrobot1.py
+++ b/pwnagotchi/ui/hw/dfrobot1.py
@@ -3,41 +3,41 @@ import logging
import pwnagotchi.ui.fonts as fonts
from pwnagotchi.ui.hw.base import DisplayImpl
+
class DFRobotV1(DisplayImpl):
- def __init__(self, config):
- super(DFRobotV1, self).__init__(config, 'dfrobot_1')
- self._display = None
+ def __init__(self, config):
+ super(DFRobotV1, self).__init__(config, 'dfrobot_1')
- def layout(self):
- fonts.setup(10, 9, 10, 35, 25, 9)
- self._layout['width'] = 250
- self._layout['height'] = 122
- self._layout['face'] = (0, 40)
- self._layout['name'] = (5, 20)
- self._layout['channel'] = (0, 0)
- self._layout['aps'] = (28, 0)
- self._layout['uptime'] = (185, 0)
- self._layout['line1'] = [0, 14, 250, 14]
- self._layout['line2'] = [0, 108, 250, 108]
- self._layout['friend_face'] = (0, 92)
- self._layout['friend_name'] = (40, 94)
- self._layout['shakes'] = (0, 109)
- self._layout['mode'] = (225, 109)
- self._layout['status'] = {
- 'pos': (125, 20),
- 'font': fonts.status_font(fonts.Medium),
- 'max': 20
- }
- return self._layout
+ def layout(self):
+ fonts.setup(10, 9, 10, 35, 25, 9)
+ self._layout['width'] = 250
+ self._layout['height'] = 122
+ self._layout['face'] = (0, 40)
+ self._layout['name'] = (5, 20)
+ self._layout['channel'] = (0, 0)
+ self._layout['aps'] = (28, 0)
+ self._layout['uptime'] = (185, 0)
+ self._layout['line1'] = [0, 14, 250, 14]
+ self._layout['line2'] = [0, 108, 250, 108]
+ self._layout['friend_face'] = (0, 92)
+ self._layout['friend_name'] = (40, 94)
+ self._layout['shakes'] = (0, 109)
+ self._layout['mode'] = (225, 109)
+ self._layout['status'] = {
+ 'pos': (125, 20),
+ 'font': fonts.status_font(fonts.Medium),
+ 'max': 20
+ }
+ return self._layout
- def initialize(self):
- logging.info("initializing dfrobot1 display")
- from pwnagotchi.ui.hw.libs.dfrobot.v1.dfrobot import DFRobot
- self._display = DFRobot()
+ def initialize(self):
+ logging.info("initializing dfrobot1 display")
+ from pwnagotchi.ui.hw.libs.dfrobot.v1.dfrobot import DFRobot
+ self._display = DFRobot()
- def render(self, canvas):
- buf = self._display.getbuffer(canvas)
- self._display.display(buf)
+ def render(self, canvas):
+ buf = self._display.getbuffer(canvas)
+ self._display.display(buf)
- def clear(self):
- self._display.Clear(0xFF)
+ def clear(self):
+ self._display.Clear(0xFF)
diff --git a/pwnagotchi/ui/hw/dfrobot2.py b/pwnagotchi/ui/hw/dfrobot2.py
index 995afd38..4624e645 100644
--- a/pwnagotchi/ui/hw/dfrobot2.py
+++ b/pwnagotchi/ui/hw/dfrobot2.py
@@ -3,41 +3,41 @@ import logging
import pwnagotchi.ui.fonts as fonts
from pwnagotchi.ui.hw.base import DisplayImpl
+
class DFRobotV2(DisplayImpl):
- def __init__(self, config):
- super(DFRobotV2, self).__init__(config, 'dfrobot_2')
- self._display = None
+ def __init__(self, config):
+ super(DFRobotV2, self).__init__(config, 'dfrobot_2')
- def layout(self):
- fonts.setup(10, 9, 10, 35, 25, 9)
- self._layout['width'] = 250
- self._layout['height'] = 122
- self._layout['face'] = (0, 40)
- self._layout['name'] = (5, 20)
- self._layout['channel'] = (0, 0)
- self._layout['aps'] = (28, 0)
- self._layout['uptime'] = (185, 0)
- self._layout['line1'] = [0, 14, 250, 14]
- self._layout['line2'] = [0, 108, 250, 108]
- self._layout['friend_face'] = (0, 92)
- self._layout['friend_name'] = (40, 94)
- self._layout['shakes'] = (0, 109)
- self._layout['mode'] = (225, 109)
- self._layout['status'] = {
- 'pos': (125, 20),
- 'font': fonts.status_font(fonts.Medium),
- 'max': 20
- }
- return self._layout
+ def layout(self):
+ fonts.setup(10, 9, 10, 35, 25, 9)
+ self._layout['width'] = 250
+ self._layout['height'] = 122
+ self._layout['face'] = (0, 40)
+ self._layout['name'] = (5, 20)
+ self._layout['channel'] = (0, 0)
+ self._layout['aps'] = (28, 0)
+ self._layout['uptime'] = (185, 0)
+ self._layout['line1'] = [0, 14, 250, 14]
+ self._layout['line2'] = [0, 108, 250, 108]
+ self._layout['friend_face'] = (0, 92)
+ self._layout['friend_name'] = (40, 94)
+ self._layout['shakes'] = (0, 109)
+ self._layout['mode'] = (225, 109)
+ self._layout['status'] = {
+ 'pos': (125, 20),
+ 'font': fonts.status_font(fonts.Medium),
+ 'max': 20
+ }
+ return self._layout
- def initialize(self):
- logging.info("initializing dfrobot2 display")
- from pwnagotchi.ui.hw.libs.dfrobot.v2.dfrobot import DFRobot
- self._display = DFRobot()
+ def initialize(self):
+ logging.info("initializing dfrobot2 display")
+ from pwnagotchi.ui.hw.libs.dfrobot.v2.dfrobot import DFRobot
+ self._display = DFRobot()
- def render(self, canvas):
- buf = self._display.getbuffer(canvas)
- self._display.display(buf)
+ def render(self, canvas):
+ buf = self._display.getbuffer(canvas)
+ self._display.display(buf)
- def clear(self):
- self._display.Clear(0xFF)
+ def clear(self):
+ self._display.Clear(0xFF)
diff --git a/pwnagotchi/ui/hw/dfrobot_v2.py b/pwnagotchi/ui/hw/dfrobot_v2.py
index 995afd38..4624e645 100644
--- a/pwnagotchi/ui/hw/dfrobot_v2.py
+++ b/pwnagotchi/ui/hw/dfrobot_v2.py
@@ -3,41 +3,41 @@ import logging
import pwnagotchi.ui.fonts as fonts
from pwnagotchi.ui.hw.base import DisplayImpl
+
class DFRobotV2(DisplayImpl):
- def __init__(self, config):
- super(DFRobotV2, self).__init__(config, 'dfrobot_2')
- self._display = None
+ def __init__(self, config):
+ super(DFRobotV2, self).__init__(config, 'dfrobot_2')
- def layout(self):
- fonts.setup(10, 9, 10, 35, 25, 9)
- self._layout['width'] = 250
- self._layout['height'] = 122
- self._layout['face'] = (0, 40)
- self._layout['name'] = (5, 20)
- self._layout['channel'] = (0, 0)
- self._layout['aps'] = (28, 0)
- self._layout['uptime'] = (185, 0)
- self._layout['line1'] = [0, 14, 250, 14]
- self._layout['line2'] = [0, 108, 250, 108]
- self._layout['friend_face'] = (0, 92)
- self._layout['friend_name'] = (40, 94)
- self._layout['shakes'] = (0, 109)
- self._layout['mode'] = (225, 109)
- self._layout['status'] = {
- 'pos': (125, 20),
- 'font': fonts.status_font(fonts.Medium),
- 'max': 20
- }
- return self._layout
+ def layout(self):
+ fonts.setup(10, 9, 10, 35, 25, 9)
+ self._layout['width'] = 250
+ self._layout['height'] = 122
+ self._layout['face'] = (0, 40)
+ self._layout['name'] = (5, 20)
+ self._layout['channel'] = (0, 0)
+ self._layout['aps'] = (28, 0)
+ self._layout['uptime'] = (185, 0)
+ self._layout['line1'] = [0, 14, 250, 14]
+ self._layout['line2'] = [0, 108, 250, 108]
+ self._layout['friend_face'] = (0, 92)
+ self._layout['friend_name'] = (40, 94)
+ self._layout['shakes'] = (0, 109)
+ self._layout['mode'] = (225, 109)
+ self._layout['status'] = {
+ 'pos': (125, 20),
+ 'font': fonts.status_font(fonts.Medium),
+ 'max': 20
+ }
+ return self._layout
- def initialize(self):
- logging.info("initializing dfrobot2 display")
- from pwnagotchi.ui.hw.libs.dfrobot.v2.dfrobot import DFRobot
- self._display = DFRobot()
+ def initialize(self):
+ logging.info("initializing dfrobot2 display")
+ from pwnagotchi.ui.hw.libs.dfrobot.v2.dfrobot import DFRobot
+ self._display = DFRobot()
- def render(self, canvas):
- buf = self._display.getbuffer(canvas)
- self._display.display(buf)
+ def render(self, canvas):
+ buf = self._display.getbuffer(canvas)
+ self._display.display(buf)
- def clear(self):
- self._display.Clear(0xFF)
+ def clear(self):
+ self._display.Clear(0xFF)
diff --git a/pwnagotchi/ui/hw/displayhatmini.py b/pwnagotchi/ui/hw/displayhatmini.py
index 44cf7e3d..2c9f1c99 100644
--- a/pwnagotchi/ui/hw/displayhatmini.py
+++ b/pwnagotchi/ui/hw/displayhatmini.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class DisplayHatMini(DisplayImpl):
def __init__(self, config):
super(DisplayHatMini, self).__init__(config, 'displayhatmini')
- self._display = None
def layout(self):
fonts.setup(12, 10, 12, 70, 25, 9)
diff --git a/pwnagotchi/ui/hw/inky.py b/pwnagotchi/ui/hw/inky.py
index 7f71b7ad..93c1428e 100644
--- a/pwnagotchi/ui/hw/inky.py
+++ b/pwnagotchi/ui/hw/inky.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Inky(DisplayImpl):
def __init__(self, config):
super(Inky, self).__init__(config, 'inky')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 28, 25, 9)
diff --git a/pwnagotchi/ui/hw/lcdhat.py b/pwnagotchi/ui/hw/lcdhat.py
index 1e767997..5ed0b133 100644
--- a/pwnagotchi/ui/hw/lcdhat.py
+++ b/pwnagotchi/ui/hw/lcdhat.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class LcdHat(DisplayImpl):
def __init__(self, config):
super(LcdHat, self).__init__(config, 'lcdhat')
- self._display = None
def layout(self):
fonts.setup(10, 9, 10, 35, 25, 9)
diff --git a/pwnagotchi/ui/hw/libs/waveshare/v2in13g/epd2in13g.py b/pwnagotchi/ui/hw/libs/waveshare/v2in13g/epd2in13g.py
index 9a186a1b..48f9e806 100644
--- a/pwnagotchi/ui/hw/libs/waveshare/v2in13g/epd2in13g.py
+++ b/pwnagotchi/ui/hw/libs/waveshare/v2in13g/epd2in13g.py
@@ -166,20 +166,21 @@ class EPD:
def getbuffer(self, image):
# Create a pallette with the 4 colors supported by the panel
+ global image_temp
pal_image = Image.new("P", (1, 1))
pal_image.putpalette((0, 0, 0, 255, 255, 255, 255, 255, 0, 255, 0, 0) + (0, 0, 0) * 252)
# Check if we need to rotate the image
imwidth, imheight = image.size
- if (imwidth == self.width and imheight == self.height):
+ if imwidth == self.width and imheight == self.height:
image_temp = image
- elif (imwidth == self.height and imheight == self.width):
+ elif imwidth == self.height and imheight == self.width:
image_temp = image.rotate(90, expand=True)
else:
logger.warning(
"Invalid image dimensions: %d x %d, expected %d x %d" % (imwidth, imheight, self.width, self.height))
- # Convert the soruce image to the 4 colors, dithering if needed
+ # Convert the source image to the 4 colors, dithering if needed
image_4color = image_temp.convert("RGB").quantize(palette=pal_image)
buf_4color = bytearray(image_4color.tobytes('raw'))
diff --git a/pwnagotchi/ui/hw/libs/waveshare/v2in7_v2/epd2in7_V2.py b/pwnagotchi/ui/hw/libs/waveshare/v2in7_v2/epd2in7_V2.py
index 1eaa8a3f..4e786f0d 100644
--- a/pwnagotchi/ui/hw/libs/waveshare/v2in7_v2/epd2in7_V2.py
+++ b/pwnagotchi/ui/hw/libs/waveshare/v2in7_v2/epd2in7_V2.py
@@ -100,7 +100,7 @@ class EPD:
def ReadBusy(self):
logger.debug("e-Paper busy")
- while (epdconfig.digital_read(self.busy_pin) == 1): # 1: idle, 0: busy
+ while epdconfig.digital_read(self.busy_pin) == 1: # 1: idle, 0: busy
epdconfig.delay_ms(20)
logger.debug("e-Paper busy release")
@@ -134,7 +134,7 @@ class EPD:
self.send_data(self.LUT_DATA_4Gray[i])
def init(self):
- if (epdconfig.module_init() != 0):
+ if epdconfig.module_init() != 0:
return -1
# EPD hardware init start
@@ -159,7 +159,7 @@ class EPD:
return 0
def init_Fast(self):
- if (epdconfig.module_init() != 0):
+ if epdconfig.module_init() != 0:
return -1
# EPD hardware init start
@@ -204,12 +204,12 @@ class EPD:
return 0
def Init_4Gray(self):
- if (epdconfig.module_init() != 0):
+ if epdconfig.module_init() != 0:
return -1
self.reset()
self.send_command(0x12) # soft reset
- self.ReadBusy();
+ self.ReadBusy()
self.send_command(0x74) # set analog block control
self.send_data(0x54)
@@ -268,14 +268,14 @@ class EPD:
imwidth, imheight = image_monocolor.size
pixels = image_monocolor.load()
# logger.debug("imwidth = %d, imheight = %d",imwidth,imheight)
- if (imwidth == self.width and imheight == self.height):
+ if imwidth == self.width and imheight == self.height:
logger.debug("Vertical")
for y in range(imheight):
for x in range(imwidth):
# Set the bits for the column of pixels at the current position.
if pixels[x, y] == 0:
buf[int((x + y * self.width) / 8)] &= ~(0x80 >> (x % 8))
- elif (imwidth == self.height and imheight == self.width):
+ elif imwidth == self.height and imheight == self.width:
logger.debug("Horizontal")
for y in range(imheight):
for x in range(imwidth):
@@ -293,40 +293,40 @@ class EPD:
pixels = image_monocolor.load()
i = 0
# logger.debug("imwidth = %d, imheight = %d",imwidth,imheight)
- if (imwidth == self.width and imheight == self.height):
+ if imwidth == self.width and imheight == self.height:
logger.debug("Vertical")
for y in range(imheight):
for x in range(imwidth):
# Set the bits for the column of pixels at the current position.
- if (pixels[x, y] == 0xC0):
+ if pixels[x, y] == 0xC0:
pixels[x, y] = 0x80
- elif (pixels[x, y] == 0x80):
+ elif pixels[x, y] == 0x80:
pixels[x, y] = 0x40
i = i + 1
- if (i % 4 == 0):
+ if i % 4 == 0:
buf[int((x + (y * self.width)) / 4)] = (
(pixels[x - 3, y] & 0xc0) | (pixels[x - 2, y] & 0xc0) >> 2 | (
pixels[x - 1, y] & 0xc0) >> 4 | (pixels[x, y] & 0xc0) >> 6)
- elif (imwidth == self.height and imheight == self.width):
+ elif imwidth == self.height and imheight == self.width:
logger.debug("Horizontal")
for x in range(imwidth):
for y in range(imheight):
newx = y
newy = self.height - x - 1
- if (pixels[x, y] == 0xC0):
+ if pixels[x, y] == 0xC0:
pixels[x, y] = 0x80
- elif (pixels[x, y] == 0x80):
+ elif pixels[x, y] == 0x80:
pixels[x, y] = 0x40
i = i + 1
- if (i % 4 == 0):
+ if i % 4 == 0:
buf[int((newx + (newy * self.width)) / 4)] = (
(pixels[x, y - 3] & 0xc0) | (pixels[x, y - 2] & 0xc0) >> 2 | (
pixels[x, y - 1] & 0xc0) >> 4 | (pixels[x, y] & 0xc0) >> 6)
return buf
def Clear(self):
- if (self.width % 8 == 0):
+ if self.width % 8 == 0:
Width = self.width // 8
else:
Width = self.width // 8 + 1
@@ -338,7 +338,7 @@ class EPD:
self.TurnOnDisplay()
def display(self, image):
- if (self.width % 8 == 0):
+ if self.width % 8 == 0:
Width = self.width // 8
else:
Width = self.width // 8 + 1
@@ -350,7 +350,7 @@ class EPD:
self.TurnOnDisplay()
def display_Fast(self, image):
- if (self.width % 8 == 0):
+ if self.width % 8 == 0:
Width = self.width // 8
else:
Width = self.width // 8 + 1
@@ -362,7 +362,7 @@ class EPD:
self.TurnOnDisplay_Fast()
def display_Base(self, image):
- if (self.width % 8 == 0):
+ if self.width % 8 == 0:
Width = self.width // 8
else:
Width = self.width // 8 + 1
@@ -379,7 +379,7 @@ class EPD:
self.TurnOnDisplay()
def display_Base_color(self, color):
- if (self.width % 8 == 0):
+ if self.width % 8 == 0:
Width = self.width // 8
else:
Width = self.width // 8 + 1
@@ -396,8 +396,7 @@ class EPD:
# self.TurnOnDisplay()
def display_Partial(self, Image, Xstart, Ystart, Xend, Yend):
- if ((Xstart % 8 + Xend % 8 == 8 & Xstart % 8 > Xend % 8) | Xstart % 8 + Xend % 8 == 0 | (
- Xend - Xstart) % 8 == 0):
+ if (Xstart % 8 + Xend % 8 == 8 & Xstart % 8 > Xend % 8) | Xstart % 8 + Xend % 8 == 0 | (Xend - Xstart) % 8 == 0:
Xstart = Xstart // 8
Xend = Xend // 8
else:
@@ -440,7 +439,7 @@ class EPD:
self.send_command(0x24) # Write Black and White image to RAM
for j in range(Height):
for i in range(Width):
- if ((j > Ystart - 1) & (j < (Yend + 1)) & (i > Xstart - 1) & (i < (Xend + 1))):
+ if (j > Ystart - 1) & (j < (Yend + 1)) & (i > Xstart - 1) & (i < (Xend + 1)):
self.send_data(Image[i + j * Width])
self.TurnOnDisplay_Partial()
@@ -452,11 +451,11 @@ class EPD:
temp1 = image[i * 2 + j]
for k in range(0, 2):
temp2 = temp1 & 0xC0
- if (temp2 == 0xC0):
+ if temp2 == 0xC0:
temp3 |= 0x00
- elif (temp2 == 0x00):
+ elif temp2 == 0x00:
temp3 |= 0x01
- elif (temp2 == 0x80):
+ elif temp2 == 0x80:
temp3 |= 0x01
else: # 0x40
temp3 |= 0x00
@@ -464,15 +463,15 @@ class EPD:
temp1 <<= 2
temp2 = temp1 & 0xC0
- if (temp2 == 0xC0):
+ if temp2 == 0xC0:
temp3 |= 0x00
- elif (temp2 == 0x00):
+ elif temp2 == 0x00:
temp3 |= 0x01
- elif (temp2 == 0x80):
+ elif temp2 == 0x80:
temp3 |= 0x01
else: # 0x40
temp3 |= 0x00
- if (j != 1 or k != 1):
+ if j != 1 or k != 1:
temp3 <<= 1
temp1 <<= 2
self.send_data(temp3)
@@ -484,11 +483,11 @@ class EPD:
temp1 = image[i * 2 + j]
for k in range(0, 2):
temp2 = temp1 & 0xC0
- if (temp2 == 0xC0):
+ if temp2 == 0xC0:
temp3 |= 0x00
- elif (temp2 == 0x00):
+ elif temp2 == 0x00:
temp3 |= 0x01
- elif (temp2 == 0x80):
+ elif temp2 == 0x80:
temp3 |= 0x00
else: # 0x40
temp3 |= 0x01
@@ -496,15 +495,15 @@ class EPD:
temp1 <<= 2
temp2 = temp1 & 0xC0
- if (temp2 == 0xC0):
+ if temp2 == 0xC0:
temp3 |= 0x00
- elif (temp2 == 0x00):
+ elif temp2 == 0x00:
temp3 |= 0x01
- elif (temp2 == 0x80):
+ elif temp2 == 0x80:
temp3 |= 0x00
else: # 0x40
temp3 |= 0x01
- if (j != 1 or k != 1):
+ if j != 1 or k != 1:
temp3 <<= 1
temp1 <<= 2
self.send_data(temp3)
@@ -517,4 +516,3 @@ class EPD:
epdconfig.delay_ms(2000)
epdconfig.module_exit()
-### END OF FILE ###
diff --git a/pwnagotchi/ui/hw/oledhat.py b/pwnagotchi/ui/hw/oledhat.py
index c26c930f..1c2f9fdf 100644
--- a/pwnagotchi/ui/hw/oledhat.py
+++ b/pwnagotchi/ui/hw/oledhat.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class OledHat(DisplayImpl):
def __init__(self, config):
super(OledHat, self).__init__(config, 'oledhat')
- self._display = None
def layout(self):
fonts.setup(8, 8, 8, 10, 10, 8)
diff --git a/pwnagotchi/ui/hw/papirus.py b/pwnagotchi/ui/hw/papirus.py
index 44d05005..09d01af8 100644
--- a/pwnagotchi/ui/hw/papirus.py
+++ b/pwnagotchi/ui/hw/papirus.py
@@ -8,7 +8,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Papirus(DisplayImpl):
def __init__(self, config):
super(Papirus, self).__init__(config, 'papirus')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 23, 25, 9)
diff --git a/pwnagotchi/ui/hw/spotpear24in.py b/pwnagotchi/ui/hw/spotpear24in.py
index 73f4b9ba..5a9aafeb 100644
--- a/pwnagotchi/ui/hw/spotpear24in.py
+++ b/pwnagotchi/ui/hw/spotpear24in.py
@@ -3,12 +3,12 @@ import logging
import pwnagotchi.ui.fonts as fonts
from pwnagotchi.ui.hw.base import DisplayImpl
-import os,time
+import time
+
class Spotpear24inch(DisplayImpl):
def __init__(self, config):
super(Spotpear24inch, self).__init__(config, 'spotpear24inch')
- self._display = None
def layout(self):
fonts.setup(12, 10, 12, 70, 25, 9)
diff --git a/pwnagotchi/ui/hw/spotpear24inch.py b/pwnagotchi/ui/hw/spotpear24inch.py
index 73f4b9ba..5a9aafeb 100644
--- a/pwnagotchi/ui/hw/spotpear24inch.py
+++ b/pwnagotchi/ui/hw/spotpear24inch.py
@@ -3,12 +3,12 @@ import logging
import pwnagotchi.ui.fonts as fonts
from pwnagotchi.ui.hw.base import DisplayImpl
-import os,time
+import time
+
class Spotpear24inch(DisplayImpl):
def __init__(self, config):
super(Spotpear24inch, self).__init__(config, 'spotpear24inch')
- self._display = None
def layout(self):
fonts.setup(12, 10, 12, 70, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare13in3k.py b/pwnagotchi/ui/hw/waveshare13in3k.py
index bff5f970..b57f8f29 100644
--- a/pwnagotchi/ui/hw/waveshare13in3k.py
+++ b/pwnagotchi/ui/hw/waveshare13in3k.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare13in3k(DisplayImpl):
def __init__(self, config):
super(Waveshare13in3k, self).__init__(config, 'waveshare13in3k')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare144lcd.py b/pwnagotchi/ui/hw/waveshare144lcd.py
index 0cef5f2c..b5264954 100644
--- a/pwnagotchi/ui/hw/waveshare144lcd.py
+++ b/pwnagotchi/ui/hw/waveshare144lcd.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare144lcd(DisplayImpl):
def __init__(self, config):
super(Waveshare144lcd, self).__init__(config, 'waveshare144lcd')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
@@ -42,5 +41,4 @@ class Waveshare144lcd(DisplayImpl):
self._display.display(canvas)
def clear(self):
- pass
- #self._display.clear()
+ self._display.clear()
diff --git a/pwnagotchi/ui/hw/waveshare1in02.py b/pwnagotchi/ui/hw/waveshare1in02.py
index 994d1424..3cfef7a3 100644
--- a/pwnagotchi/ui/hw/waveshare1in02.py
+++ b/pwnagotchi/ui/hw/waveshare1in02.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare1in02(DisplayImpl):
def __init__(self, config):
super(Waveshare1in02, self).__init__(config, 'waveshare1in02')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare1in44lcd.py b/pwnagotchi/ui/hw/waveshare1in44lcd.py
index 88853b87..b5264954 100644
--- a/pwnagotchi/ui/hw/waveshare1in44lcd.py
+++ b/pwnagotchi/ui/hw/waveshare1in44lcd.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare144lcd(DisplayImpl):
def __init__(self, config):
super(Waveshare144lcd, self).__init__(config, 'waveshare144lcd')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare1in54.py b/pwnagotchi/ui/hw/waveshare1in54.py
index c9186714..7c04a2db 100644
--- a/pwnagotchi/ui/hw/waveshare1in54.py
+++ b/pwnagotchi/ui/hw/waveshare1in54.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare154(DisplayImpl):
def __init__(self, config):
super(Waveshare154, self).__init__(config, 'waveshare1in54')
- self._display = None
def layout(self):
fonts.setup(10, 9, 10, 35, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare1in54_V2.py b/pwnagotchi/ui/hw/waveshare1in54_V2.py
index c173e0d9..e50cf500 100644
--- a/pwnagotchi/ui/hw/waveshare1in54_V2.py
+++ b/pwnagotchi/ui/hw/waveshare1in54_V2.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare154V2(DisplayImpl):
def __init__(self, config):
super(Waveshare154V2, self).__init__(config, 'waveshare1in54_v2')
- self._display = None
def layout(self):
fonts.setup(10, 9, 10, 35, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare1in54b.py b/pwnagotchi/ui/hw/waveshare1in54b.py
index 1348aef9..f1d6c250 100644
--- a/pwnagotchi/ui/hw/waveshare1in54b.py
+++ b/pwnagotchi/ui/hw/waveshare1in54b.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare154inchb(DisplayImpl):
def __init__(self, config):
super(Waveshare154inchb, self).__init__(config, 'waveshare1in54b')
- self._display = None
def layout(self):
fonts.setup(10, 9, 10, 35, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare1in54b_V2.py b/pwnagotchi/ui/hw/waveshare1in54b_V2.py
index 33b04d7a..210fde85 100644
--- a/pwnagotchi/ui/hw/waveshare1in54b_V2.py
+++ b/pwnagotchi/ui/hw/waveshare1in54b_V2.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare154bV2(DisplayImpl):
def __init__(self, config):
super(Waveshare154bV2, self).__init__(config, 'waveshare1in54b_v2')
- self._display = None
def layout(self):
fonts.setup(10, 9, 10, 35, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare1in54c.py b/pwnagotchi/ui/hw/waveshare1in54c.py
index 8ab51fa8..e9fd2c27 100644
--- a/pwnagotchi/ui/hw/waveshare1in54c.py
+++ b/pwnagotchi/ui/hw/waveshare1in54c.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare1in54c(DisplayImpl):
def __init__(self, config):
super(Waveshare1in54c, self).__init__(config, 'waveshare1in54c')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare1in64g.py b/pwnagotchi/ui/hw/waveshare1in64g.py
index 24cdc409..5f994682 100644
--- a/pwnagotchi/ui/hw/waveshare1in64g.py
+++ b/pwnagotchi/ui/hw/waveshare1in64g.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare1in64g(DisplayImpl):
def __init__(self, config):
super(Waveshare1in64g, self).__init__(config, 'waveshare1in64g')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare2in13.py b/pwnagotchi/ui/hw/waveshare2in13.py
index b6b8742e..de6c29b7 100644
--- a/pwnagotchi/ui/hw/waveshare2in13.py
+++ b/pwnagotchi/ui/hw/waveshare2in13.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class WaveshareV1(DisplayImpl):
def __init__(self, config):
super(WaveshareV1, self).__init__(config, 'waveshare_1')
- self._display = None
def layout(self):
if self.config['color'] == 'black':
diff --git a/pwnagotchi/ui/hw/waveshare2in13_V2.py b/pwnagotchi/ui/hw/waveshare2in13_V2.py
index d9153441..76c48ad0 100644
--- a/pwnagotchi/ui/hw/waveshare2in13_V2.py
+++ b/pwnagotchi/ui/hw/waveshare2in13_V2.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class WaveshareV2(DisplayImpl):
def __init__(self, config):
super(WaveshareV2, self).__init__(config, 'waveshare_2')
- self._display = None
def layout(self):
if self.config['color'] == 'black':
diff --git a/pwnagotchi/ui/hw/waveshare2in13_V3.py b/pwnagotchi/ui/hw/waveshare2in13_V3.py
index 4ef80097..86299af0 100644
--- a/pwnagotchi/ui/hw/waveshare2in13_V3.py
+++ b/pwnagotchi/ui/hw/waveshare2in13_V3.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class WaveshareV3(DisplayImpl):
def __init__(self, config):
super(WaveshareV3, self).__init__(config, 'waveshare_3')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 35, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare2in13_V4.py b/pwnagotchi/ui/hw/waveshare2in13_V4.py
index 92fa4ae4..3fb425b0 100644
--- a/pwnagotchi/ui/hw/waveshare2in13_V4.py
+++ b/pwnagotchi/ui/hw/waveshare2in13_V4.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class WaveshareV4(DisplayImpl):
def __init__(self, config):
super(WaveshareV4, self).__init__(config, 'waveshare_4')
- self._display = None
def layout(self):
fonts.setup(10, 9, 10, 35, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare2in13b_V3.py b/pwnagotchi/ui/hw/waveshare2in13b_V3.py
index a3266557..9c13436d 100644
--- a/pwnagotchi/ui/hw/waveshare2in13b_V3.py
+++ b/pwnagotchi/ui/hw/waveshare2in13b_V3.py
@@ -8,7 +8,6 @@ from PIL import Image
class Waveshare2in13bV3(DisplayImpl):
def __init__(self, config):
super(Waveshare2in13bV3, self).__init__(config, 'waveshare2in13b_v3')
- self._display = None
def layout(self):
if self.config['color'] == 'black':
diff --git a/pwnagotchi/ui/hw/waveshare2in13b_V4.py b/pwnagotchi/ui/hw/waveshare2in13b_V4.py
index ffeeaaf5..4117624d 100644
--- a/pwnagotchi/ui/hw/waveshare2in13b_V4.py
+++ b/pwnagotchi/ui/hw/waveshare2in13b_V4.py
@@ -8,7 +8,6 @@ from PIL import Image
class Waveshare213bV4(DisplayImpl):
def __init__(self, config):
super(Waveshare213bV4, self).__init__(config, 'waveshare213inb_v4')
- self._display = None
def layout(self):
if self.config['color'] == 'black':
diff --git a/pwnagotchi/ui/hw/waveshare2in13bc.py b/pwnagotchi/ui/hw/waveshare2in13bc.py
index 40c5fcae..0f6ee0a0 100644
--- a/pwnagotchi/ui/hw/waveshare2in13bc.py
+++ b/pwnagotchi/ui/hw/waveshare2in13bc.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare213bc(DisplayImpl):
def __init__(self, config):
super(Waveshare213bc, self).__init__(config, 'waveshare2in13bc')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 25, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare2in13d.py b/pwnagotchi/ui/hw/waveshare2in13d.py
index c3862fdd..131872fb 100644
--- a/pwnagotchi/ui/hw/waveshare2in13d.py
+++ b/pwnagotchi/ui/hw/waveshare2in13d.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare213d(DisplayImpl):
def __init__(self, config):
super(Waveshare213d, self).__init__(config, 'waveshare2in13d')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 25, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare2in13g.py b/pwnagotchi/ui/hw/waveshare2in13g.py
index f7ac9444..e964a3f1 100644
--- a/pwnagotchi/ui/hw/waveshare2in13g.py
+++ b/pwnagotchi/ui/hw/waveshare2in13g.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare2in13g(DisplayImpl):
def __init__(self, config):
super(Waveshare2in13g, self).__init__(config, 'waveshare2in13g')
- self._display = None
def layout(self):
fonts.setup(10, 9, 10, 35, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare2in36g.py b/pwnagotchi/ui/hw/waveshare2in36g.py
index 34dbb195..8865368a 100644
--- a/pwnagotchi/ui/hw/waveshare2in36g.py
+++ b/pwnagotchi/ui/hw/waveshare2in36g.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare2in36g(DisplayImpl):
def __init__(self, config):
super(Waveshare2in36g, self).__init__(config, 'waveshare2in36g')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare2in66.py b/pwnagotchi/ui/hw/waveshare2in66.py
index c6b86699..bf3afd35 100644
--- a/pwnagotchi/ui/hw/waveshare2in66.py
+++ b/pwnagotchi/ui/hw/waveshare2in66.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare2in66(DisplayImpl):
def __init__(self, config):
super(Waveshare2in66, self).__init__(config, 'waveshare2in66')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare2in66b.py b/pwnagotchi/ui/hw/waveshare2in66b.py
index eb874753..e81d8a43 100644
--- a/pwnagotchi/ui/hw/waveshare2in66b.py
+++ b/pwnagotchi/ui/hw/waveshare2in66b.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare2in66b(DisplayImpl):
def __init__(self, config):
super(Waveshare2in66b, self).__init__(config, 'waveshare2in66b')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
@@ -39,7 +38,8 @@ class Waveshare2in66b(DisplayImpl):
self._display.Clear()
def render(self, canvas):
- self._display.display(canvas)
+ buf = self._display.getbuffer(canvas)
+ self._display.display(buf, None)
def clear(self):
self._display.Clear()
diff --git a/pwnagotchi/ui/hw/waveshare2in66g.py b/pwnagotchi/ui/hw/waveshare2in66g.py
index bf34cca9..c5089ed5 100644
--- a/pwnagotchi/ui/hw/waveshare2in66g.py
+++ b/pwnagotchi/ui/hw/waveshare2in66g.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare2in66g(DisplayImpl):
def __init__(self, config):
super(Waveshare2in66g, self).__init__(config, 'waveshare2in66g')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare2in7.py b/pwnagotchi/ui/hw/waveshare2in7.py
index 9482103a..390ed055 100644
--- a/pwnagotchi/ui/hw/waveshare2in7.py
+++ b/pwnagotchi/ui/hw/waveshare2in7.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare27inch(DisplayImpl):
def __init__(self, config):
super(Waveshare27inch, self).__init__(config, 'waveshare2in7')
- self._display = None
def layout(self):
fonts.setup(10, 9, 10, 35, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare2in7_V2.py b/pwnagotchi/ui/hw/waveshare2in7_V2.py
index 20b07a66..42272fb6 100644
--- a/pwnagotchi/ui/hw/waveshare2in7_V2.py
+++ b/pwnagotchi/ui/hw/waveshare2in7_V2.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare27inchV2(DisplayImpl):
def __init__(self, config):
super(Waveshare27inchV2, self).__init__(config, 'waveshare2in7_v2')
- self._display = None
def layout(self):
fonts.setup(10, 9, 10, 35, 25, 9)
@@ -42,7 +41,7 @@ class Waveshare27inchV2(DisplayImpl):
def render(self, canvas):
buf = self._display.getbuffer(canvas)
- self._display.display_Partial(buf,0,0,176,264)
+ self._display.display_Partial(buf, 0, 0, 176, 264)
def clear(self):
# This line also removes the 0xFF
diff --git a/pwnagotchi/ui/hw/waveshare2in7b.py b/pwnagotchi/ui/hw/waveshare2in7b.py
index b47f22d7..4d559b6e 100644
--- a/pwnagotchi/ui/hw/waveshare2in7b.py
+++ b/pwnagotchi/ui/hw/waveshare2in7b.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare27b(DisplayImpl):
def __init__(self, config):
super(Waveshare27b, self).__init__(config, 'waveshare2in7b')
- self._display = None
def layout(self):
fonts.setup(10, 9, 10, 35, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare2in7b_V2.py b/pwnagotchi/ui/hw/waveshare2in7b_V2.py
index 22665462..d734ec38 100644
--- a/pwnagotchi/ui/hw/waveshare2in7b_V2.py
+++ b/pwnagotchi/ui/hw/waveshare2in7b_V2.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare27bV2(DisplayImpl):
def __init__(self, config):
super(Waveshare27bV2, self).__init__(config, 'waveshare2in7b_v2')
- self._display = None
def layout(self):
fonts.setup(10, 9, 10, 35, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare2in9.py b/pwnagotchi/ui/hw/waveshare2in9.py
index c86de360..76cd76c9 100644
--- a/pwnagotchi/ui/hw/waveshare2in9.py
+++ b/pwnagotchi/ui/hw/waveshare2in9.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare29inch(DisplayImpl):
def __init__(self, config):
super(Waveshare29inch, self).__init__(config, 'waveshare2in9')
- self._display = None
def layout(self):
fonts.setup(10, 9, 10, 35, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare2in9_V2.py b/pwnagotchi/ui/hw/waveshare2in9_V2.py
index cf2697f7..f1ee7a17 100644
--- a/pwnagotchi/ui/hw/waveshare2in9_V2.py
+++ b/pwnagotchi/ui/hw/waveshare2in9_V2.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare29inchV2(DisplayImpl):
def __init__(self, config):
super(Waveshare29inchV2, self).__init__(config, 'waveshare2in9_v2')
- self._display = None
def layout(self):
fonts.setup(10, 9, 10, 35, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare2in9b_V3.py b/pwnagotchi/ui/hw/waveshare2in9b_V3.py
index f5f28b4a..93e14381 100644
--- a/pwnagotchi/ui/hw/waveshare2in9b_V3.py
+++ b/pwnagotchi/ui/hw/waveshare2in9b_V3.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare29bV3(DisplayImpl):
def __init__(self, config):
super(Waveshare29bV3, self).__init__(config, 'waveshare2in9b_v3')
- self._display = None
def layout(self):
fonts.setup(10, 9, 10, 35, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare2in9b_V4.py b/pwnagotchi/ui/hw/waveshare2in9b_V4.py
index f827ef6c..0a7e2ee4 100644
--- a/pwnagotchi/ui/hw/waveshare2in9b_V4.py
+++ b/pwnagotchi/ui/hw/waveshare2in9b_V4.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare29bV4(DisplayImpl):
def __init__(self, config):
super(Waveshare29bV4, self).__init__(config, 'waveshare2in9b_v4')
- self._display = None
def layout(self):
fonts.setup(10, 9, 10, 35, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare2in9bc.py b/pwnagotchi/ui/hw/waveshare2in9bc.py
index b3edf95f..b9d6004d 100644
--- a/pwnagotchi/ui/hw/waveshare2in9bc.py
+++ b/pwnagotchi/ui/hw/waveshare2in9bc.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare2in9bc(DisplayImpl):
def __init__(self, config):
super(Waveshare2in9bc, self).__init__(config, 'waveshare2in9bc')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare2in9d.py b/pwnagotchi/ui/hw/waveshare2in9d.py
index 43c92aed..1b52ab17 100644
--- a/pwnagotchi/ui/hw/waveshare2in9d.py
+++ b/pwnagotchi/ui/hw/waveshare2in9d.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare2in9d(DisplayImpl):
def __init__(self, config):
super(Waveshare2in9d, self).__init__(config, 'waveshare2in9d')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare35lcd.py b/pwnagotchi/ui/hw/waveshare35lcd.py
index 91470e56..76df79de 100644
--- a/pwnagotchi/ui/hw/waveshare35lcd.py
+++ b/pwnagotchi/ui/hw/waveshare35lcd.py
@@ -9,7 +9,6 @@ import os, time
class Waveshare35lcd(DisplayImpl):
def __init__(self, config):
super(Waveshare35lcd, self).__init__(config, 'waveshare35lcd')
- self._display = None
def layout(self):
fonts.setup(12, 10, 12, 70, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare3in0g.py b/pwnagotchi/ui/hw/waveshare3in0g.py
index 4c546f51..46c40f3b 100644
--- a/pwnagotchi/ui/hw/waveshare3in0g.py
+++ b/pwnagotchi/ui/hw/waveshare3in0g.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare3in0g(DisplayImpl):
def __init__(self, config):
super(Waveshare3in0g, self).__init__(config, 'waveshare3in0g')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare3in52.py b/pwnagotchi/ui/hw/waveshare3in52.py
index d7d0d724..b2252a0b 100644
--- a/pwnagotchi/ui/hw/waveshare3in52.py
+++ b/pwnagotchi/ui/hw/waveshare3in52.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare3in52(DisplayImpl):
def __init__(self, config):
super(Waveshare3in52, self).__init__(config, 'waveshare3in52')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare3in5lcd.py b/pwnagotchi/ui/hw/waveshare3in5lcd.py
index 91470e56..76df79de 100644
--- a/pwnagotchi/ui/hw/waveshare3in5lcd.py
+++ b/pwnagotchi/ui/hw/waveshare3in5lcd.py
@@ -9,7 +9,6 @@ import os, time
class Waveshare35lcd(DisplayImpl):
def __init__(self, config):
super(Waveshare35lcd, self).__init__(config, 'waveshare35lcd')
- self._display = None
def layout(self):
fonts.setup(12, 10, 12, 70, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare3in7.py b/pwnagotchi/ui/hw/waveshare3in7.py
index d36b6105..c901eb52 100644
--- a/pwnagotchi/ui/hw/waveshare3in7.py
+++ b/pwnagotchi/ui/hw/waveshare3in7.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare3in7(DisplayImpl):
def __init__(self, config):
super(Waveshare3in7, self).__init__(config, 'waveshare3in7')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
@@ -39,7 +38,7 @@ class Waveshare3in7(DisplayImpl):
self._display.Clear(0)
def render(self, canvas):
- self._display.display(canvas)
+ self._display.display_4Gray(canvas)
def clear(self):
self._display.Clear(0)
diff --git a/pwnagotchi/ui/hw/waveshare4in01f.py b/pwnagotchi/ui/hw/waveshare4in01f.py
index caf2696a..e5167efe 100644
--- a/pwnagotchi/ui/hw/waveshare4in01f.py
+++ b/pwnagotchi/ui/hw/waveshare4in01f.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare4in01f(DisplayImpl):
def __init__(self, config):
super(Waveshare4in01f, self).__init__(config, 'waveshare4in01f')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare4in2.py b/pwnagotchi/ui/hw/waveshare4in2.py
index f555d63e..857dcc4c 100644
--- a/pwnagotchi/ui/hw/waveshare4in2.py
+++ b/pwnagotchi/ui/hw/waveshare4in2.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare4in2(DisplayImpl):
def __init__(self, config):
super(Waveshare4in2, self).__init__(config, 'waveshare4in2')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare4in26.py b/pwnagotchi/ui/hw/waveshare4in26.py
index 10133630..41def32e 100644
--- a/pwnagotchi/ui/hw/waveshare4in26.py
+++ b/pwnagotchi/ui/hw/waveshare4in26.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare4in26(DisplayImpl):
def __init__(self, config):
super(Waveshare4in26, self).__init__(config, 'waveshare4in26')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare4in2_V2.py b/pwnagotchi/ui/hw/waveshare4in2_V2.py
index 92fc3e62..96e8d162 100644
--- a/pwnagotchi/ui/hw/waveshare4in2_V2.py
+++ b/pwnagotchi/ui/hw/waveshare4in2_V2.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare4in2V2(DisplayImpl):
def __init__(self, config):
super(Waveshare4in2V2, self).__init__(config, 'waveshare4in2_v2')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare4in2b_V2.py b/pwnagotchi/ui/hw/waveshare4in2b_V2.py
index 07b611d5..a6dd942d 100644
--- a/pwnagotchi/ui/hw/waveshare4in2b_V2.py
+++ b/pwnagotchi/ui/hw/waveshare4in2b_V2.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare4in2bV2(DisplayImpl):
def __init__(self, config):
super(Waveshare4in2bV2, self).__init__(config, 'waveshare4in2b_v2')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare4in2bc.py b/pwnagotchi/ui/hw/waveshare4in2bc.py
index 7bbbe0f2..7dbf967c 100644
--- a/pwnagotchi/ui/hw/waveshare4in2bc.py
+++ b/pwnagotchi/ui/hw/waveshare4in2bc.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare4in2bc(DisplayImpl):
def __init__(self, config):
super(Waveshare4in2bc, self).__init__(config, 'waveshare4in2bc')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare4in37g.py b/pwnagotchi/ui/hw/waveshare4in37g.py
index 1f28282e..2aac16e5 100644
--- a/pwnagotchi/ui/hw/waveshare4in37g.py
+++ b/pwnagotchi/ui/hw/waveshare4in37g.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare4in37g(DisplayImpl):
def __init__(self, config):
super(Waveshare4in37g, self).__init__(config, 'waveshare4in37g')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare5in65f.py b/pwnagotchi/ui/hw/waveshare5in65f.py
index e7c09b7c..d1bc9082 100644
--- a/pwnagotchi/ui/hw/waveshare5in65f.py
+++ b/pwnagotchi/ui/hw/waveshare5in65f.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare5in65f(DisplayImpl):
def __init__(self, config):
super(Waveshare5in65f, self).__init__(config, 'waveshare5in65f')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare5in83.py b/pwnagotchi/ui/hw/waveshare5in83.py
index 46934aa4..636bd1f4 100644
--- a/pwnagotchi/ui/hw/waveshare5in83.py
+++ b/pwnagotchi/ui/hw/waveshare5in83.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare5in83(DisplayImpl):
def __init__(self, config):
super(Waveshare5in83, self).__init__(config, 'waveshare5in83')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare5in83_V2.py b/pwnagotchi/ui/hw/waveshare5in83_V2.py
index d0d3f93a..dda0850d 100644
--- a/pwnagotchi/ui/hw/waveshare5in83_V2.py
+++ b/pwnagotchi/ui/hw/waveshare5in83_V2.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare5in83V2(DisplayImpl):
def __init__(self, config):
super(Waveshare5in83V2, self).__init__(config, 'waveshare5in83_v2')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare5in83b_V2.py b/pwnagotchi/ui/hw/waveshare5in83b_V2.py
index a7f289d9..9b116c00 100644
--- a/pwnagotchi/ui/hw/waveshare5in83b_V2.py
+++ b/pwnagotchi/ui/hw/waveshare5in83b_V2.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare5in83bV2(DisplayImpl):
def __init__(self, config):
super(Waveshare5in83bV2, self).__init__(config, 'waveshare5in83b_v2')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare5in83bc.py b/pwnagotchi/ui/hw/waveshare5in83bc.py
index 58e86d82..8ab1d044 100644
--- a/pwnagotchi/ui/hw/waveshare5in83bc.py
+++ b/pwnagotchi/ui/hw/waveshare5in83bc.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare5in83bc(DisplayImpl):
def __init__(self, config):
super(Waveshare5in83bc, self).__init__(config, 'waveshare5in83bc')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare7in3f.py b/pwnagotchi/ui/hw/waveshare7in3f.py
index fdbfccbd..3a35d112 100644
--- a/pwnagotchi/ui/hw/waveshare7in3f.py
+++ b/pwnagotchi/ui/hw/waveshare7in3f.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare7in3f(DisplayImpl):
def __init__(self, config):
super(Waveshare7in3f, self).__init__(config, 'waveshare7in3f')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare7in3g.py b/pwnagotchi/ui/hw/waveshare7in3g.py
index c1d7f557..ee9f13bf 100644
--- a/pwnagotchi/ui/hw/waveshare7in3g.py
+++ b/pwnagotchi/ui/hw/waveshare7in3g.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare7in3g(DisplayImpl):
def __init__(self, config):
super(Waveshare7in3g, self).__init__(config, 'waveshare7in3g')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare7in5.py b/pwnagotchi/ui/hw/waveshare7in5.py
index f8492033..bb999563 100644
--- a/pwnagotchi/ui/hw/waveshare7in5.py
+++ b/pwnagotchi/ui/hw/waveshare7in5.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare7in5(DisplayImpl):
def __init__(self, config):
super(Waveshare7in5, self).__init__(config, 'waveshare7in5')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare7in5_HD.py b/pwnagotchi/ui/hw/waveshare7in5_HD.py
index 4e0876ff..34fa7b53 100644
--- a/pwnagotchi/ui/hw/waveshare7in5_HD.py
+++ b/pwnagotchi/ui/hw/waveshare7in5_HD.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare7in5HD(DisplayImpl):
def __init__(self, config):
super(Waveshare7in5HD, self).__init__(config, 'waveshare7in5_HD')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare7in5_V2.py b/pwnagotchi/ui/hw/waveshare7in5_V2.py
index 3c3f00a1..524b8d3c 100644
--- a/pwnagotchi/ui/hw/waveshare7in5_V2.py
+++ b/pwnagotchi/ui/hw/waveshare7in5_V2.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare7in5V2(DisplayImpl):
def __init__(self, config):
super(Waveshare7in5V2, self).__init__(config, 'waveshare7in5_v2')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare7in5b_HD.py b/pwnagotchi/ui/hw/waveshare7in5b_HD.py
index a14161e4..5f04e5d2 100644
--- a/pwnagotchi/ui/hw/waveshare7in5b_HD.py
+++ b/pwnagotchi/ui/hw/waveshare7in5b_HD.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare7in5bHD(DisplayImpl):
def __init__(self, config):
super(Waveshare7in5bHD, self).__init__(config, 'waveshare7in5b_HD')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare7in5b_V2.py b/pwnagotchi/ui/hw/waveshare7in5b_V2.py
index 6f2dc68d..8463a691 100644
--- a/pwnagotchi/ui/hw/waveshare7in5b_V2.py
+++ b/pwnagotchi/ui/hw/waveshare7in5b_V2.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare7in5bV2(DisplayImpl):
def __init__(self, config):
super(Waveshare7in5bV2, self).__init__(config, 'waveshare7in5b_v2')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)
diff --git a/pwnagotchi/ui/hw/waveshare7in5bc.py b/pwnagotchi/ui/hw/waveshare7in5bc.py
index 6bc743de..fe71c597 100644
--- a/pwnagotchi/ui/hw/waveshare7in5bc.py
+++ b/pwnagotchi/ui/hw/waveshare7in5bc.py
@@ -7,7 +7,6 @@ from pwnagotchi.ui.hw.base import DisplayImpl
class Waveshare7in5bc(DisplayImpl):
def __init__(self, config):
super(Waveshare7in5bc, self).__init__(config, 'waveshare7in5bc')
- self._display = None
def layout(self):
fonts.setup(10, 8, 10, 18, 25, 9)