Asynchronous Lifecycle & Task Engine for LabVIEW
TLC_Daemon is a lightweight LabVIEW toolkit for launching, controlling, and stopping asynchronous background tasks in a clean, object-oriented way. It defines a systematic way to pass data to tasks and stop them cleanly, through a well-defined and reusable structure.
Example
When building LabVIEW applications with background operations (data acquisition loops, communication handlers, monitoring tasks) managing asynchronous VIs typically requires repetitive boilerplate: obtaining VI references, handling stop signals, waiting for completion, and retrieving results. TLC_Daemon encapsulates this recurring pattern into a consistent framework, so you can focus on the task logic rather than the infrastructure around it.
Features
- OOP-based task lifecycle management (launch, stop, destroy)
- Cooperative soft-stop mechanisms with pluggable implementations
- Built-in support for boolean notifier, boolean user event, and message user event stop patterns
- Standard connector pane contract for consistent data passing
- Lazy state synchronization, lightweight and non-intrusive
- Extensible: custom tasks and stop mechanisms via ITask and IStopMechanism
Typical use cases
- Background data acquisition loops
- Asynchronous communication handlers
- Long-running monitoring or logging tasks
- Any scenario requiring controlled startup and shutdown of async VIs
Installation
Install with VI Package Manager: search for TLC Daemon in the VI Package Manager Community repository.
Manual installation: download the latest package from GitHub: Releases · andcadev/TLC_Daemon
Getting starded
To create a new task class, open LabVIEW and go to Tools > TLC > Daemon > New ITask Class. This will create a new class that implements ITask, ready to be customized with your task logic.
To explore working examples, open the Example Finder and search for daemon, or go to Tools > TLC > Daemon > Examples to browse them directly.
Source Code & Documentation
The source code and full documentation are available on GitHub: https://github.com/andcadev/TLC_Daemon
License
TLC_Daemon is released under the MIT License.