Hello @JensBoelte,
Thanks for your thoughts on this. Yes, I realize that there are uncontrolled sources of timing variability especially in online studies. At the very least it would be useful, I think, to know when the code is actually sending a Turn Stimulus On and Turn Stimulus Off signal. If those values don’t match up with the intended times then there are real problems. My experience with running PsychoPy locally using NFrames as the basis of the timing is that it can produce obtained durations, based on PsychoPy’s Start/Stop values in the data file, that are not close to what we think they should be. Thats why I’m thinking that having these Start/Stop commands in the Pavlovia datafile would be helpful.
Now, I am really beginning to question just what to take as meaningful information in the data files. For example, when I run the experiment locally on my machine through Pavlovia I get a Frame Rate = ~ 250, but when I run the same experiment through Pavlovia the datafile says that my Frame Rate = ~ 60. In addition, when I actually compute the amount of time elapsed from stimulus onset to offset in my PsychoPy datafile, since I can set the NFrames to a specific value, I will be able to calculate the obtained Frame Rate. This value is not the same number as that given by PsychoPy. Thus, I don’t know what is accurate when looking at these numbers.
I sure wish that the developers could help us better understand these issues.
Other odd things also seem to continually plague this platform, such as synced files to Pavlovia don’t always get deployed when you attempt to run them (even after doing a “hard refresh” following @wakecarter). Instead, there appears to be a caching problem because when switching to a new browser the program that was most recently synced gets run, but when running on a browser used to test the program several times results in an older, not-recently-synced, version being run. This is just odd and one would hope that with all the iterations that this program has now gone through some of these most basic functions would be corrected.
Finally, I’m still trying to figure out how to record an End Stimulus Time command and suspect it is probably very easy, but I’m just not a very sophisticated coder. For example, following @Becca suggestion the following works for stimulus onset times but not for offset times (I’ve placed this code in the End Routine bit of the code component):
thisExp.addData(‘Cue.tStart’, Cue.tStart)
thisExp.addData(‘Cue.tEnd’, Cue.t)
Is there a tEnd command that is the equivalent of tStart, or maybe there is something else?
Sorry for jumping around from topic to topic. This is getting pretty frustrating…
Regards,
Andrew