Configuring the Camera and Host System¶
Contents
Installing the Ethernet Driver¶
Lucid Vision Labs recommends updating to the latest version of your Ethernet adapter’s driver before connecting your camera. You may need to navigate to the manufacturer’s website to find the latest version of the driver.
Device Discovery and Enumeration¶
Lucid cameras are discovered and enumerated with the following process:
Camera IP Setup¶
There are three methods used by this camera to obtain an IP address:
- Persistent - The camera uses a fixed IP address
- Dynamic Host Configuration Protocol (DHCP) - The camera is assigned an address from a DHCP server
- Link-Local Address (LLA) - The camera obtains an address in the Link-Local Address range from 169.254.1.0 to 169.254.254.255
A Link-Local Address is selected with a pseudo-random number generator, so an LLA address cannot be reliably predicted. If you require a consistent IP address, you should set up a persistent IP on the camera. For more information on Link-Local Address selection, refer to Section 2.1 in RFC 3927. |
The camera must be on the same subnet as the Ethernet adapter and have a valid IP address before use. | |
Persistent IP and DHCP configurations can be disabled on the camera. The default camera configuration is as follows:
Persistent IP | Disabled |
DHCP | Enabled |
LLA | Enabled (always enabled) |
Out of the box, the camera first attempts to connect using DHCP. If the camera is unable to connect using DHCP, it will use Link-Local Addressing.
Setting Up Persistent IP¶
The following pseudocode demonstrates how to set up persistent IP:
1 2 3 4 5 6 7 | // Connect to camera
// Get device node map
GevPersistentIPAddress = 192.168.0.10; //Enter persistent IP address for the camera
GevPersistentSubnetMask = 255.255.255.0;
GevPersistentDefaultGateway = 192.168.0.1;
GevCurrentIPConfigurationPersistentIP = true;
|
Bandwidth Management¶
Jumbo Frames¶
Lucid recommends enabling jumbo frames on your Ethernet adapter. A jumbo frame is an Ethernet frame that is larger than 1500 bytes. Most Ethernet adapters support jumbo frames, however it is usually turned off by default.
Enabling jumbo frames on the Ethernet adapter allows a packet size of up to 9000 bytes to be set on the HTW003S. The larger packet size will enable optimal performance on high-bandwidth cameras, and it usually reduces CPU load on the host system. In order to set a 9000-byte packet size on the camera, the Ethernet adapter must support a jumbo frame size of 9000 bytes or higher.
The following table shows some of the Ethernet adapters that Lucid Vision Labs has tested:
Product Name | Maximum Jumbo Frame Size (bytes) |
---|---|
ADLINK PCIe-GIE64+ | 9000 |
PCIE-10GETH2-BC* | 9174 |
PCIE-10GPOE2-LUCID* | 9174 |
Neousys PCIe-PoE354at | 9500 |
Intel EXPI9301CT (non-POE) | 9000 |
ioi GE10P-PCIE4XG301 | 16000 |
ioi DGEAP2X-PCIE8XG302 | 16000 |
*RDMA-compatible cards supplied by LUCID. These cards both contain the BCM57416 ASIC.
If you still experience issues such as lost packets or dropped frames, you can also try the following:
- Update the Ethernet adapter driver (you may need to enable jumbo frames again after updating).
- Increase the receive buffer size in your Ethernet adapter properties.
- Reduce the DeviceLinkThroughputLimit value (this may reduce maximum frame rate).
Receive Buffers¶
A receive buffer is the size of system memory that can be used by the Ethernet adapter to receive packets. Some Ethernet adapter drivers or the operating system itself may set the receive buffer value to a low value by default, which may result in decreased performance. Increasing the receive buffer size, however, will also increase system memory usage.
Device Link Throughput Limit¶
The Device Link Throughput Limit is the maximum available bandwidth for transmission of data represented in bytes per second. This can be used to control the amount of bandwidth used by the camera. The maximum available frame rate may decrease when this value is lowered since less bandwidth is available for transmission.
User Sets, Streamables, and File Access¶
User Sets¶
The HTW003S features two customizable user sets to load or save user-defined settings on the camera. Accessing the user set named Default will allow loading or saving of factory default settings. The HTW003S will load the user set selected in UserSetDefault when powering up or when reset.
If the camera is acquiring images, AcquisitionStop must be called before loading or saving a user set. | |
Streamables¶
A camera feature marked as Streamable allows the feature’s current value to be stored to and loaded from a file.
File Access¶
The HTW003S features persistent storage for generic file access on the camera. This feature allows users to save and load a custom file up to 16 megabytes with UserFile. Users can also save and load User Set contents to and from a file.
Loading new firmware on to the camera may overwrite existing UserFile contents. | |
The following pseudocode demonstrates how to read from the camera using file access:
1 2 3 4 5 6 7 8 9 10 | // Connect to camera
// Get device node map
FileSelector = UserFile1;
FileOpenMode = Read;
FileOperationSelector = Open;
FileOperationExecute();
// Device sets FileOperationSelector = Close
// Read custom file from camera
FileOperationExecute();
// Device sets FileOperationSelector = Open
|
The following pseudocode demonstrates how to write to the camera using file access:
1 2 3 4 5 6 7 8 9 10 | // Connect to camera
// Get device node map
FileSelector = UserFile1;
FileOpenMode = Write;
FileOperationSelector = Open;
FileOperationExecute();
// Device sets FileOperationSelector = Close
// Write custom file to camera
FileOperationExecute();
// Device sets FileOperationSelector = Open
|
User Sets, Streamables, and File Access functions do not load or save camera IP configuration settings. | |