diff --git a/display.py b/display.py new file mode 100644 index 0000000..1f78dc9 --- /dev/null +++ b/display.py @@ -0,0 +1,46 @@ +#!/usr/bin/python3 +import sys +import os +import logging +from PIL import Image + +libdir = "./lib/e-Paper/RaspberryPi_JetsonNano/python/lib" +if os.path.exists(libdir): + sys.path.append(libdir) +from waveshare_epd import epd7in5_V2 as epd7in5 + +# Ref https://github.com/waveshareteam/e-Paper/blob/master/RaspberryPi_JetsonNano/python/examples/epd_7in5_V2_test.py + +def main(): + try: + epd = epd7in5.EPD() + logging.debug("Initializing e-Paper display") + epd.init() + + # Get the file_name from command-line arguments + file_name = sys.argv[1] + + logging.debug(f"Reading image file: {file_name}") + Himage = Image.open(file_name) + logging.debug("Displaying image on screen") + epd.display(epd.getbuffer(Himage)) + + # Put the display to sleep + epd.sleep() + logging.debug("Putting display to sleep") + + # Clean up resources + epd.Dev_exit() + logging.debug("Exiting") + + except IOError as e: + logging.exception("IOError occurred: " + str(e)) + + except KeyboardInterrupt: + logging.debug("Keyboard Interrupt - Exiting") + epd7in5.epdconfig.module_exit() + sys.exit() + +if __name__ == "__main__": + logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s') + main()