[open] Logging problem - Pygaze_log
Hi, recently adapted my script to pygaze. It has worked perfectly fine in standard opensesame.
participants are presented with a sentence followed by a question using an inline script before I use a keyboard response module to collect the answer to the question. My problem is that after adding the pygaze modules, The experiment simply skips the question/ answer bit by only leaving on the screen for a few milliseconds before moving on to next trial.
this is the inline script for the question and sentence
prepare
trial_list= []
from openexp.keyboard import keyboard
trial_info = full_list[self.get('count_trial_sequence')]
sentence = trial_info['sentences']
question = (trial_info['question'] +"\n \nYES (Y) NO (N)"+'\n')
answer = trial_info['answer']
item = trial_info['item']
print(item)
print(sentence)
print(question)
if answer == "n":
print("NO")
else:
print("YES")
kb = keyboard(exp,keylist= ['t'],timeout = 27000)
run
from openexp.canvas import canvas
my_canvas = canvas(exp)
my_canvas.text(sentence, center=False, x=60, y=350, max_width=None, color=None, bidi=None, html=True)
my_canvas.show()
#Key clear sentence canvas and music
kb.get_key()
my_canvas.clear()
sound.stop()
#Displays Question
my_canvas_question = canvas(exp)
my_canvas_question.text(question, center=True, x=None, y=None, max_width=None, color=None, bidi=None, html=True)
my_canvas_question.show()
???
set duration "keypress"
set font_family "mono"
set font_size "18"
set foreground "black"
set maxchar "50"
before I have the keyboard module with the following settings.
set allowed_responses "y;n"
set correct_response "(trial_info['answer'])"
set flush "yes"
set timeout "infinite"
This is followed by the logger.
Comments
Would it possibly help if I did the answer as an inline script as well?
Hi,
I tried to make sense of the snippets you copied in, but I can't. Would you mind making it a bit more clear what you're trying to do, and what you have so far? Simply copying in different parts of inline code, mixed in with OpenSesame syntax, isn't enlightening enough, I'm afraid.
My current guess would be you're using the code under run, which ends with showing a display. After this, you have no delay to keep anything on-screen, so the next item might or might not overwrite the display.
Cheers,
Edwin
Sorry! The two first inline scripts simply prepares and presents a sentence. The participants reads the sentence and pushes a button (T) to continue to the question display. This is where the problem is. Before I added the the pygaze modules e.g. log the question display worked perfectly - It showed the question until the participants pushed either Y or N depending on the correct answer. What is now happening is that the experiments only briefly displays the question after T has been pushed before logging the trial information and moves on to the next trial. did that make more sense?