The package contains high-level I/O functions for TCP/IP data transfer via Ethernet between PCs and Vision Components smart cameras.
Why a new library ?
Both PC and camera have standard low-level libraries, which support TCP/IP communication.
Our library is based on these low-level libraries, but it simplifies the creation of communication software. It frees you from the necessity to
read confusing pages with function descriptions and numerous options and to guess which option(s) you should use in your code. We provide solutions working in practice.
Using the library you are able to:
- Create fully portable code, which is identical on camera and PC with minor exceptions (different general-purpose headers).
- Easily create, connect, disconnect and close sockets (abstractions used to identify TCP/IP end-points).
- Use reliable stream sockets in two connection modes: server and client.
- Use simultaneously multiple data sockets and one listen socket.
- Use default socket options (send/receive buffer size, connection timeouts, etc.), which usually are not enabled, or may have unsuitable default values.
- Use stable and reliable byte and block transfer functions. These functions check the socket state and its readiness before each send/receive operation.
They handle properly non-fatal (busy) errors, which should not abort the transfer. All receive function support timeouts.
- Keep track of connected remote peer parameters.
The library functions are divided in two groups:
- Basic TCP library. Basic TCP/IP functions for server/client connection and data
transfer between remote peers. Contains functions for library initialization, connection and disconnection, byte and block oriented data transfer functions.
- VIMOS TCP library. High-level functions for communication with VIMOS I/O tools. These functions include image transfer and transfer of standart VIMOS data structures. They
can also be used without VIMOS, for instance by pairing a 'Send image' function on the camera with a 'Receive image' function on the PC. For more information about VIMOS visit http://www.vimos.com