Unify all Python trees for both RPi and Jetson Nano, Py2 and Py3

* Move lib files into waveshare_epd package
  * Use int() where integer division is needed
  * Use logging (debug level) in library files, so they can be used by a
    user script without print()s being output
  * Use logging (info level) in example files
  * Move Font.ttc file into pic directory
  * epdconfig.py: Detect RPi or Jetson Nano
  * Search for sysfs_software_spi.so in several places
  * Include both Jetson and RPi readme files
  * Include setup.py for package installation
  * Fix few small syntax errors preventing setuptools byte-compiling
This commit is contained in:
Ryan Finnie 2019-07-20 22:56:45 +00:00
commit d0918826de
No known key found for this signature in database
GPG key ID: 7E60A3A686AE8D98
337 changed files with 1009 additions and 19168 deletions

View file

@ -1,101 +0,0 @@
#!/usr/bin/python
# -*- coding:utf-8 -*-
import sys
sys.path.append(r'../lib')
import epd2in9d
import epdconfig
import time
from PIL import Image,ImageDraw,ImageFont
import traceback
try:
print("epd2in9d Demo")
epd = epd2in9d.EPD()
print("init and Clear")
epd.init()
epd.Clear(0xFF)
font24 = ImageFont.truetype('../lib/Font.ttc', 24)
font18 = ImageFont.truetype('../lib/Font.ttc', 18)
# Drawing on the Horizontal image
print("1.Drawing on the Horizontal image...")
Himage = Image.new('1', (epd.height, epd.width), 255) # 255: clear the frame
draw = ImageDraw.Draw(Himage)
draw.text((10, 0), 'hello world', font = font24, fill = 0)
draw.text((10, 20), '2.9inch e-Paper d', font = font24, fill = 0)
draw.text((150, 0), u'微雪电子', font = font24, fill = 0)
draw.line((20, 50, 70, 100), fill = 0)
draw.line((70, 50, 20, 100), fill = 0)
draw.rectangle((20, 50, 70, 100), outline = 0)
draw.line((165, 50, 165, 100), fill = 0)
draw.line((140, 75, 190, 75), fill = 0)
draw.arc((140, 50, 190, 100), 0, 360, fill = 0)
draw.rectangle((80, 50, 130, 100), fill = 0)
draw.chord((200, 50, 250, 100), 0, 360, fill = 0)
epd.display(epd.getbuffer(Himage))
time.sleep(2)
# Drawing on the Vertical image
print("2.Drawing on the Vertical image...")
Limage = Image.new('1', (epd.width, epd.height), 255) # 255: clear the frame
draw = ImageDraw.Draw(Limage)
draw.text((2, 0), 'hello world', font = font18, fill = 0)
draw.text((2, 20), '2.9inch epd d', font = font18, fill = 0)
draw.text((20, 50), u'微雪电子', font = font18, fill = 0)
draw.line((10, 90, 60, 140), fill = 0)
draw.line((60, 90, 10, 140), fill = 0)
draw.rectangle((10, 90, 60, 140), outline = 0)
draw.line((95, 90, 95, 140), fill = 0)
draw.line((70, 115, 120, 115), fill = 0)
draw.arc((70, 90, 120, 140), 0, 360, fill = 0)
draw.rectangle((10, 150, 60, 200), fill = 0)
draw.chord((70, 150, 120, 200), 0, 360, fill = 0)
epd.display(epd.getbuffer(Limage))
time.sleep(2)
print("3.read bmp file")
Himage = Image.open('../pic/2in9d.bmp')
epd.display(epd.getbuffer(Himage))
time.sleep(2)
print("4.read bmp file on window")
Himage2 = Image.new('1', (epd.height, epd.width), 255) # 255: clear the frame
bmp = Image.open('../pic/100x100.bmp')
Himage2.paste(bmp, (50,10))
epd.display(epd.getbuffer(Himage2))
time.sleep(2)
# # partial update
print("5.show time...")
epd.init()
epd.Clear(0xFF)
time_image = Image.new('1', (epd.width, epd.height), 255)
time_draw = ImageDraw.Draw(time_image)
num = 0
while (True):
time_draw.rectangle((10, 10, 120, 50), fill = 255)
time_draw.text((10, 10), time.strftime('%H:%M:%S'), font = font24, fill = 0)
newimage = time_image.crop([10, 10, 120, 50])
time_image.paste(newimage, (10,10))
epd.display(epd.getbuffer(time_image))
num = num + 1
if(num == 10):
break
print("Clear...")
epd.Clear(0xFF)
print("Goto Sleep...")
epd.sleep()
except IOError as e:
print(e)
except KeyboardInterrupt:
print("ctrl + c:")
epdconfig.module_exit()
exit()