Bladeren bron

split eink code

Tobias Simetsreiter 4 jaren geleden
bovenliggende
commit
ee0e324adf
4 gewijzigde bestanden met toevoegingen van 69 en 39 verwijderingen
  1. 1 1
      Makefile
  2. 14 38
      simpilib/cli.py
  3. 42 0
      simpilib/eink.py
  4. 12 0
      simpilib/install.py

+ 1 - 1
Makefile

@@ -18,7 +18,7 @@ update:
 install_ssh: update remote/deploy
 
 ssh/%:
-	ssh ${RASPI_REMOTE} "cd raspi-zero-waveshare;${*}"
+	ssh ${RASPI_REMOTE} "cd raspi-zero-waveshare;./bin/simpi.py ${*}"
 
 remote/%:
 	ssh ${RASPI_REMOTE} "cd raspi-zero-waveshare;$(MAKE) ${*}"

+ 14 - 38
simpilib/cli.py

@@ -2,47 +2,23 @@
 #
 
 def main():
-    import logging
-    from waveshare_epd import epd2in13_V2
-    import time
-    from PIL import Image,ImageDraw
-    import simpilib
+    p = parser()
+    args = p.parse_args()
+    if "func" in args:
+        return args.func(args)
 
-    import os
-    fontpath = os.path.realpath(os.path.join(__file__,"..","..","wavesharelib","pic", 'Font.ttc'))
-
-
-    text = simpilib.getQuote()
-
-    epd = epd2in13_V2.EPD()
-    logging.info("init and Clear")
-    epd.init(epd.FULL_UPDATE)
-    epd.Clear(0xFF)
-    image = Image.new('1', (epd.height, epd.width), 255)
-    draw = ImageDraw.Draw(image)
-
-    text, longline = simpilib.wrapText(text)
-    font = simpilib.loadFontSize(text, draw, image, fontpath)
-
-    w, h = draw.textsize(text, font=font)
-
-    # epd parameters are rotated 90°
-    center = [
-        int((epd.height-w)/2),
-        int((epd.width-h)/2)
-    ]
-    # leave some space for low characters
-    center[1] = center[1] - 5
-
-    print("Drawing:", (w, h), (epd.height, epd.width))
-    draw.text(center, text, align="center", font = font, fill = 0)
-
-    # epd.display(epd.getbuffer(image.rotate(180)))
-    epd.display(epd.getbuffer(image))
-    epd.sleep()
-    epd.Dev_exit()
+    from simpilib.eink import update_quote
+    return update_quote(args)
 
 def parser():
     from argparse import ArgumentParser
+    from simpilib.install import install
+    from simpilib.eink import update_quote
     p = ArgumentParser()
+    sub = p.add_subparsers()
+    install_parser = sub.add_parser("update_quote")
+    install_parser.set_defaults(func=update_quote)
+    install_parser = sub.add_parser("install")
+    install_parser.set_defaults(func=install)
     return p
+

+ 42 - 0
simpilib/eink.py

@@ -0,0 +1,42 @@
+
+def update_quote(args):
+    import logging
+    from waveshare_epd import epd2in13_V2
+    import time
+    from PIL import Image,ImageDraw
+    import simpilib
+
+    import os
+    fontpath = os.path.realpath(os.path.join(__file__,"..","..","wavesharelib","pic", 'Font.ttc'))
+
+
+    text = simpilib.getQuote()
+
+    epd = epd2in13_V2.EPD()
+    logging.info("init and Clear")
+    epd.init(epd.FULL_UPDATE)
+    epd.Clear(0xFF)
+    image = Image.new('1', (epd.height, epd.width), 255)
+    draw = ImageDraw.Draw(image)
+
+    text, longline = simpilib.wrapText(text)
+    font = simpilib.loadFontSize(text, draw, image, fontpath)
+
+    w, h = draw.textsize(text, font=font)
+
+    # epd parameters are rotated 90°
+    center = [
+        int((epd.height-w)/2),
+        int((epd.width-h)/2)
+    ]
+    # leave some space for low characters
+    center[1] = center[1] - 5
+
+    print("Drawing:", (w, h), (epd.height, epd.width))
+    draw.text(center, text, align="center", font = font, fill = 0)
+
+    # epd.display(epd.getbuffer(image.rotate(180)))
+    epd.display(epd.getbuffer(image))
+    epd.sleep()
+    epd.Dev_exit()
+

+ 12 - 0
simpilib/install.py

@@ -0,0 +1,12 @@
+
+from subprocess import run
+
+def install(args):
+    CMD='''
+sudo bluetoothctl <<EOF
+power on
+discoverable on
+pairable on
+EOF
+'''
+    run(CMD, shell=True)