def push_rotate(self, rotation): global FirstTouch global useTrigger if FirstTouch and useTrigger: Trigger().send(200) FirstTouch = False if rotation < 0: freq.value = freq.value / 1.00057778950655485929679257 if rotation > 0: freq.value = freq.value * 1.00057778950655485929679257
font=sans, alignHoriz='center', alignVert='center', color='white') cross.draw() myWin.flip() trigger1 = True trigger2 = True end = True while end: t = trialClock.getTime() if t >= 15 and trigger1: Trigger().send(33) trigger1 = False trialClock.reset() if t >= 300 and trigger2: Trigger().send(66) trigger2 = False end = False for key in event.getKeys(): if key in ['escape']: myWin.close() core.quit() if key in ['return']: myWin.close() core.quit()
ResponseInstruction.text = random.choice(notes) ResponseInstruction.draw() myWin.flip() # set conditions subject_response_finished = 0 trialClock.reset() # receive mouse-wheel movement and tune frequency while subject_response_finished == 0: t = trialClock.getTime() # end trial if duration > 15s if t >= 15: if useTrigger: Trigger().send(202) sine.stop() cross.draw() myWin.flip() core.wait(3) subject_response_finished = 1 trial_num += 1 if trial_num >= 3: sine.stop() end = False # trigger events for escape key for key in event.getKeys(): if key in ['escape']: sine.stop() myWin.close()
def PATTrial(notes, rep): global FirstTouch, green, blue cross = visual.TextStim(myWin, units='norm', height=0.4, pos=(0, 0), text="+", font=sans, alignHoriz='center', alignVert='center', color='white') end = True trialClock = core.Clock() len_notes = len(notes) trial_num = 0 counter = rep * len_notes cross.draw() myWin.flip() core.wait(3) while end: random_note = random.choice(notes) notes.remove(random_note) if useTrigger: Trigger().send(notes_trig[random_note]) # set random starting frequency/note and start sine-generator freq.value = rnd_tone() start_freq = freq.value sine.out() ResponseInstruction = visual.TextStim(myWin, units='norm', height=0.4, pos=(0, 0), text=random_note, font=sans, alignHoriz='center', alignVert='center', color='white') ResponseInstruction.draw() myWin.flip() # set conditions subject_response_finished = 0 trialClock.reset() FirstTouch = True pause = 0 time_expired = 'False' # receive mouse-wheel movement and tune frequency while subject_response_finished == 0: t = trialClock.getTime() # end trial if duration > 15s if t + pause >= 15: if useTrigger: Trigger().send(202) sine.stop() cross.draw() myWin.flip() core.wait(3) subject_response_finished = 1 time_expired = 'True' trial_num += 1 if trial_num >= len_notes: sine.stop() end = False # trigger events for escape key for key in event.getKeys(): if key in ['escape']: sine.stop() myWin.close() core.quit() if key in ['p']: sine.stop() pause = pause + t while True: if 'p' in event.getKeys(): break sine.out() trialClock.reset() # continue with next trial if powermate-button pressed if blue: if useTrigger: Trigger().send(201) sine.stop() cross.draw() myWin.flip() core.wait(3) subject_response_finished = 1 blue = False trial_num += 1 if trial_num >= len_notes: sine.stop() end = False a = counter + trial_num thisExpPat.addData('trial number', a) thisExpPat.addData('start frequency', start_freq) thisExpPat.addData('time expired', time_expired) thisExpPat.addData('entered frequency', freq.value) thisExpPat.addData('time', t) thisExpPat.addData('target note', random_note) thisExpPat.nextEntry()