def draw_tube(): # Upper part of tube inkyphat.line((65, 36, 200, 37), 1, 1) inkyphat.line((65, 37, 200, 36), 1, 1) # Lower part of tube inkyphat.line((65, 66, 200, 66), 1, 1) inkyphat.line((65, 67, 200, 67), 1, 1) # Round top of tube inkyphat.arc((187, 37, inkyphat.WIDTH - margin_top, 66), 270, 90, 1) inkyphat.arc((186, 37, (inkyphat.WIDTH - margin_top) + 1, 67), 270, 90, 1)
def draw_therm(): inkyphat.arc((margin_bottom, margin_left, margin_bottom + bulb_width, margin_right + bulb_width), 0, 360, 1) inkyphat.arc( (margin_bottom - 1, margin_left - 1, margin_bottom + bulb_width + 1, margin_right + bulb_width + 1), 0, 360, 1) inkyphat.rectangle((tube_x - (bulb_width / 2), tube_y, (fill_max - tube_width), (tube_y + tube_width)), 0, 0) inkyphat.line((tubeline_top_x, tubeline_top_y, fill_max - tube_width / 2, tubeline_top_y), 1, 1) inkyphat.line( (tubeline_top_x, (tubeline_top_y - 1), fill_max - tube_width / 2, (tubeline_top_y - 1)), 1, 1) inkyphat.line((tubeline_top_x, tubeline_bottom_y, (fill_max - tube_width / 2), tubeline_bottom_y), 1, 1) inkyphat.line( (tubeline_top_x, (tubeline_bottom_y + 1), fill_max - tube_width / 2, (tubeline_bottom_y + 1)), 1, 1) inkyphat.arc( ((fill_max - tube_width), tubeline_top_y, fill_max, tubeline_bottom_y), 270, 90, 1) inkyphat.arc(((fill_max - tube_width + 1), tubeline_top_y - 1, fill_max + 1, tubeline_bottom_y + 1), 270, 90, 1)
from PIL import ImageFont import sys import inkyphat if len(sys.argv) < 2: print("""Usage: {} <colour> Valid colours: red, yellow, black """.format(sys.argv[0])) sys.exit(0) colour = sys.argv[1] inkyphat.set_colour(colour) font_file = inkyphat.fonts.FredokaOne inkyphat.arc((0, 0, 212, 104), 0, 180, 2) top = 0 left = 0 offset_left = 0 for font_size in (10, 12, 14, 16, 18, 20): text = "Test {}".format(font_size) font = inkyphat.ImageFont.truetype(font_file, font_size) width, height = font.getsize(text) inkyphat.text((0, top), text, 1, font=font) top += height + 1 left = max(left, offset_left + width) offset_left = left + 5 top = 0
def draw_bulb(): # Main bulb inkyphat.arc((lowpoint, margin_left, lowpoint+bulb_width, margin_left+bulb_width), 30, 330, 1) inkyphat.arc((lowpoint-1, margin_left-1, lowpoint+bulb_width+1, margin_left+bulb_width+1), 30, 330, 1)