Millisecond Forums

Can a missing XID device only give a warning, not throw an error

https://forums.millisecond.com/Topic15294.aspx

By Blackadder - 1/5/2015

We only have a limited number of Cedrus response boxes in our lab. Hence, programming and testing of experiments is mostly done on our office computers without a Cedrus device attached. We just add both Cedrus and keyboard codes as valid/correct responses. With Inquisit 3, changing one single line in the <defaults> section of a script allowed to switch between XID devices and keyboard. With the new <xid> element in Inquisit 4 we have to delete the whole XID element to test or run scripts on non-lab computers.

It would be nice if Inquisit could throw an XID error only if the xid device was used as an "/ inputdevice" somewhere, and give just a warning message otherwise.

Kind regards, Malte
By Dave - 1/5/2015

Since the <xid> element allows for interfacing (w/ e.g. a stimtracker) even if the respective device is *not* designated as inputdevice anywhere in the script, I'm personally not sure whether merely emitting a warning would be advisable. This would open the road to data loss in cases where a device is supposed to be present (i.e. in your "lab" configuration), but Inquisit is unable to communicate with it.

One alternative I can think of is to use conditional <include> elements with e.g. a "special" subject id to automatically run your non-lab vs. lab configuration. This would require *zero* changes to the actual script (minimal example attached; use subject id "test").

Hope this helps.
By Blackadder - 1/9/2015

This is a great idea! I wasn't aware that conditional include statements were even possible.

This solves the problem, indeed with minimal changes.

Thanks a lot!
Malte