Requirements
Licence
How LumiScan QR Code Reader is licensed depends on where you bought it and where it runs:
| Bought from | Runs on | Licensing |
|---|---|---|
HD Vision Systems |
Windows 11 or Ubuntu 24.04 |
The licence is held on your LumiScan Key. It is a one-time purchase and needs no renewal. |
ctrlX Store |
Windows 11 |
The licence is held in ctrlX WORKS. The LumiScan Key is required in addition; it protects the software against reverse engineering. |
ctrlX Store |
ctrlX OS (ctrlX CORE or IPC) |
ctrlX licence |
Each device on which LumiScan QR Code Reader runs at the same time needs its own LumiScan Key. Keys can be exchanged between devices.
How to install CodeMeter Runtime and how to request, renew and move licences is described in LumiScan Licensing.
On ctrlX OS, the licence is checked for up to ten seconds during start-up; if none becomes available, the reader shuts down and the reason is written to the system log.
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.
An image source on the same Data Layer
The application reads its images from another application’s Data Layer image node.
On ctrlX OS: that application must run on the same ctrlX CORE or ctrlX IPC — remote Data Layer access is not supported.
On a PC: that application must be connected to the same LumiScan Keryx broker as the reader (see LumiScan Keryx on a PC).
In practice this is LumiScan Cam Driver, but any application works as long as the node named in
input/image-address provides these four children:
| Node | Type | Description |
|---|---|---|
|
array of uint8 |
Raw, uncompressed pixel data |
|
uint64 |
Image width in pixels |
|
uint64 |
Image height in pixels |
|
string |
GenICam pixel format name |
Supported pixel formats
Mono8, Mono12, RGB8, RGB12, BGR8, BGR12, Bayer_GR8, Bayer_RG8, Bayer_GR12,
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 |
Storage
Reading a code stores nothing: there is no reference image and no module list, and the address in
input/image-address lives on the Data Layer.
The image stream (experimental) keeps two things in the application’s configuration directory (see
Kept in the settings file): its
stream mode and what it subscribes to, in qr-code-reader.json, saved there as they change, and what
each settings hash stands for, in settings-history/ - one small JSON file per hash, never deleted. See
Reading Codes on an Image Stream.