I saw that ChiliPeppr SPJS has been updated to handle two USB connections to

I saw that ChiliPeppr SPJS has been updated to handle two USB connections to TinyG running on an Arduino Due. Now then, the two USB connections, is that that for speed or for enhanced control?

I’m asking because there’s a distance between my PC running SPJS and the Due, so do I need two (long) USB cables or is a USB hub near the Due ok … (?)

The G2 use two USB endpoints on the same interface, so you won’t need more than one cable.

You may want to review these two G2 wiki items

I second what Mattias said. I would also recommend just use a Raspberry Pi 2 and do ethernet if you’re worried about length. Maybe even do Wifi on the Raspi. The version that is checked into Github right now is 1.81 and it does support the dual USB but it only connects to the first port for now, which is fine for running stuff. I’ll let @Alden_Hart explain why the two USB endpoints were interesting for TinyG2.

Thanks all.

Dual USB endpoints are so that you can support a separate data channel and control channel. The data channel can pile up a tom of Gcode and block, the control channel is always clear. It’s a 2 queue system. This is common practice in communications systems. This is implemented as dua| USB endpoints. There is on|y one USB cab|e - we use USB to mu|tip|ex 2 channe|s.

I shou|d add that dua| endpoint operation is in addition to the “c|assic” sing|e endpoint communications, which a still work, and work better in G2 than TinyG as we don’t have the FDTI USB chip in the conversation. See this Issue for a discussion - starting about 4 posts in:

Gor it, thanks.

One physical connection carrying two logical connections. Didn’t know that was possible with USB…