<div dir="ltr">Hi Julia,<div><br></div><div>1) Yes. If you are using en eprime script to handle the serial messages, both computers should be up and running. On the receiving side you probably need to put the ReadString function in a loop (often refered as polling). But see below for an alternative.<br>
</div><div><br></div><div>2) You are trying to send basic commands over the serial connection. In theory this would be possible if the receiving side could translate these strings into executable code (called evaluation). I'm not sure, but if I remember correctly, E-Basic does not have an 'Eval' function to do this. Also, even if the eval function would be available, I would strongly advice against using it this way. Since you only require a simple trigger signal, it is sufficient to send a single byte. Sending one byte instead of a complete string simplifies the receiving script significantly. You could use the ReadString method as described at 1). However, E-Prime also allows a serial port to be used as input device. The Serial input device will handle bit-changes as responses or events, just like the keyboard device. Because it's implemented as input device, there is no need to create a complex script that interprets the received byte stream. So, the receiving script should only include an object that waits for any event on the serial input device, and then continues with the next object to play the sound. The sending side could be really simple, with only two or three lines of inline script. However, you might have to use WriteBytes to send a single byte, instead of WriteString.</div>
<div><br></div><div>3) USB-RS232 conversion should not be an issue. (Although timing accuracy might be  worse.) However, make sure to use a null-modem cable to connect two PC's. <a href="http://en.wikipedia.org/wiki/Null_modem">http://en.wikipedia.org/wiki/Null_modem</a></div>
<div><br></div><div><br></div><div>Note: if both PCs have a parallel printer port, it might be easier to use those instead of serial/usb ports. Timing would also be more accurate in that case.</div><div><br></div><div>Best,</div>
<div>Paul</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 9 April 2014 22:29, Julia Shin <span dir="ltr"><<a href="mailto:jshin@psych.udel.edu" target="_blank">jshin@psych.udel.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi all, <div><br></div><div>So I was fishing through all trigger-related questions in this group, but I have yet to find a solution that would help me with my problem :( I am also a newbie in running trigger so I apologize in advance if my questions look really easy... </div>
<div><br></div><div>So I am trying to run an experiment with a desktop computer that would send a trigger signal to another computer telling the other computer to play <u>a sound file</u> when the signal is sent. Basically the gist of the experiment is that we want the other computer to play a sound file which is a mp3 file of a metronome (120 bpm) while the main computer sends stimulation to the participant and collecting their responses. We can easily do this by playing the metronome sound file in mp3 player but we want to control when the stimulation would happen in accordance with the metronome sound so I think that is why we want to go with the trigger option. </div>
<div><br></div><div><ul><li>My first questions is: for the receiving end of the computer do I have to have the E-Prime experiment up and running to receive the signal from the main computer?</li></ul><div><span style="line-height:17px"><br>
</span></div><ul><li>Second question: I used Serial.WriteString SoundOut1.Play (or run) and Serial.ReadString SoundOut1.Play (or run) but E-Prime kept saying Play/Run was not a property of the object. What syntax do I have to use to signal the other computer to play the sound file? And what syntax do I have to use for receiving signal from the main computer to run the sound file when prompted? Is this why my E-prime keeps crashing whenever I tried to run the e-prime experiment for signal receiving computer? <span style="line-height:normal">I added Serial to Device option in Experiment tab in E-Prime with correct com port and baud rate. Though, is it common to have different com port number for the main computer and the receiving computer? </span></li>
</ul></div><div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div>So here is the syntax for Serial.WriteString that is placed in InLine that is placed in the beginning of the experiment: </div></blockquote>
<div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div>Dim strData As String</div></div><div><div>strData = "SoundOut1.Play"</div></div><div><div>Serial.WriteString strData</div></div>
<div><br></div><div>Then here is the syntax for Serial.ReadString. I just copied this straight from the BasicSerial.es sample in PSTNET:</div><div><br></div><div><div>' Just hold the experiment here until some bytes</div>
</div><div><div>' arrive over the serial port.</div></div><div><div>Dim str As String</div></div><div><div>Dim n As Long</div></div><div><div><br></div></div><div><div>Debug.TimeStampsEnabled = True</div></div><div><div>
Do While Serial.InputCount = 0</div></div><div><div>Loop</div></div><div><div><br></div></div><div><div>' Read the data that came in</div></div><div><div>n = Serial.ReadString(str)</div></div></blockquote><div><br></div>
<div><br></div><div><ul><li>Third question: Does the trigger syntax for usb-to-serial port cable differ from trigger syntax for serial port? I thought they would be the same but I just want to confirm that there is no problem with the cable here. When I plugged in the cable, both receiving and main computers installed the drivers and I didn't see any warning signs saying that the cables were not working properly. <br>
</li></ul></div><div><br></div><div>Sorry that I am asking hundred questions at the same time. But I would greatly appreciate your help...I went through the FAQ page relating to trigger on PSTNET but they mostly seem to have helpful answers for parallel ports. </div>
<div><br></div><div>Thank you!</div><div>Best,</div><div>Julia Shin </div><span class="HOEnZb"><font color="#888888"><div><br></div><div><br></div></font></span></div><span class="HOEnZb"><font color="#888888">

<p></p>

-- <br>
You received this message because you are subscribed to the Google Groups "E-Prime" group.<br>
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="mailto:e-prime+unsubscribe@googlegroups.com" target="_blank">e-prime+unsubscribe@googlegroups.com</a>.<br>
To post to this group, send email to <a href="mailto:e-prime@googlegroups.com" target="_blank">e-prime@googlegroups.com</a>.<br>
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/e-prime/8542792e-4210-4527-a09a-4fdc590d4567%40googlegroups.com?utm_medium=email&utm_source=footer" target="_blank">https://groups.google.com/d/msgid/e-prime/8542792e-4210-4527-a09a-4fdc590d4567%40googlegroups.com</a>.<br>

For more options, visit <a href="https://groups.google.com/d/optout" target="_blank">https://groups.google.com/d/optout</a>.<br>
</font></span></blockquote></div><br></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups "E-Prime" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="mailto:e-prime+unsubscribe@googlegroups.com">e-prime+unsubscribe@googlegroups.com</a>.<br />
To post to this group, send email to <a href="mailto:e-prime@googlegroups.com">e-prime@googlegroups.com</a>.<br />
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/e-prime/CAKAdR-tRU7DxWqfW6MFaeO2oMDwZdvwcbmspbFd3Kr11SXcDHQ%40mail.gmail.com?utm_medium=email&utm_source=footer">https://groups.google.com/d/msgid/e-prime/CAKAdR-tRU7DxWqfW6MFaeO2oMDwZdvwcbmspbFd3Kr11SXcDHQ%40mail.gmail.com</a>.<br />
For more options, visit <a href="https://groups.google.com/d/optout">https://groups.google.com/d/optout</a>.<br />