@obinexusltd/labview-polycall
v1.0.0
Published
LabVIEW Call Library Function Node source binding for libpolycall 1.5
Maintainers
Readme
@obinexusltd/labview-polycall
LabVIEW Call Library Function Node binding for libpolycall 1.5. The adapter exports one stable C function:
int32_t labview_polycall_run_config(const char *config_path);That function forwards directly to:
polycall_ffi_run_config(config_path, 1)Configuration parsing, validation, networking, and runtime policy remain in libpolycall. This package contains no language-specific parser or duplicated runtime logic.
Install the source package
npm install @obinexusltd/labview-polycallThe npm package publishes the complete adapter source, headers, build files,
Call Library Function Node metadata, configuration, examples, and tests. In
Node.js, require('@obinexusltd/labview-polycall') returns absolute paths to
those packaged files.
LabVIEW .vi files are binary and version-specific, so this source package
ships a reproducible node configuration rather than an opaque generated VI.
Requirements
- LabVIEW with the same architecture as the adapter library
- libpolycall 1.5 development library and headers
- a C11 compiler and GNU Make
Build
Build the standalone adapter archive without linking libpolycall:
makeBuild the shared library by supplying the linker flags for libpolycall:
export POLYCALL_LDFLAGS='-L/path/to/lib -lpolycall'
make nativePowerShell uses the same variable:
$env:POLYCALL_LDFLAGS = '-LC:\path\to\lib -lpolycall'
make nativeThe result is one of:
lib/labview_polycall.dlllib/liblabview_polycall.solib/liblabview_polycall.dylib
The compiler target and LabVIEW process must both be 32-bit or both be 64-bit.
Configure LabVIEW
Add a Call Library Function Node and use these settings:
- Function:
labview_polycall_run_config - Calling convention:
C - Return:
Numeric → Signed 32-bit Integer - Input:
config_path,String → C String Pointer - Thread:
Run in UI threadas the conservative default
The complete wiring procedure is in
examples/CALL_LIBRARY_FUNCTION_NODE.md.
The same settings are available as machine-readable metadata in
labview-interface.json.
Wire an I32 zero status as success. Every non-zero value is returned unchanged from libpolycall and can be mapped into your application's error cluster.
Verification
npm testThe suite verifies exact path forwarding, the required validation flag, status propagation, ABI types, Call Library Function Node metadata, thin-adapter constraints, and npm package completeness.
Package layout
src/— LabVIEW-safe C adapter and Windows export definitioninclude/— public adapter C headergenerated/polycall/— minimal generated core FFI declarationexamples/— node wiring guide and sample configurationtests/— core mock, ABI forwarding test, and npm package testlabview-interface.json— exact Call Library Function Node settings
Author and license
Copyright © 2026 Nnamdi Michael Okpala [email protected].
Released under the MIT License.
