FAQ

Short answers to common questions and error messages for LumiScan QR Code Reader. Each entry links to the page with the details.

Search this page for the exact error message. Each entry has a fixed anchor (for example #faq-failed-run).

Requirements and setup

Which codes does the reader read?

Answer

It reads QR codes, the 2D symbology with a square finder pattern in three corners. Every code found in the image is reported; there is no limit of one per run. No template, reference picture, training step or configuration is needed: you give the reader the address of an image and call execute.

More

Description

Which image source does the reader need?

Answer

The reader does not talk to a camera itself. It reads the image node named in input/image-address, published by another application on the same Data Layer - on ctrlX OS the same ctrlX CORE or ctrlX IPC (remote Data Layer access is not supported), on a PC the same LumiScan Keryx broker - normally LumiScan Cam Driver, for example hdvisionsystems/lumiscan-cam-driver/camera1/output/image. The node must provide data (raw, uncompressed uint8 pixel data), width, height and pixel-type (GenICam pixel format name). Give the address of the image node itself, not of its data child: the reader appends /data, /width, /height and /pixel-type.

More

Requirements, Reading a Code

Which pixel formats are supported?

Answer

Mono8, Mono12, RGB8, RGB12, BGR8, BGR12, Bayer_GR8, Bayer_RG8, Bayer_GR12 and Bayer_RG12. The name is matched without regard to case, and the underscore may be left out of the Bayer names (BayerGR8 and bayer_gr8 are the same format). Bayer images are converted to colour before the search. Any other pixel format is refused, and the run produces no result. The image data must be at least width x height x bytes-per-pixel bytes for the declared format; a shorter buffer is refused.

More

Requirements

Reading codes

How do I read a code?

Answer

All paths are relative to hdvisionsystems/lumiscan-qr-code-reader.

  • Write the address of the image node to input/image-address. It is remembered, so set it again only when the image source changes.

  • Write an empty value to the execute method. The call is blocking and returns when the search has finished.

  • Read output/results: it holds every QR code found in that image.

More

Reading a Code

What does a result entry contain?

Answer

output/results is a flatbuffer (CodeDetectResultArray.results) with one entry per code: center (a Point2f with x and y in image pixels), text (the decoded contents), score (how confident the read is) and polygons (the corner points outlining the code). On ctrlX OS, over the ctrlX REST API the numbers come back quoted, as strings, so parse them as numbers. center and text are always present; polygons may be absent for an entry, which means no outline was given, not an error.

More

The Result

How do I know whether a run failed? There is no status-code node.

Cause

This reader publishes no status-code or status-text node and echoes no identifier. A run fails if the image cannot be read: no address set, an address that does not resolve, a missing or short data buffer, or an unsupported pixel format. A failed run leaves output/results untouched, still holding the previous run’s codes.

Solution

Check the application log, where the reason is written (the ctrlX OS system log on ctrlX OS, the console output of the app on a PC), or read output/results before and after the run and compare.

More

Reading a Code, Data Layer Reference

Can I tune the detection, set a region of interest or create modules?

Answer

No, not in this version. input/parameter carries no settings (its DetectionParameters table is empty), so writing to it changes nothing; the image stream does not read it either. There is no region of interest: every run searches the whole image. There are no modules: one reader per installation, at a single base path. There is also no result image; use LumiScan Cockpit to see the codes.

More

Data Layer Reference

How can I see the codes drawn on the image?

Answer

Open LumiScan Cockpit. It lists the reader as a view named qr-code and draws a rectangle around each code, labelled with the decoded text and the score. A code that was located but not decoded has no text and is labelled with its score alone. Cockpit does not draw the results of the image stream yet.

More

The Result

How long does a read take?

Answer

Reading is synchronous: the write to execute returns when the search has finished. How long that takes depends on the image size, since the whole image is searched on every run.

More

Requirements

Image stream (experimental)

How do I read the codes in every frame of a camera stream?

Answer

Use the image stream (experimental). Only control/subscribe/execute applies its inputs: writing an input alone changes nothing. All paths are relative to hdvisionsystems/lumiscan-qr-code-reader.

  • Make sure the Cam Driver’s stream runs (hdvisionsystems/lumiscan-cam-driver/<camera name>/control/publish/output/stream/active is true).

  • Write the camera’s stream folder, for example hdvisionsystems/lumiscan-cam-driver/camera1/control/publish/output/stream, to control/subscribe/input/address.

  • Subscribe to control/subscribe/output/stream/result.

  • Set control/subscribe/input/enable to true, then write to control/subscribe/execute. The results arrive once control/subscribe/output/stream/active is true.

More

Reading Codes on an Image Stream, Streams

Where is the reader’s settings file?

Answer

qr-code-reader.json is in the application’s configuration directory: on ctrlX OS /var/snap/rexroth-solutions/common/solutions/activeConfiguration/lumiscan-qr-code-reader; on a PC (Windows) %APP_RESOURCE_DIR%\etc\lumiscan-qr-code-reader, or without APP_RESOURCE_DIR C:\ProgramData\HD Vision Systems GmbH\LumiScan Vision Suite\lumiscan-qr-code\etc\lumiscan-qr-code-reader. On a PC, lumiscan-qr-code --generate-settings <folder> writes an example. The file is read once, at the start of the application.

More

Kept in the settings file

Licensing and support

Standard or Advanced licence - which one does the reader use?

Answer

If an Advanced licence is available, the application uses it automatically. If none is available, it runs with Standard functions rather than refusing to start.

More

Requirements, Licensing FAQ

Which licence do I need?

Answer

One licence seat covers the reader, since there is one reader per installation. Purchase routes:

  • Bought from HD Vision Systems: the licence is on a LumiScan Key (Windows 11 or Ubuntu 24.04). One LumiScan Key is needed per device running the software at the same time; keys can be exchanged between devices.

  • Bought in the ctrlX Store for Windows 11: ctrlX WORKS plus a LumiScan Key.

  • Bought in the ctrlX Store for ctrlX OS (ctrlX CORE or IPC): a ctrlX licence, no key.

More

Requirements, Licensing FAQ

Where can I find more answers or get support?

Answer

See the site-wide LumiScan FAQ, and for the Data Layer on both platforms 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