Calendar Latest Topics
 
 
 


Reply
  Author   Comment  
niemeyej

Junior Member
Registered:
Posts: 18
Reply with quote  #1 
Hi, I'm having a confusing issue (attached picture of error).  My experiment contains two general conditions, one with an eye movement and one with a TTL pulse.  The eye movement conditions run perfectly.  However, in the TTL pulse condition, the trials are fine when the TTL isn't sent out (conditions in which I don't fixate to start the trial), but when the TTL pulse is sent out then I get this problem where CycleRate is reported as zero.  This freezes up the program.

In the screen shot I had monkeylogic spit out the TrialData structure and also TrialData.CycleRate (that's the "ans = 0") in a condition where I sent the TTL pulse.

Does anyone have a theory on what would cause this?  Is it possible that sending a TTL pulse during eye tracking causes some hiccup in how the CycleRate is calculated?  I'm not really sure where to begin searching for the issue. 

I have run TTL pulses in other experiments and not gotten the error, but in this experiment I have eye tracking involved such that the TTL pulse is sent out gaze-contingently, so I don't think the issue is simply a TTL pulse.

Any ideas would be really welcomed.  Thanks

TrialData_pic_withError.JPG 

0
Jaewon

Administrator
Registered:
Posts: 971
Reply with quote  #2 
I think I know what is going on, but I need to see your timing script to be sure. If you cannot post it, add the following command to the very first line of your timing script and see if the error goes away.

---------- beginning of command ----------
idle(10);
---------- end of command ----------
0
niemeyej

Junior Member
Registered:
Posts: 18
Reply with quote  #3 
The idle command didn't affect anything (and idle() is called at other parts of the trial as well).

I'll try posting my timing file as a .txt.  Let me know if there's a better way.  

Thanks for looking at it.  The error I get appears some time after line 76

 
Attached Files
txt afcrotate_text.txt (3.98 KB, 7 views)

0
Jaewon

Administrator
Registered:
Posts: 971
Reply with quote  #4 
I thought you do not track eye positions when you said you don't need to fixate in TTL conditions, which is why I suggested idle(). But you do check eye positions in all conditions.

In any case, your problem has nothing to do with TTL. It is eyejoytrack() that has something wrong. Somehow you created a condition where the maximum waiting time was 0 or the reaction time was 0, I believe. The former is obviously not the case since all your time variables are greater than 0. So I am wondering if you tested this with fake eye signals, which may result in a very short reaction time (<0.5ms).

If you are sure your task is fine, then try the following.

1. Open trialholder.m from your MonkeyLogic directory.

2. Search the file with a keyword, 'rt = 0;', and replace it with 'rt = [1 1];'. Do not include the single quotation marks. There is a space before and after the equal sign.


Tip: If you get that error again, press ALT + F12. It will unlock the keyboard so that you can type again.
0
niemeyej

Junior Member
Registered:
Posts: 18
Reply with quote  #5 
Thank you Jaewon, that did work.  From the 'rt=0' point I searched through and found the source of the problem: I had multiple timing files that were setting variables to different values.  One of them was used in the eyejoytrack() where this 'rt=0' problem occurred.

At the same time, I found that when defining editable() variables I cannot use multiple lines of variables. Between doing that and my contradictory timing file variables I guess this rt=0 popped up, but it's all fine now.  

Thanks a lot
0
Previous Topic | Next Topic
Print
Reply

Quick Navigation:

Easily create a Forum Website with Website Toolbox.