Hi,
as far as I know, the best way to synchronize with the EGI is to implement an NTP client which connects to the NTP server running on the Netstation machine and keeps updated a local clock. By this way, there’s no need to explicitly send a sync command at the beginning of each trial (which by the way comes at the cost of an RTT): you just query the local clock. Some while ago (as part of the PsyScope project) I’ve implemented a little C module (and relatile python wrapper) that does exactly that, running the NTP exchange on a thread. On a direct network connection, the precision was below the millisecond.
I’ve also coded a couple of C modules which implement the Netstation protocol.
If someone is interested in having a look, I’m happy to share.
Cheers,
Luca