61 lines
1.5 KiB
Python
Executable File
61 lines
1.5 KiB
Python
Executable File
#!/usr/bin/python
|
|
import sys
|
|
import os
|
|
script_dir = os.path.dirname(os.path.abspath(__file__))
|
|
lib_dir = os.path.join(script_dir, '..', 'lib')
|
|
sys.path.append(lib_dir)
|
|
import time
|
|
import argparse
|
|
from lib.sheogorath import Sheogorath
|
|
from lib import epdummy
|
|
|
|
parser = argparse.ArgumentParser(description='e-Ink Sheogorath')
|
|
parser.add_argument('--debug', action='store_true', help='If true, does not initialize e-Ink, shows images in window')
|
|
parser.add_argument('-d', '--delay', default=45, help='Delay between frames in seconds')
|
|
parser.add_argument('-r', '--refresh', default=10, help='Amount of frames after which to refresh the screen')
|
|
args = parser.parse_args()
|
|
|
|
epd = epdummy.EPDummy()
|
|
|
|
# Only load actual drivers when not in debug mode
|
|
if not args.debug:
|
|
from lib import epd2in13_V2
|
|
epd = epd2in13_V2.EPD()
|
|
|
|
app = Sheogorath()
|
|
|
|
try:
|
|
DELAY = int(args.delay)
|
|
except ValueError:
|
|
DELAY = 45
|
|
try:
|
|
N_REFRESH = int(args.refresh)
|
|
except ValueError:
|
|
N_REFRESH = 10
|
|
|
|
try:
|
|
epd.init(epd.FULL_UPDATE)
|
|
epd.Clear(0xFF)
|
|
|
|
# read bmp file on window
|
|
epd.Clear(0xFF)
|
|
|
|
epd.init(epd.PART_UPDATE)
|
|
n = 0
|
|
while (True):
|
|
n += 1
|
|
if n is N_REFRESH:
|
|
epd.init(epd.FULL_UPDATE)
|
|
epd.Clear(0xFF)
|
|
epd.Clear(0xFF)
|
|
n = 0
|
|
time.sleep(1)
|
|
epd.init(epd.PART_UPDATE)
|
|
frame = epd.getbuffer(app.get_frame())
|
|
epd.displayPartial(frame)
|
|
epd.displayPartial(frame)
|
|
time.sleep(DELAY)
|
|
except KeyboardInterrupt:
|
|
epd.exit()
|
|
exit()
|