Chris Posted December 22, 2015 Report Share Posted December 22, 2015 I used a USB-6001 DAQ unit for a Quiz Buzzer game that worked down to an accuracy of 1ms - great no problems . However having to wire up all the buzzers (up to 13) each time was becoming a pain and it doesn't scale very well, so I was looking at using tablets (probably Android based) to transmit over WiFi a virtual buzzer press. But then of course you have all the latencies etc. of the TCP/IP packets to contend with. I was wondering if it was possible to use the IEEE 1588-2008 standard (Precision time protocol over ethernet) to get similar accuracies - even up to about 20ms accuracy would be OK over a standard WiFi connection? I was thinking you can send a master clock signal (eg. using someting like the JJ Control uS Clock) from a central LabVIEW server application to all the Clients (Tablets) up to 10 times per second as per the standard to keep clocks synchronised. I had a look, but couldn't find a IEEE 1588-2008 LabVIEW toolkit - is there one available? If not is there a simple way of achieving this? Thanks Chris Quote Link to comment
hooovahh Posted December 22, 2015 Report Share Posted December 22, 2015 What are the tablets running? In a Windows environment you could synchronize all their clocks (to the ms) then when your program runs, send over TCP the time stamp of the event. Then when your host system gets a buzzer, let it wait say 100ms for any other contestants to buzz in with an earlier time stamp. Quote Link to comment
ShaunR Posted December 22, 2015 Report Share Posted December 22, 2015 (edited) Just turning Nagle off would be good enough for a quiz buzzer, wouldn't it? Edited December 22, 2015 by ShaunR Quote Link to comment
Gribo Posted December 22, 2015 Report Share Posted December 22, 2015 There is an open source IEEE1588 daemon here: https://github.com/ptpd/ptpd Quote Link to comment
Chris Posted December 23, 2015 Author Report Share Posted December 23, 2015 Thanks for all the good answers. 1) Unfortuantely the Tablets will be probably be running Android, because they are A LOT cheaper than a Windows based Tablet and I need to get around 20-30 of them. 2) I was thinking what the hell is Nagle, but a quick Google search provided the answer... http://www.optimizemswindows.com/disable-nagle-algorithm-to-increase-your-internet-speed-for-quick-response/ Gee if that works it will be really simple - thanks. 3) Thanks Gribo for the link to the IEEE1588 Daemon. I've never had to work with C libraries so I wouldn't have a clue where to start, but if Shaun's idea doesn't work it looks like I'll have to do a bit of research. Chris Quote Link to comment
ShaunR Posted December 23, 2015 Report Share Posted December 23, 2015 2) I was thinking what the hell is Nagle, but a quick Google search provided the answer... http://www.optimizemswindows.com/disable-nagle-algorithm-to-increase-your-internet-speed-for-quick-response/ Yes. I tried posting a link to the wikipedia page but the editor kept truncating the address. hopefully this works for you. You are after the TCP_NODELAY option of SocketImpl (set to true) Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.