FAQ

Short answers to common questions about LumiScan Cam Driver. Each entry links to the page with the details. Problems and error messages are described in Troubleshooting.

Each entry has a fixed anchor (for example #faq-licence-v2). To find an error message, search the Troubleshooting page for it.

Requirements and setup

Which cameras can I use, and how many per installation?

Answer

The Cam Driver runs on a ctrlX CORE (ctrlX OS, with the ctrlX Data Layer) or on a PC with Windows 11 or Ubuntu 24.04 (with LumiScan Keryx), and needs an Ethernet-enabled, GenICam-compliant camera, powered via PoE or an external power supply. The node addresses are the same on both platforms. It has been tested with selected cameras from Basler, Baumer, IDS, LUCID Vision Labs, Hikvision and Balluff; GenICam implementations vary, so verify all required functions before deployment. From v2.0.0, one installation can operate several cameras: each camera is a module with its own configuration and Data Layer address (for example hdvisionsystems/lumiscan-cam-driver/camera1), and each connected camera needs its own licence.

More

Requirements, Description, ctrlX Data Layer and LumiScan Keryx

How do I connect a camera to a ctrlX CORE X3?

Answer

(ctrlX OS) The manual describes two topologies. After either one, assign the camera a unique IP address and test packet delay values until image acquisition is stable.

  • Shared Ethernet switch: camera, engineering computer and port XF10 on a switch that supports jumbo frames. XF10 uses 192.168.1.1, so do not assign that address to the camera or the computer.

  • Direct connection: camera directly on XF10, engineering computer on XF51. Give XF51 a static IPv4 address in a different subnet from XF10 (for example 192.168.42.203) and note it, because ctrlX WORKS might not discover the X3 automatically.

More

Hardware Setup for ctrlX X3

How do I set the IP address of a camera?

Answer

Use the force-IP function under hdvisionsystems/lumiscan-cam-driver/system/force-ip/. It also works when the camera is not detected normally (for example because its subnet does not match the ctrlX CORE or the PC), as long as it is reachable over the same network connection.

  • Read the camera’s MAC address from system/found-camera-mac-addresses (same position in the list as its serial in system/found-camera-serials).

  • Set gateway, ip, subnet and the camera’s MAC address.

  • Wait until ready is true, set request to true, then back to false.

  • When ready is true again, system/found-camera-ip-addresses shows the new address. If it does not, use the camera supplier’s program to set the IP.

More

Setup Camera IP Address, Force IP configuration of camera

Configuration

Where are the configuration files, and how do I add a camera?

Answer

lumiscan-cam-driver.json holds the application settings and lists the camera configuration files to load; each further file (for example camera_example.json) configures one camera.

  • On ctrlX OS: in the ctrlX OS web interface, open Home > Manage app data, select File View from the three-dot menu and open the lumiscan-cam-driver folder. To add a camera, copy an existing camera file (three dots > COPY), give it a new name, enter that name in the list of camera configuration files in lumiscan-cam-driver.json, and restart the application.

  • On a PC: the files are ordinary files in the folder the Cam Driver reads its settings from; the Cam Driver names it when you write an example with --generate-settings. On Windows this is %APP_RESOURCE_DIR%\etc\lumiscan-cam-driver, or by default C:\ProgramData\HD Vision Systems GmbH\LumiScan Vision Suite\lumiscan-cam-driver\etc\lumiscan-cam-driver. Copy a camera file under a new name, enter it in lumiscan-cam-driver.json and restart the Cam Driver.

  • On both: system/settings shows and changes the files on the Data Layer, and system/control/create-module and activate-module add a camera module; then restart with system/control/restart/execute.

More

Setup Camera Configuration, Creating New Camera Settings Files, Adding and removing modules

Which settings does a camera configuration file contain?

Answer

inputFileType must be camera-configuration. The camera settings are id (must be unique across all camera settings; it is the module’s name on the Data Layer and may contain only lower-case letters, digits, - and _), serial (a serial containing simulation makes the camera simulated), exposureTimeUS, pixelFormat (RGB8 or Mono8), timestampSource (Camera or System; from v2.0.0 the camera timestamp is the default) and, optional and experimental, stream.tag. Parameters can be overridden on the Data Layer under …​/input/. Restart the application after changing the file.

More

Camera Example File Content Example

How do I change other GenICam features of the camera?

Answer

Connect the camera, then edit the nodes under hdvisionsystems/lumiscan-cam-driver/<camera name>/features. Their names, values, permissions and descriptions come directly from the camera; refer to the camera vendor’s documentation. Values are written directly to the camera, so take care with network settings. This feature is marked experimental: values are not cached, and setting them repeatedly (for example from a PLC) can cause camera instability and a performance penalty. A value written to a feature node is lost when the camera is connected again; a feature file listed in the module’s cameras[].featureFiles is applied each time the camera is connected.

More

GenICam features, For the highest frame rate: TriggerOverlap, Release Notes: v2.0.0

How do I save images internally, on USB/SD card or on a Samba share?

Answer

Add a storage block to the system section of lumiscan-cam-driver.json and restart the application. Without it, Save does nothing.

  • type: Null, Internal (internal storage; on ctrlX OS also a USB storage device or SD card) or Samba (Windows shared folder).

  • Internal: rootPath. A relative path stores in the application’s internal directory. On ctrlX OS, a path starting with the mounted device path (for example /media/sdb1/myCapturedImages) stores on that device; USB/SD devices must use FAT32 or EXT4 and be mounted under Settings > Storage Devices.

  • Samba: ip, remotePath, domain ("" if there is none), username, password. The password is stored in clear text, so do not use a regular user account.

  • From v2.2.0, unifiedStorage (default false: one folder per camera) set to true makes all cameras use the storage folder directly.

More

Storage settings, Saving Image Files

Operation

Should I use the execute method or the ready/request handshake?

Answer

Both lead to the same result. From v2.1.0, capture, save, load, remove and list-images can be started with one write to <camera name>/control/<operation>/execute, which returns when the operation has finished; from v2.3.0, trigger is offered as an execute method only. connect-camera, disconnect-camera and reset have no execute node and must use the handshake. Only one process may write request at a time, and in both cases you check control/status/code and control/status/text afterwards. Handshake steps:

  • Wait until ready is true.

  • Set request to true, and wait until ready changes to false: the application has seen the request.

  • Set request to false, wait for the operation to finish and read its outcome on control/status/code.

  • A failed capture through the handshake ends at status 3 (waitingForClient), not at its own error code, and capture/ready stays false until a reset succeeds. capture/execute keeps the capture’s own code.

More

Execute a Method, When a Functionality Runs, Handshake

Where do I find the captured image, and how can I view it?

Answer

The image is published on hdvisionsystems/lumiscan-cam-driver/<camera name>/output/image together with width, height and pixel type, regardless of how the capture was started. This is raw sensor data that most viewers cannot display. From v2.1.0, switch on <camera id>/input/preview/enable to get a PNG on <camera id>/output/preview/encoded-data after each successful capture or load; <camera id>/input/preview/scale (0.0 to 1.0) makes it smaller. Compare output/package-identifier to check that the preview belongs to the latest image. To receive every image the camera delivers, use the experimental image stream on <camera name>/control/publish/output/stream/frame (from v2.3.0).

More

Description, Streaming Images (Experimental), Release Notes: v2.1.0

How does simulation mode work?

Answer

Give the camera a serial that contains simulation (for example simulation); the module then does not search for or connect to a real camera. Whether a camera is simulated depends on its serial, not on its id. Calling Capture loads an image from the configured storage folder and advances to the next image for the next capture. Since v2.0.0, the images are taken from images/<camera id> instead of images (move existing images before updating), and the folder is scanned on connection, so calling list-images is not needed. From v2.2.0, unifiedStorage set to true uses the storage folder directly.

More

Loading Images, Camera Example File Content Example, Release Notes: v2.0.0

How do I receive every image instead of one per capture?

Answer

From v2.3.0, use the experimental image stream. Connect the camera, set its features (for the highest frame rate, TriggerOverlap not Off), subscribe to <camera name>/control/publish/output/stream/frame, set control/publish/input/enable to true and call control/publish/execute. The Cam Driver does not trigger the camera by itself: images come on a hardware trigger, on control/trigger/execute, or continuously with the trigger mode off. While the stream runs, capture is not available; after the stream stops, the camera is connected again, which takes about two seconds on the camera we tested.

More

Running a stream, Streams

Licensing and support

Which licence do I need, and why does my old licence no longer work?

Answer

From v2.0.0, the Cam Driver needs the licence SWL-W-XCx-CAMDRIVERxHDVSx-V2NN; version 1 keys do not work. You need one licence per connected camera. On ctrlX OS (ctrlX CORE or IPC), a licence bought in the ctrlX Store is a ctrlX licence and needs no LumiScan Key. For other purchase routes, see the Licensing FAQ.

More

Requirements, Licensing FAQ

Where can I find more answers or get support?

Answer

See the site-wide LumiScan FAQ, and for questions about the Data Layer itself the Data Layer FAQ. Contact HD Vision Systems customer success at customer.success@hdvisionsystems.com or +49 6221 6721905; for licences, licenses@hdvisionsystems.com.

More

Licensing FAQ