#concating the slash as anticipation of future command-line laziness, not sure if it could not potentially cause some ITsec issues in future ? topic = sys.argv[1] + '/' author = sys.argv[2] font = sys.argv[3] #driver=driver_it8951.IT8951() #driver.init(partial=True) #white_image = Image.new("1", (600,800), color='#FFFFFF') #driver.load_image(0,0,white_image,img_addr=driver.img_addr) #driver.display_buffer_area(0,0,800,600,2,driver.img_addr) for label_full in os.listdir(topic + '/Units/'): print(label_full) label = os.path.splitext(label_full)[0] folio = ImageText((600, 800), background=(255, 255, 255)) folio_up = ImageText((600, 100), background=(255, 255, 255)) folio_up.write_text('center', 'center', label, font_filename='Fonts/' + font + '.otf', font_size='fill', max_height=100, max_width=560, color=(0, 0, 0)) folio.image.paste(folio_up.image, (0, 0)) folio_down = ImageText((600, 100), background=(255, 255, 255)) folio_down.write_text('center', 'center', label.upper(),
def match(amount=50): # say("BEGIN Aufgabe 3 :: Berliner digitale Leseprobe") global g_back, g_front white_image = Image.new("1", (600, 800), color='#FFFFFF') display_back.load_image(0, 0, white_image, img_addr=display_back.img_addr) display_back.load_image(0, 0, white_image, img_addr=display_back.img_addr + (2 * display_back.width * display_back.height + 1)) #bdlp_image = ImageText((600,200), background=(255,255,255)) #bdlp_image.write_text(20,0,"Berliner digitale Leseprobe", font_size='fill', max_height=200, max_width=560,color=(0,0,0)) #display_back.load_image(0,100,bdlp_image.image,img_addr=display_back.img_addr) #display_back.display_buffer_area(0,0,800,600,2,display_back.img_addr+(2*display_back.width*display_back.height+1)) #display_back.display_buffer_area(0,0,800,600,2,display_back.img_addr) #sa.WaveObject.from_wave_read(wave.open(root_dir+'Audio/Titles/Aufgabe3-BDLP-ddh', 'rb')).play().wait_done() say("Bitte bewege dein Hand in Richtung des gesprochenes Wortes - entweder von dir / nach oben oder zu dir / nach unten." ) labels = sample(os.listdir(root_dir + 'Audio/WLLPR/WAV'), amount) for label_full in labels: true_label = os.path.splitext(label_full)[0] proba = randint(1, 100) operator_flag = "" if proba < 20: false_label = randomString(len(true_label)) false_image = ImageText((600, 200), background=(255, 255, 255)) false_image.write_text(20, 0, false_label, font_size='fill', max_height=200, max_width=560, color=(0, 0, 0)) false_label_image = false_image.image operator_flag = "random" if proba < 10: false_label_image = false_label_image.convert('1').rotate(180) operator_flag = "random_rotate180" else: false_label = BDLP_nn_dict[true_label] false_label_image = Image.open(root_dir + 'titles_bg255/' + false_label + '.bmp') if proba < 30: false_label_image = false_label_image.transpose( Image.FLIP_LEFT_RIGHT) operator_flag = "true_verticalflip" elif proba < 40: false_label_image = false_label_image.transpose( Image.FLIP_TOP_BOTTOM) operator_flag = "true_horizontalflip" true_label_image = Image.open(root_dir + 'titles_bg255/' + true_label + '.bmp') true_up = bool(getrandbits(1)) if true_up: pointer_true = display_back.img_addr pointer_false = display_back.img_addr + ( 2 * display_back.width * display_back.height + 1) else: pointer_true = display_back.img_addr + ( 2 * display_back.width * display_back.height + 1) pointer_false = display_back.img_addr display_back.load_image(0, 0, true_label_image, img_addr=pointer_true) sa.WaveObject.from_wave_read( wave.open(root_dir + 'Audio/WLLPR/WAV/' + true_label + '.wav', 'rb')).play() display_back.load_image(0, 0, false_label_image, img_addr=pointer_false) display_front.load_image(0, 0, true_label_image, img_addr=pointer_true) display_front.load_image(0, 0, false_label_image, img_addr=pointer_false) if true_up: #front display_front.display_buffer_area(500, 0, 200, 600, 2, pointer_true + 100) display_front.display_buffer_area(100, 0, 200, 600, 2, pointer_false + 500) display_back.display_buffer_area(100, 0, 200, 600, 2, pointer_true - 100) display_back.display_buffer_area(500, 0, 200, 600, 2, pointer_false - 500) else: display_front.display_buffer_area(500, 0, 200, 600, 2, pointer_false + 100) #if You want content to scroll down then decrease the 1st param while simultaneously increasing the pointer display_front.display_buffer_area(100, 0, 200, 600, 2, pointer_true + 500) #back display_back.display_buffer_area(100, 0, 200, 600, 2, pointer_false - 100) display_back.display_buffer_area(500, 0, 200, 600, 2, pointer_true - 500) task_start = time.time() while True: #make sure that gesture sensor polling sequences are random so that no user is prioritized cmd = None front_first = bool(getrandbits(1)) if front_first: cmd = g_front.get_gesture() if cmd: player = 'front' else: cmd = g_back.get_gesture() if cmd: player = 'back' if cmd is None: if front_first: cmd = g_back.get_gesture() if cmd: player = 'back' else: cmd = g_front.get_gesture() if cmd: player = 'front' if cmd is None: time.sleep(0.07) continue if cmd == 'C' or cmd == 'A': sa.WaveObject.from_wave_read( wave.open( root_dir + 'Audio/WLLPR/WAV/' + true_label + '.wav', 'rb')).play() if cmd == 'U' or cmd == 'D': if cmd == 'U': if true_up: feedback_positive() status = 'T' else: feedback_negative() status = 'F' if cmd == 'D': if not true_up: feedback_positive() status = 'T' else: feedback_negative() status = 'F' print(player + ";" + cmd + ';' + status + ';' + true_label + ';' + false_label + ';' + str(round(time.time() - task_start, 2)) + ';' + operator_flag) break time.sleep(0.1)
from random import sample, choice, randint, getrandbits import os, time, sys, string, re import simpleaudio as sa import wave from Fibel.Corpora.BDLP_nn import * from Fibel.input.gesture import * import Fibel.drivers.it8951 as driver_it8951 screen_id = sys.argv[1] #content_image=Image.open('/home/fibel/Primer_v1/Lesen/Tiere/Lectiones/1/cover.bmp') content_image = Image.open( '/home/fibel/Primer_v1/Books/ABC_Buch/intro/bild2.bmp') text_image = ImageText((600, 800), background=(255, 255, 255)) text_image.write_text(20, 0, "Das ABC Buch", font_size='fill', max_height=200, max_width=560, color=(0, 0, 0)) text_image.write_text(20, 100, "von Karl Philipp Moritz", font_size='fill', max_height=100, max_width=560, color=(0, 0, 0)) text_image.image.paste(content_image.resize((396, 300)), (102, 210))
import Fibel.drivers.it8951 as driver_it8951 epoch_id = sys.argv[1] epoch = sys.argv[2] thema_id = sys.argv[3] thema = sys.argv[4] lesson_id = sys.argv[5] thema_dir = 'Lesen/' + thema + '/' lesson_dir = thema_dir + 'Lectiones/' + lesson_id + '/' folio_dir = lesson_dir + 'Foliae/' color = (0, 0, 0) font = 'schola.otf' disp_width = 600 disp_height = 800 img_out = ImageText((disp_width, disp_height), background=(255, 255, 255)) img_out.write_text(20, 0, "EPOCHE " + epoch_id, font_size='fill', max_height=100, max_width=300, color=color) img_out.write_text(20, 60, epoch.upper(), font_size='fill', max_height=100, max_width=300, color=color) img_out.write_text(20,
import Fibel.drivers.drivers_base as drivers_base import Fibel.drivers.it8951 as driver_it8951 import os, time, sys #topic=sys.argv[1] topic_dir = 'Lesen/' + sys.argv[1] + '/' lesson_dir = topic_dir + 'Lectiones/' + sys.argv[2] + '/' folio_dir = lesson_dir + 'Foliae/' index_image = Image.new("L", (600, 800), color='#FFFFFF') labels = os.listdir(folio_dir) print(labels) counter = 0 for label in sorted(labels): label_image = ImageText((120, 80), background=(255, 255, 255)) uppercase_label_image.write_text(0, 0, label, font_filename='Fonts/' + font + '.otf', font_size='fill', max_height=70, max_width=560, color=(0, 0, 0)) uppercase_label_image.write_text(0, 0, label, font_filename='Fonts/' + font + '.otf', font_size='fill', max_height=70, max_width=560,
def BDLP(): # say("BEGIN Aufgabe 3 :: Berliner digitale Leseprobe") white_image = Image.new("1", (600, 800), color='#FFFFFF') driver.load_image(0, 0, white_image, img_addr=driver.img_addr) driver.load_image(0, 0, white_image, img_addr=driver.img_addr + (2 * driver.width * driver.height + 1)) bdlp_image = ImageText((600, 200), background=(255, 255, 255)) bdlp_image.write_text(20, 0, "Berliner digitale Leseprobe", font_size='fill', max_height=200, max_width=560, color=(0, 0, 0)) driver.load_image(0, 100, bdlp_image.image, img_addr=driver.img_addr) driver.display_buffer_area( 0, 0, 800, 600, 2, driver.img_addr + (2 * driver.width * driver.height + 1)) driver.display_buffer_area(0, 0, 400, 600, 1, driver.img_addr) sa.WaveObject.from_wave_read( wave.open(root_dir + 'Audio/Titles/Aufgabe3-BDLP-ddh', 'rb')).play().wait_done() say("Bitte bewege dein Hand in Richtung des gesprochenes Wortes - entweder von dir / nach oben oder zu dir / nach unten." ) labels = sample(os.listdir(root_dir + 'Audio/WLLPR/WAV'), 50) for label_full in labels: true_label = os.path.splitext(label_full)[0] proba = randint(1, 100) operator_flag = "" if proba < 20: false_label = randomString(len(true_label)) false_image = ImageText((600, 200), background=(255, 255, 255)) false_image.write_text(20, 0, false_label, font_size='fill', max_height=200, max_width=560, color=(0, 0, 0)) false_label_image = false_image.image operator_flag = "random" if proba < 10: false_label_image = false_label_image.convert('1').rotate(180) operator_flag = "random_rotate180" else: false_label = BDLP_nn_dict[true_label] false_label_image = Image.open(root_dir + 'titles_bg255/' + false_label + '.bmp') if proba < 30: false_label_image = false_label_image.transpose( Image.FLIP_LEFT_RIGHT) operator_flag = "true_verticalflip" elif proba < 40: false_label_image = false_label_image.transpose( Image.FLIP_TOP_BOTTOM) operator_flag = "true_horizontalflip" true_label_image = Image.open(root_dir + 'titles_bg255/' + true_label + '.bmp') true_up = bool(getrandbits(1)) if true_up: pointer_true = driver.img_addr pointer_false = driver.img_addr + ( 2 * driver.width * driver.height + 1) else: pointer_true = driver.img_addr + ( 2 * driver.width * driver.height + 1) pointer_false = driver.img_addr driver.load_image(0, 100, true_label_image, img_addr=pointer_true) sa.WaveObject.from_wave_read( wave.open(root_dir + 'Audio/WLLPR/WAV/' + true_label + '.wav', 'rb')).play() driver.load_image(0, 100, false_label_image, img_addr=pointer_false) if true_up: driver.display_buffer_area(0, 0, 400, 600, 1, pointer_true) driver.display_buffer_area(400, 0, 400, 600, 1, pointer_false + 1200) else: driver.display_buffer_area(0, 0, 400, 600, 1, pointer_false) driver.display_buffer_area(400, 0, 400, 600, 1, pointer_true + 1200) task_start = time.time() while True: cmd = g.get_gesture() if cmd == 'C' or cmd == 'A': sa.WaveObject.from_wave_read( wave.open( root_dir + 'Audio/WLLPR/WAV/' + true_label + '.wav', 'rb')).play() if cmd == 'U' or cmd == 'D': if cmd == 'U': if true_up: feedback_positive() status = 'T' else: feedback_negative() status = 'F' if cmd == 'D': if not true_up: feedback_positive() status = 'T' else: feedback_negative() status = 'F' print(status + ';' + true_label + ';' + false_label + ';' + str(round(time.time() - task_start, 2)) + ';' + operator_flag) break time.sleep(0.01)