From ada71de487ad300ea389bbe085b149f7759d517a Mon Sep 17 00:00:00 2001 From: Gal Date: Mon, 1 Apr 2024 19:20:11 +0200 Subject: [PATCH] :art: Add display code --- display.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 display.py 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()