quDIS-protocol
|
USB is the primary interface to control the quDIS from a PC. The USB resources used are:
Vendor ID: 0x16C0
Product ID: 0x055B
Interface Number: 0x00
Endpoint for Sending: 0x02
Endpoint for Receiving: 0x86
Although a single telegram never exceeds 512 Bytes, it is useful to use much bigger transfer sizes if performance is an issue.
For MS Windows, a driver is required that is bound to the VID/PID mentioned above. N-Hands provides a signed driver packet based on "libusb for Windows" that can easily be accessed via the userspace lib of libusb.
For Linux, no dedicated driver is required. It turned out that a stable connection can be achieved with libusb 1.0 more easily than with the (incompatible) libusb 0.1 .
The ethernet connection is based on TCP/IP, control is possible on socket level. It is recommended to place controller and PC in the same subnet because UDP broadcasting is used to discover the devices.
The devices are using static IP adresses that can be set by the user. On delivery, the IP address is not initialized and has to be configured in an initial session with USB connection. Start daisy and drag "ethernet.ngc" from the file manager to the program window. The TCP port number is constant and cannot be configured: 2101/TCP
.
Programs may use the static address to contact the device but also a discovery mechanism is supported (restricted to the local network segment): The device will send a UDP answer to the sender's IP/Port if it receives the following UDP multicast packet: Target address 239.255.170.171
, port 7071
, data (ASCII) "N-Hands discovery"
.