Data Layer Reference
All nodes live under the application’s base path:
hdvisionsystems/lumiscan-qr-code-reader/
The paths below are given relative to it. A single read uses four nodes; the image stream (experimental) adds the nodes listed under Image stream, and System says what its source must hold.
Data Layer
LumiScan QR Code Reader offers its functions on the Data Layer under hdvisionsystems/lumiscan-qr-code-reader.
On ctrlX OS (ctrlX CORE or ctrlX IPC), LumiScan QR Code Reader uses the ctrlX Data Layer.
On a PC with Windows 11 or Ubuntu 24.04, LumiScan QR Code Reader uses LumiScan Keryx.
The node addresses, types and call patterns are the same on both. LumiScan QR Code Reader offers:
-
a stream subscription to one source (experimental)
-
no module level: its nodes are directly under
hdvisionsystems/lumiscan-qr-code-reader
How addresses are built, how to call functions, the status codes and the tools are described in LumiScan Keryx.
Node tree
hdvisionsystems/lumiscan-qr-code-reader/
├── input/
│ ├── image-address (string) address of the image node to read
│ └── parameter (flatbuffers) detection parameters
├── execute (method) read every QR code in that image
├── output/
│ └── results (flatbuffers) one entry per code found
├── control/
│ ├── subscribe/ the image stream (experimental)
│ │ ├── execute
│ │ ├── input/{enable,address,tag,queue-size,keep-latest-output}
│ │ └── output/stream/... the image stream's results
│ └── unsubscribe/{execute,input/address}
├── setting/{stream,settings-hash}
└── system/meta/subscription-schema (string) what the stream's source must hold
Input
| Node | Type | Access | Description |
|---|---|---|---|
|
string |
read, write |
Address of the Data Layer image node to read. The reader appends |
|
flatbuffers |
read, write |
Detection parameters, type
|
|
|
Method
| Node | Blocking | Effect |
|---|---|---|
|
Yes |
Reads the image at |
Output
| Node | Type | Access | Description |
|---|---|---|---|
|
flatbuffers |
read |
Every code found by the last successful run, type
|
Image stream (experimental)
The reader reads every frame of the Cam Driver stream it subscribes to, as execute reads an image,
and publishes one result per frame. See
Reading Codes on an Image Stream.
| Node | Type | Access | Description |
|---|---|---|---|
|
bool |
read, write |
Stream mode: |
|
string |
read, write |
The one source: a camera’s stream folder, for example
|
|
string |
read, write |
The tag on the reader’s results: the reader’s step in the lineage of each stream result carries
it. Empty: the reader’s name, |
|
uint32 |
read, write |
How many frames may wait while a frame is read, 1 to 64. |
|
bool |
read, write |
|
|
string |
read, write |
The source to drop, as |
|
as the inputs |
read |
What |
|
string |
read |
The hash of what the results are made with, as 16 hex digits. |
|
bool |
read |
|
|
flatbuffers |
read |
One result per frame read, type |
|
string |
read |
Why the last frame that could not be read failed, naming the source by its address. |
|
uint64 |
read |
The stream’s counters, see Reading the statistics. |
| Node | Blocking | Effect |
|---|---|---|
|
Yes |
Checks the inputs of |
|
Yes |
Drops the source named by |
The inputs of control/subscribe start with what is applied, and only control/subscribe/execute
applies them. When qr-code-reader.json cannot be written, both methods answer CreationFailed (ctrlX
DL_CREATION_FAILED) and change nothing. A refused call answers Rejected (ctrlX DL_INVALID_VALUE).
See Results of a method call.
System (experimental)
| Node | Type | Access | Description |
|---|---|---|---|
|
string |
read |
What the node the reader subscribes to must hold: a JSON Schema (draft-04) of its JSON form. Here
the |
Not present in this version
Operators coming from the other LumiScan applications should know what this one does not publish:
-
No status node. There is no
status-codeorstatus-text; a failed run is reported in the application log only (the ctrlX OS system log on ctrlX OS), and leavesoutput/resultsholding the previous run’s codes. -
No data identifier. There is nothing to echo back, so a result cannot be correlated with the request that produced it.
-
No result image. The application renders nothing — no
result-imagenode and noplotmethod. Use LumiScan Cockpit to see the codes drawn on the picture. -
No modules. One reader per installation, at the single base path above.
-
No region of interest. Every run searches the whole image.