API Documentation
Rxn Rover Documentation
- 1. Project description
- 2. Libraries
- 2.1. build_actions.lvlib
- 2.2. RxnRover.lvlib
- 2.3. Experiment File.lvlib
- 2.4. Experiment Manager.lvlib
- 2.5. User Event - Stop.lvlib
- 2.6. File IO.lvlib
- 2.7. JSON Utilities.lvlib
- 2.8. LocalAppData Utilities.lvlib
- 2.9. Project Locations.lvlib
- 2.10. logging.lvlib
- 2.11. Plugin Manager.lvlib
- 2.12. test Message Queue.lvlib
- 3. Classes
- 3.1. Classes overview
- 3.2. Controller Array.lvclass
- 3.3. Generic Optimizer.lvclass
- 3.4. Generic Plugin.lvclass
- 3.5. LC Parser.lvclass
- 3.6. Parameter to Hardware Map.lvclass
- 3.7. Passive Hardware.lvclass
- 3.8. Pump Controller.lvclass
- 3.9. Syringe Pump.lvclass
- 3.10. Temperature Controller.lvclass
- 3.11. User Preferences File.lvclass
- 4. Legal Information
1. Project description
Rxn Rover (pronounced Reaction Rover) is an open-source, general reaction automation software. Similarly, Rxn Rover connects an optimization algorithm - machine learning or non-machine learning - with a reactor and analysis instrumentation to create a self-optimizing system. This system allows the optimizer to control and change the reaction parameters, perform the reaction, analyze the desired results, and choose the next search step with or without human intervention. Designed knowing that each research laboratory and experiment presents different challenges, Rxn Rover supports various optimization algorithms, an array of analysis tools, and a customizable, modular reactor setup to allow for arbitrary reactor designs using provided or user-created plugins. Rxn Rover and its plugins are designed to be easy to use, understand, and modify with little to no programming experience, but complex enough to support intricate, multi-step reactions.
2. Libraries
This section describes the libraries contained in the project.
2.1. build_actions.lvlib
Responsibility: No description found (add content in lvlib description)
Version: 1.0.0.0
2.1.1. Functions
This library has no functions set to non private scope.
2.1.2. Library Constant VIs
|
Note
|
No Constant VIs Found |
2.2. RxnRover.lvlib
Responsibility: No description found (add content in lvlib description)
Version: 1.0.0.0
| Name | Type |
|---|---|
LVClass |
|
LVClass |
|
LVClass |
|
LVClass |
|
LVClass |
|
LVClass |
|
LVClass |
|
LVClass |
|
LVClass |
|
LVClass |
|
Library |
|
Library |
|
Library |
|
Library |
|
Library |
|
Library |
|
Library |
|
Library |
|
Library |
|
Library |
2.2.1. Functions
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
Hardware Subpanels |
|
No description found (add content in vi description) |
|
|
|
Ready Status |
|
Sets the status indicator to display a "Ready" status. |
|
|
|
Remove Control Panel |
|
No description found (add content in vi description) |
|
|
|
Remove Entry |
|
No description found (add content in vi description) |
|
|
|
Set Unsaved Changes in Title |
|
Update the Reaction Rover window title to have an asterisk (*) after the project file location, indicating that there are unsaved changes to the project. |
|
|
|
Update Status Event |
|
No description found (add content in vi description) |
|
|
|
Update Status |
|
Updates the status indicator with new text. |
|
|
|
Update VI List |
|
Fires the Update VI List Event with the provided Controller Array. |
|
|
|
Update Window Title |
|
Updates the window title with the correct experiment name and path. |
|
|
|
Generate New Log Path Event |
|
Update the directory logs will be written to. |
|
|
|
Hardware List Updated |
|
Fires the Update VI List Event with the provided Controller Array. |
|
|
|
Hardware Updated Event |
|
No description found (add content in vi description) |
|
|
|
Message Received Event |
|
No description found (add content in vi description) |
|
|
|
New Hardware Selected Event |
|
No description found (add content in vi description) |
|
|
|
New Hardware Selected |
|
Fires the Update VI List Event with the provided Controller Array. |
|
|
|
New Log Path Event |
|
Event containing a new location to output log files. |
|
|
|
New Parameters Event |
|
This event is fired when a new set of parameters is received from a reactor control plugin. |
|
|
|
New Yield Event |
|
No description found (add content in vi description) |
|
|
|
Process Stopped Event |
|
No description found (add content in vi description) |
|
|
|
Stop Event |
|
Effectively provides a singleton "Stop" event instance. The event instance is created on the first call and returned on all subsequent calls. |
|
|
|
Submit Goal Event |
|
Event containing the new result value. |
|
|
|
VI List Event |
|
No description found (add content in vi description) |
|
|
|
Load Log Config from Preferences |
|
Updates the log configuration based on user preferences. This VI serves as a link between a User Preferences File object and the logging library without directly coupling the two. NOTE: The provided User Preferences object must already be initialized. To view or update the log configuration at runtime, use the logging.lvlib:Set Log Config.vi and logging.lvlib:Get Log Config.vi VIs. |
|
|
|
Save Log Config to Preferences |
|
Stores the log configuration to the provided user preferences object. It does not save the user preferences to a file! This VI serves as a link between a User Preferences File object and the logging library without directly coupling the two. NOTE: The provided User Preferences object must already be initialized. To view or update the log configuration at runtime, use the logging.lvlib:Set Log Config.vi and logging.lvlib:Get Log Config.vi VIs. |
|
|
|
Initialize Analyzer from Experiment Cluster |
|
No description found (add content in vi description) |
|
|
|
Initialize Hardware from Experiment Cluster |
|
Initialize reactor component plugins from the experiment file plugin list. |
|
|
|
Initialize Optimizer from Experiment Cluster |
|
Attempt to load optimizer plugins from the given experiment file. |
|
|
|
Initialize Parameter to Hardware Map from Experiment Cluster |
|
No description found (add content in vi description) |
|
|
|
Load Details and Filter Plugins |
|
Convenience function to check all plugin directories for plugin definitions, load in the details for each plugin, and filter the plugin details by supported plugin types. This function also creates the plugin directories if they do not already exist, in which case no plugins will be loaded since the directories could not have been populated yet. |
|
|
|
Add Analyzer |
|
Adds a new analyzer plugin to the process cache. |
|
|
|
Add Hardware |
|
Adds the reactor component plugin to the plugin list. |
|
|
|
Add Optimizer |
|
Adds a new optimizer plugin to the process cache. |
|
|
|
Assign Parameters to Hardware Dialog |
|
No description found (add content in vi description) |
|
|
|
Initialize Plugin |
|
Initialize a plugin instance based on the information given. |
|
|
|
Load Plugin Dialog |
|
Dialog allowing the user to select a plugin by name. Returns the selected plugin details. |
|
|
|
Stop Analyzer VI |
|
Stops the named process, shutting down the subpanel indicator and control panel, removing the entry from the message history cache, and deleting it form the object array. This VI triggers status update events. |
|
|
|
Stop Optimizer VI |
|
Stops the named process, shutting down the subpanel indicator and control panel, removing the entry from the message history cache, and deleting it form the object array. This VI triggers status update events. |
|
|
|
Stop Process VI |
|
Stops the named process, shutting down the subpanel indicator and control panel, removing the entry from the message history cache, and deleting it form the object array. This VI triggers status update events. |
|
|
|
Add Process Queue Reference |
|
Appends queue to an array of process queues. |
|
|
|
Add VI to Tab Control |
|
Adds the VI to the first visible page of the tab control given, assuming the first control on the page is a subpanel. |
|
|
|
Cache Message |
|
No description found (add content in vi description) |
|
|
|
Check Loop Error |
|
Check the 'error to process' to see if its code value matches any of the values in the 'Ignore Errors' array. If so, do nothing. If not, send an "Error" message containing the error data to the Message Handling Loop for further processing. If the "Exit on Error?" input is TRUE, send an "Exit" message to the Message Handling Loop instead. |
|
|
|
Choose Idle or Error State |
|
No description found (add content in vi description) |
|
|
|
Error Handler - Main VI State Machine |
|
Process an error that occurred in the Message Handling Loop, either by ignoring it, or generating an "Exit" message. |
|
|
|
Find Available Queue |
|
No description found (add content in vi description) |
|
|
|
Find Subpanel on Page |
|
No description found (add content in vi description) |
|
|
|
Load Plugin Front Panel |
|
No description found (add content in vi description) |
|
|
|
Queue Message |
|
No description found (add content in vi description) |
|
|
|
Save Reaction Rover Data to Experiment File |
|
No description found (add content in vi description) |
|
|
|
Split Name and Message |
|
No description found (add content in vi description) |
|
|
|
Variant to Data String |
|
No description found (add content in vi description) |
|
|
|
Is Variant Supported Type |
|
Checks if the variant is any of the supported types for parameter values. |
|
|
|
Is Variant Type Boolean |
|
Check if the variant contents are a boolean. |
|
|
|
Is Variant Type Numeric |
|
Check if the variant contents are a numeric type. |
|
|
|
Is Variant Type Path |
|
Check if the variant contents are a path. |
|
|
|
Is Variant Type String |
|
Check if the variant contents are a string. |
|
|
|
Unsupported Type Error |
|
Provides an error cluster for an unsupported type. This will get the type of the variant and add that to the error message. |
|
|
|
Load and Apply User Preferences |
|
Wrapper function to load the user preferences file for Rxn Rover and apply the loaded preferences. |
|
|
|
Main |
|
Use this template to build a simple state machine design pattern. Each state executes code and determines which state to transition to. |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
2.2.2. Library Constant VIs
|
Note
|
No Constant VIs Found |
2.3. Experiment File.lvlib
Responsibility: No description found (add content in lvlib description)
Version: 1.0.0.0
2.3.1. Functions
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
Initialize Experiment File |
|
Creates a new default experiment file at the given Experiment Directory using the Experiment Name as the file name, based on the Experiment File.ctl cluster. If the file already exists, it will ask the user if they want to overwrite it or not, where cancelled becomes True if the user declines to overwrite the file or False if they chose to overwrite it. |
|
|
|
Load Experiment File |
|
Load the given project file or open a file dialog if no path is given. To aid in backwards compatability as new features are added, if a setting is not found in the file, the error is ignored and the undiscovered setting is set to a default value. |
|
|
|
Save Experiment File |
|
No description found (add content in vi description) |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
2.3.2. Library Constant VIs
|
Note
|
No Constant VIs Found |
2.4. Experiment Manager.lvlib
Responsibility: No description found (add content in lvlib description)
Version: 1.0.0.0
| Name | Type |
|---|---|
Library |
2.4.1. Functions
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
Create or Load Experiment Dialog |
|
No description found (add content in vi description) |
|
|
|
Error Handler - Event Handling Loop |
|
Process an error that occurred in the Event Handling Loop, either by ignoring it, or generating an "Error" message. |
|
|
|
Error Handler - Message Handling Loop |
|
Process an error that occurred in the Message Handling Loop, either by ignoring it, or generating an "Exit" message. |
|
|
|
New Experiment Dialog |
|
Opens a dialog window to specify the name and folder location of a new experiment. Project Name and Project Location will be blank if values are not provided, and any values provided will be validated and the dialog updated accordingly. |
|
|
|
New Experiment |
|
No description found (add content in vi description) |
|
|
|
Validate Experiment Location |
|
No description found (add content in vi description) |
|
|
|
Validate Experiment Name |
|
No description found (add content in vi description) |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
2.4.2. Library Constant VIs
|
Note
|
No Constant VIs Found |
2.5. User Event - Stop.lvlib
Responsibility: No description found (add content in lvlib description)
Version: 1.0.0.0
2.5.1. Functions
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
Create User Event - Stop |
|
Create a boolean user event that will be used to stop the event loop from the message handling loop. |
|
|
|
Fire User Event - Stop |
|
Send the Stop event to stop the Event Handling Loop. |
|
|
|
Destroy User Event - Stop |
|
Destroy the user event, even if there is an incoming error. |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
2.5.2. Library Constant VIs
|
Note
|
No Constant VIs Found |
2.6. File IO.lvlib
Responsibility: No description found (add content in lvlib description)
Version: 1.0.0.0
| Name | Type |
|---|---|
Library |
|
Library |
|
Library |
2.6.1. Functions
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
Convert Absolute Path if Executable |
|
Converts an absolute path to include the executable file as a subdirectory in the path if the application is being executed as an executable. The given absolute path is retained if a development environment is being used. |
|
|
|
Convert Absolute Path to Relative Path from Application |
|
Converts a given absolute path to a relative path from the calling application. |
|
|
|
Open File Explorer |
|
Opens up the file explorer to a location given in a file path (absolute) Does this by sending a command into the command terminal, supports Windows, Mac OS, and Linux Created 5/30/2025 RxnRover |
|
|
|
Relative Path to Absolute Path |
|
Converts a relative path to an absolute path from the application directory. |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
2.6.2. Library Constant VIs
|
Note
|
No Constant VIs Found |
2.7. JSON Utilities.lvlib
Responsibility: No description found (add content in lvlib description)
Version: 1.0.0.0
2.7.1. Functions
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
JSON Add Indent |
|
Adds indentation to the JSON string provided. The string must already have newlines added for indentation to be useful. |
|
|
|
JSON Add White Space |
|
Adds white space to a string generated by the Flatten to JSON String VI. |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
2.7.2. Library Constant VIs
|
Note
|
No Constant VIs Found |
2.8. LocalAppData Utilities.lvlib
Responsibility: This library provides a set of VI’s designed to work within the user’s Local AppData drectory. Including functions to construct appication-specific paths, retrive base paths, create necessary directories, and manage file creation or replacement within the AppData context.
Version: 1.0.0.0
2.8.1. Functions
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
LocalAppData Build Path |
|
Builds a file path with relative path and Local App Data Base Path An Operating system must be specified Supports: Windows 2000 - Windows 11, Linux, Mac OS Created 5/20/2025 - Labview 2020 RxnRover |
|
|
|
LocalAppData Create Or Replace File |
|
Creates a file of specified name at type at a relative location appended with the aboslute Local App State Data Path Created 5/20/2025 - Labview 2020 RxnRover |
|
|
|
LocalAppData Get Base Path |
|
Uses command prompt based off of the current operating system to retrive the LocalAppData base path Supports: Windows 2000 - Windows 11, Linux, Mac OS Created 5/20/2025 - Labview 2020 RxnRover |
|
|
|
LocalAppData Get or Create App Directory |
|
Create or access a local app directory given a relative path(String) EX: appname/appdirectory Locates the correct system-specfic base directory for state data %LOCALAPPDATA(WIndows) or $XDG_STATE_HOME(Linux) or ~/Library/Application Support(Mac OS) and appends the relative path Creates the directory if it does not exist. Compliant with XKG Base Directory Specification Created 5/20/2025 - Labview 2020 RxnRover |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
2.8.2. Library Constant VIs
|
Note
|
No Constant VIs Found |
2.9. Project Locations.lvlib
Responsibility: No description found (add content in lvlib description)
Version: 1.0.0.0
2.9.1. Functions
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
File Defaults Location |
|
Returns the location of default files for the application, independent of whether it is run with the LabVIEW runtime, as a standalone EXE, using an installer, or during development in LabVIEW. |
|
|
|
Icons Location |
|
Returns the location of default files for the application, independent of whether it is run with the LabVIEW runtime, as a standalone EXE, using an installer, or during development in LabVIEW. |
|
|
|
Log Location |
|
Returns the location of logs for the application, independent of whether it is run with the LabVIEW runtime, as a standalone EXE, using an installer, or during development in LabVIEW. |
|
|
|
Resource Location |
|
Returns the resource location for the application, independent of whether it is run with the LabVIEW runtime, as a standalone EXE, using an installer, or during development in LabVIEW. |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
2.9.2. Library Constant VIs
|
Note
|
No Constant VIs Found |
2.10. logging.lvlib
Responsibility: No description found (add content in lvlib description)
Version: 1.0.0.0
2.10.1. Functions
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
Default Log File |
|
Returns a log file name of the form "<date>_<time>_<name>.log" where the date and time correspond to the first call to this function and <name> is the provided log name to help categorize different log messages in different files. |
|
|
|
Get Log Config |
|
Gets the current logging configuration. |
|
|
|
Log Config |
|
Provides access to read from or write to the log configuration, maintaining a functional global variable of the current configuration state. WARNING: This VI should not be used to change the logging configuration by itself! It is only intended for internal use. Instead use the Get and Set wrapper functions. |
|
|
|
Log Message - CRITICAL |
|
Log the given message to the Rxn Rover log file with log level CRITICAL. |
|
|
|
Log Message - DEBUG |
|
Log the given message to the Rxn Rover log file with log level DEBUG. |
|
|
|
Log Message - ERROR |
|
Log the given message to the Rxn Rover log file with log level ERROR. |
|
|
|
Log Message - INFO |
|
Log the given message to the Rxn Rover log file with log level INFO. |
|
|
|
Log Message - WARNING |
|
Log the given message to the Rxn Rover log file with log level WARNING. |
|
|
|
Log Message with Level |
|
Log the given message to the Rxn Rover log file. Appends the log level, date, and time to the message. |
|
|
|
Log Message |
|
Logs the given message to a log file in the Rxn Rover log directory. If no log file is provided, the default log file name is used. See Default Log File.vi for more details about the form of the default log file name. |
|
|
|
Set Log Config |
|
Sets the logging configuration. |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
2.10.2. Library Constant VIs
|
Note
|
No Constant VIs Found |
2.11. Plugin Manager.lvlib
Responsibility: No description found (add content in lvlib description)
Version: 1.0.0.0
2.11.1. Functions
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
Create Plugin Directories |
|
No description found (add content in vi description) |
|
|
|
Filter Invalid Plugins |
|
Filter for valid plugins and sort them into two different plugin.ctl arrays, Valid Plugins which should continute to be loaded and fitlered, and invalid plugins which will be logged and notified to the user. Created 5/15/2025 - Labview 2020 RxnRover |
|
|
|
Filter Plugins |
|
Filters the list of plugins for only those of the given plugin type. |
|
|
|
Generate Plugin Error String Array |
|
Helper VI which formats plugin error clusters and ouputs an array of formatted strings (This subVI does not write to a log file) With the format; [Time RTC 3339] [Plugin Name] Error: Message [Time RTC 3339] [Plugin Name] Error: Message [Time RTC 3339] [Plugin Name] Error: Message . . . Created 5/20/2025 - Labview 2020 RxnRover |
|
|
|
Get Default Plugin Directories |
|
No description found (add content in vi description) |
|
|
|
Get Plugin Directorys |
|
Returns an array of plugin directories, creating each plugin directory that does not already exist. The plugin directories are determined by the Get Default Plugin Directories VI. An array of booleans parallel to the plugin directories array is also returned, indicating whether each directory was successfully created or already exists (True) or failed to be created (False). |
|
|
|
Handle Plugin Errors |
|
Handles RxnRover plugin errors by displayig a dialog message including list of the invalid plugin names in the RxnRover menu and logs the details of any errors in a .txt file (pluginerrors.txt) Created: RxnRover May 26, 2025 |
|
|
|
Load Plugins |
|
The core loader for plugins which initializes a Plugin Array, reads their configuration files and outputs a completed Plugin Array. This VI is currently called by Load Details and Filter Plugins. This VI calls several helper VIs starting with Read Plugins INI. |
|
|
|
Log Plugin Errors |
|
This VI logs errors within invalid RxnRover plugins in a .txt file located at : with the format; [Time RTC 3339] [Plugin name] Error : (error message) [Time RTC 3339] [Plugin name] Error : (error message) [Time RTC 3339] [Plugin name] Error : (error message) . . . If there are no errors present, or invalid plugins, a .txt log file will not be created. log file is overwritten at the standard path each time Load Plugins.vi is called (It does not create an additional log file) Errors are generated within the Read Configuration File .vi and sorted as invalid plugins within the Filter Invalid Plugins.vi Created 5/20/2025 - Labview 2020 RxnRover |
|
|
|
Read Plugin Configuration |
|
Reads .conf (configuration file) included for each plugin while also checking if the .conf file is valid, then fills that information into an array of plugin details. If there are any invalid entries within the .conf file an error message with the specifc cause and a debug message is added to the Config Error cluster within plugin details. Logging is dealt with later in other VI’s (Filter Invalid Plugins.vi , Log Plugin Errors.vi etc.) |
|
|
|
Read Plugin INI |
|
Reads an INI file defining a plugin to be loaded. |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
2.11.2. Library Constant VIs
|
Note
|
No Constant VIs Found |
2.12. test Message Queue.lvlib
Responsibility: No description found (add content in lvlib description)
Version: 1.0.0.0
2.12.1. Functions
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
Enqueue Message (Array) |
|
For a regular message, enqueue the message. For a priority message, enqueue it at the front of the queue. |
|
|
|
Enqueue Message (Single) |
|
For a regular message, enqueue the message. For a priority message, enqueue it at the front of the queue. |
|
|
|
Create All Message Queues |
|
This VI creates and initializes all the message queues for your application. If your application requires more than one message queue, right-click the "Message Queues" constant above and select Open Type Def. Add the new Message Queue(s) to the type definition, then initialize them in this VI. |
|
|
|
Obtain Message Queue |
|
Create a queue with the Message Cluster data type. |
|
|
|
Dequeue Message |
|
This VI pulls messages off the Message Queue. |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
2.12.2. Library Constant VIs
|
Note
|
No Constant VIs Found |
3. Classes
This section describes the classes contained in the project.
3.1. Classes overview
This project contains 10 classes and 0 interface.
| Classes | Interfaces |
|---|---|
3.2. Controller Array.lvclass
Responsibility: No description found (add content in lvclass description)
Version: 1.0.0.1
3.2.2. Methods
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
Array Size |
|
No description found (add content in vi description) |
|
|
|
As Minimal Cluster Array |
|
No description found (add content in vi description) |
|
|
|
Delete From Array |
|
Deletes a controller entry from the array, returning the deleted item. |
|
|
|
Index Array |
|
No description found (add content in vi description) |
|
|
|
Insert Into Array |
|
Insert an element into the array at the specified index. |
|
|
|
Read Array |
|
No description found (add content in vi description) |
|
|
|
Register Controller |
|
Given a control type and name, load a controller of that name and add it to the end of the controller array. |
|
|
|
Replace Subset Array |
|
No description found (add content in vi description) |
|
|
|
Replace Subset Element |
|
No description found (add content in vi description) |
|
|
|
Search Array |
|
Search the array of controllers for the specified Searchable Property, using the Search Value by casting it to the type of the Searchable Property. This VI will only return the first occurance. If no element was found, it returns an index of -1 and a generic controller object. |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
3.2.3. Class Constant VIs
|
Note
|
No Constant VIs Found |
3.3. Generic Optimizer.lvclass
Responsibility: No description found (add content in lvclass description)
Version: 1.0.0.1
3.3.2. Methods
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
Control Panel Initialization Message |
|
Method to generate the initial message to send to a Controller’s Control Panel. |
|
|
|
New Parameter Message |
|
Dynamic dispatch for each child controller type to provide it’s proper message for setting a new parameter value (setpoint). |
|
|
|
Start Message |
|
No description found (add content in vi description) |
|
|
|
Stop Message |
|
No description found (add content in vi description) |
|
|
|
Valid Resource Message |
|
No description found (add content in vi description) |
|
|
|
Submit Goal |
|
No description found (add content in vi description) |
|
|
|
Listening Server Cases |
|
Case structure with messages to listen for from the control panel. If more than the basic messages need to be handled, this should be overwritten by the child class. |
|
|
|
Resource from String |
|
No description found (add content in vi description) |
|
|
|
Resource to String |
|
No description found (add content in vi description) |
|
|
|
Read Valid Messages |
|
No description found (add content in vi description) |
|
|
|
Subpanel UI |
|
Dynamic dispatch VI that must be overridden by all inheriting classes. It is the UI that will be inserted into subpanels so data can be displayed to the user. The class will use an internally managed message queue to communicate to it. The user should only communicate to this UI through class methods. |
|
|
|
Check Valid Message |
|
No description found (add content in vi description) |
|
|
|
Variant to Optimizer State |
|
Converts a variant with attributes into a named cluster representing the optimizer state. If a corresponding variant attribute does not exist, the default value for the named element according to the typedef is used. |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
3.3.3. Class Constant VIs
|
Note
|
No Constant VIs Found |
3.4. Generic Plugin.lvclass
Responsibility: No description found (add content in lvclass description)
Version: 1.0.0.2
3.4.2. Methods
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
Control Panel Initialization Message |
|
Method to generate the initial message to send to a Controller’s Control Panel. |
|
|
|
Log Directory Message |
|
No description found (add content in vi description) |
|
|
|
Log File Delimiter Message |
|
No description found (add content in vi description) |
|
|
|
Log on Run Message |
|
No description found (add content in vi description) |
|
|
|
Log Prefix Message |
|
No description found (add content in vi description) |
|
|
|
New Parameter Message |
|
Dynamic dispatch for each child controller type to provide it’s proper message for setting a new parameter value (setpoint). |
|
|
|
Start Message |
|
No description found (add content in vi description) |
|
|
|
Stop Message |
|
No description found (add content in vi description) |
|
|
|
Valid Resource Message |
|
No description found (add content in vi description) |
|
|
|
Send Listening Queue |
|
No description found (add content in vi description) |
|
|
|
Send Log Delimiter Message |
|
No description found (add content in vi description) |
|
|
|
Send Log Directory Message |
|
No description found (add content in vi description) |
|
|
|
Send Log on Run Message |
|
No description found (add content in vi description) |
|
|
|
Send Log Prefix Message |
|
No description found (add content in vi description) |
|
|
|
Send New Parameter |
|
Sends the new set of parameters to the associated plugin. |
|
|
|
Send Start Message |
|
No description found (add content in vi description) |
|
|
|
Send Stop Message |
|
No description found (add content in vi description) |
|
|
|
Wait for Control Panel Exit |
|
No description found (add content in vi description) |
|
|
|
Wait for Control Panel Start |
|
Wait for a message indicating that the control panel has started, or timeout if a value is given for the wait time. |
|
|
|
Wait for Message (blocking) |
|
Waits for a message with the specified command, ignoring all other messages. This is a blocking VI. This VI can be given a timeout value (-1 for no timeout) so it only blocks for a set amount of time. If no message is received, the message "Timeout" with no data will be returned. |
|
|
|
Wait for Process Running Event |
|
Waits for a message with the specified command, ignoring all other messages. This is a blocking VI. |
|
|
|
Wait for Valid Resource |
|
No description found (add content in vi description) |
|
|
|
Read Control Panel Message Queue |
|
No description found (add content in vi description) |
|
|
|
Read Control Panel Path |
|
No description found (add content in vi description) |
|
|
|
Read Control Panel Reference |
|
No description found (add content in vi description) |
|
|
|
Read Internal Message Queue |
|
No description found (add content in vi description) |
|
|
|
Read Listening Queue |
|
No description found (add content in vi description) |
|
|
|
Read Resource |
|
No description found (add content in vi description) |
|
|
|
Write Control Panel Message Queue |
|
No description found (add content in vi description) |
|
|
|
Write Control Panel Path |
|
No description found (add content in vi description) |
|
|
|
Write Control Panel Reference |
|
No description found (add content in vi description) |
|
|
|
Write Internal Message Queue |
|
Assigns a message queue as the new Internal Message Queue used for internal communications in the Controller object. |
|
|
|
Write Listening Queue |
|
No description found (add content in vi description) |
|
|
|
Write Resource |
|
No description found (add content in vi description) |
|
|
|
Panel Running Event |
|
Event raised when a control panel starts (value = True) or stops (value = False). |
|
|
|
Abort Control Panel |
|
Aborts the control panel immediately. This may leave any hardware or software the plugin was controlling in an unexpected state! |
|
|
|
Control Panel - Close |
|
Initialize the Control Panel at the provided controller path. Forwards a stop message to the control panel process to signal that it should end. |
|
|
|
Control Panel - Initialize |
|
Initialize the Control Panel at the provided controller path. Waits for the initial "Process Start" message, where the controller type the control panel reports must match that of the instantiated controller object, or an error is thrown. |
|
|
|
Internal Message Queue - Close |
|
Close the internal message queue of the plugin server. |
|
|
|
Internal Message Queue - Initialize |
|
Initializes the internal message queue. |
|
|
|
Listening Server - Close |
|
Closes the listening server VI reference and clears the corresponding class attribute. |
|
|
|
Listening Server - Initialize |
|
No description found (add content in vi description) |
|
|
|
Listening Server Cases |
|
Case structure with messages to listen for from the control panel. If more than the basic messages need to be handled, this should be overwritten by the child class. |
|
|
|
Listening Server |
|
Listening server VI that will listen to the assigned Receiving Queue of the object, which is receiving messages from a plugin. The Listening Server Cases VI should be overridden and updated to properly respond to messages from a plugin. |
|
|
|
Open Listening Server Reference |
|
No description found (add content in vi description) |
|
|
|
Resource from String |
|
No description found (add content in vi description) |
|
|
|
Stop Control Panel |
|
Sends the "Exit" command to the associated control panel. By default, this VI blocks until the "Process Exit" command is received from the control panel. |
|
|
|
Read Controller Type |
|
No description found (add content in vi description) |
|
|
|
Read Name |
|
No description found (add content in vi description) |
|
|
|
Read Sending Queue |
|
No description found (add content in vi description) |
|
|
|
Read Subpanel Listening Queue |
|
No description found (add content in vi description) |
|
|
|
Read Valid Messages |
|
No description found (add content in vi description) |
|
|
|
Write Controller Type |
|
No description found (add content in vi description) |
|
|
|
Write Name |
|
No description found (add content in vi description) |
|
|
|
Write Sending Queue |
|
No description found (add content in vi description) |
|
|
|
As Minimal Cluster |
|
Get a minimal cluster representation of the plugin. |
|
|
|
From Minimal Cluster |
|
Creates a new plugin server instance from the details in a minimal cluster. |
|
|
|
Load Controller Type from Enum |
|
No description found (add content in vi description) |
|
|
|
Load Controller Type from Path |
|
Loads the plugin server class from the provided path. This should be an absolute path in the development environment and a relative path for standalone applications. |
|
|
|
Read Subpanel Message Queue |
|
No description found (add content in vi description) |
|
|
|
Read Subpanel UI Reference |
|
No description found (add content in vi description) |
|
|
|
Write Subpanel Message Queue |
|
No description found (add content in vi description) |
|
|
|
Write Subpanel Name |
|
No description found (add content in vi description) |
|
|
|
Close Subpanel UI Reference |
|
Closes the subpanel UI VI reference and clears the corresponding class attribute. |
|
|
|
Initialize Subpanel UI |
|
Initialize the subpanel UI VI reference and message queue inside the class, also giving the subpanel UI the correct message queue for further communication. |
|
|
|
Insert Subpanel UI |
|
Insert the Subpanel UI of the controller into the provided subpanel. The subpanel MUST have been initialized before calling this! |
|
|
|
Open Subpanel UI Reference |
|
Get a reference for the Subpanel UI.vi of the controller. |
|
|
|
Report to Subpanel |
|
No description found (add content in vi description) |
|
|
|
Stop Subpanel UI |
|
No description found (add content in vi description) |
|
|
|
Subpanel UI |
|
Dynamic dispatch VI that must be overridden by all inheriting classes. It is the UI that will be inserted into subpanels so data can be displayed to the user. The class will use an internally managed message queue to communicate to it. The user should only communicate to this UI through class methods. |
|
|
|
Check Valid Message |
|
No description found (add content in vi description) |
|
|
|
Close VI Reference |
|
Closes a VI reference. This VI is intented to work both in the development environment and in stand-alone programs. |
|
|
|
Close |
|
Shuts down the plugin server, destroying references and queues it generated. This will not destroy externally set references and queues. |
|
|
|
Compare Controller Type |
|
No description found (add content in vi description) |
|
|
|
Continue Waiting or Abort Dialog |
|
Open a dialog asking whether to continue waiting or abort the plugin. |
|
|
|
Initialize |
|
Initializes the internals of the plugin server. |
|
|
|
Open Reentrant Class Method VI |
|
Opens a class method VI reference for reentrant execution. This VI is intented to work both in the development environment and in stand-alone programs. |
|
|
|
Resource to String |
|
No description found (add content in vi description) |
|
|
|
String to Controller Type |
|
No description found (add content in vi description) |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
3.4.3. Class Constant VIs
|
Note
|
No Constant VIs Found |
3.5. LC Parser.lvclass
Responsibility: No description found (add content in lvclass description)
Version: 1.0.0.0
3.5.2. Methods
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
Check Valid Message |
|
No description found (add content in vi description) |
|
|
|
Control Panel Initialization Message |
|
Method to generate the initial message to send to a Controller’s Control Panel. |
|
|
|
Listening Server Cases |
|
Case structure with messages to listen for from the control panel. If more than the basic messages need to be handled, this should be overwritten by the child class. |
|
|
|
New Parameter Message |
|
Dynamic dispatch for each child controller type to provide it’s proper message for setting a new parameter value (setpoint). |
|
|
|
Read Valid Messages |
|
No description found (add content in vi description) |
|
|
|
Resource from String |
|
No description found (add content in vi description) |
|
|
|
Resource to String |
|
No description found (add content in vi description) |
|
|
|
Start Message |
|
No description found (add content in vi description) |
|
|
|
Stop Message |
|
No description found (add content in vi description) |
|
|
|
Subpanel UI |
|
Dynamic dispatch VI that must be overridden by all inheriting classes. It is the UI that will be inserted into subpanels so data can be displayed to the user. The class will use an internally managed message queue to communicate to it. The user should only communicate to this UI through class methods. |
|
|
|
Valid Resource Message |
|
No description found (add content in vi description) |
|
|
|
Variant to Analyzer State |
|
Converts a variant with attributes into a named cluster representing the analyzer state. If a corresponding variant attribute does not exist, the default value for the named element according to the typedef is used. |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
3.5.3. Class Constant VIs
|
Note
|
No Constant VIs Found |
3.6. Parameter to Hardware Map.lvclass
Responsibility: Unordered map structure containing a list of key-value pairs associating a unique parameter name (key) with a hardware object (value).
Version: 1.0.0.0
3.6.2. Methods
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
As Minimal Cluster |
|
Returns a minimal representation of the entire map using only serializable data types (mostly strings, arrays, and clusters) |
|
|
|
Clear |
|
Remove all elements from the map, resulting in a size of 0. |
|
|
|
Empty |
|
Test if the container is empty. |
|
|
|
Equals |
|
Test if two maps are equal. Item order is not considered. Maps are considered equal if all elements of map_1 are included in map_2 and all elements of map_2 are included in map_1. |
|
|
|
Erase (array) |
|
Removes all elements from the map specified in the array of keys. |
|
|
|
Erase (index) |
|
Removes the element from the map specified by the given index. |
|
|
|
Erase (single) |
|
Removes the element from the map specified by the given key. |
|
|
|
Find (array) |
|
Find the elements from the map matching the given keys. A parallel boolean array is provided, where each entry indicates whether the key-value pair in the corresponding Key-Value Pairs output array position was found.s |
|
|
|
Find (single) |
|
Find the element from the map matching the given key. |
|
|
|
Find Index (single) |
|
Return the index from the map specified by the given key. |
|
|
|
Insert (array) |
|
Insert the given key-value pairs into the map. |
|
|
|
Insert (element) |
|
Insert the given key-value pair into the map. |
|
|
|
Insert (key-value) |
|
Create and insert a key-value pair into the map using the given key and value. |
|
|
|
Read keys |
|
Returns the underlying unordered_map array. |
|
|
|
Read unordered_map |
|
Returns the underlying unordered_map array. |
|
|
|
Repeat Key |
|
Checks if the given key is a repeat of one in the map |
|
|
|
Size |
|
Return the size of the map. |
|
|
|
Swap |
|
Swaps the elements of one Parameter to Hardware Map with another. |
|
|
|
Write unordered_map |
|
Overwrites the underlying unordered_map array. |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
3.6.3. Class Constant VIs
|
Note
|
No Constant VIs Found |
3.7. Passive Hardware.lvclass
Responsibility: Passive Hardware class which is a Controller Type within RxnRover, and is used to support passive instrument integration. Passive Hardware typically operates in a read-only or passive capacity and requires minimal interaction with RxnRover itself. An example of a passive-hardware device in the context of RxnRover is a pH probe, or other sensors.
Version: 1.0.0.1
3.7.2. Methods
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
Check Valid Message |
|
Checks if a message recieved from a Passive-Hardware instrument is valid by comparing it to a list of valid messages. |
|
|
|
Control Panel Initialization Message |
|
Method to generate the initial message to send to a Controller’s Control Panel. |
|
|
|
New Parameter Message |
|
Dynamic dispatch for each child controller type to provide it’s proper message for setting a new parameter value (setpoint). |
|
|
|
Read Valid Messages |
|
Reads the list of valid messages |
|
|
|
Start Message |
|
Returns the message which will notify RxnRover to start collecting data from a Passive-Instrument. Message is not sent in this VI just created. |
|
|
|
Stop Message |
|
Returns the stop message to tell RxnRover to stop collecting data from a Passive-Hardware instrument. Does not send the message just creates it to be sent later. |
|
|
|
Subpanel UI |
|
Dynamic dispatch VI that must be overridden by all inheriting classes. It is the UI that will be inserted into subpanels so data can be displayed to the user. The class will use an internally managed message queue to communicate to it. The user should only communicate to this UI through class methods. |
|
|
|
Update Data Plot |
|
Updates the data plot from data collected from a Passive-Hardware instrument in given time intervals. |
|
|
|
Variant to Instrument State |
|
Converts the instrument state messages sent from the plugin to the internal state managed by RxnRover’s plugin server. |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
3.7.3. Class Constant VIs
|
Note
|
No Constant VIs Found |
3.8. Pump Controller.lvclass
Responsibility: No description found (add content in lvclass description)
Version: 1.0.0.0
3.8.2. Methods
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
Check Valid Message |
|
No description found (add content in vi description) |
|
|
|
Control Panel Initialization Message |
|
Generate the initial message to send to the Pump Controller Control Panel. |
|
|
|
New Parameter Message |
|
Dynamic dispatch for each child controller type to provide it’s proper message for setting a new parameter value (setpoint). |
|
|
|
Read Valid Messages |
|
No description found (add content in vi description) |
|
|
|
Start Message |
|
No description found (add content in vi description) |
|
|
|
Stop Message |
|
No description found (add content in vi description) |
|
|
|
Subpanel UI |
|
The UI that will be inserted into subpanels so data can be displayed to the user. The class will use an internally managed message queue to communicate to it. The user should only communicate to this UI through class methods. |
|
|
|
Update Data Plot |
|
No description found (add content in vi description) |
|
|
|
Variant to Instrument State Cluster |
|
Converts a variant with attributes into a named cluster representing the instrument state. If a corresponding variant attribute does not exist, the default value for the named element according to the typedef is used. |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
3.8.3. Class Constant VIs
|
Note
|
No Constant VIs Found |
3.9. Syringe Pump.lvclass
Responsibility: No description found (add content in lvclass description)
Version: 1.0.0.1
3.9.2. Methods
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
New Parameter Message |
|
Dynamic dispatch for each child controller type to provide it’s proper message for setting a new parameter value (setpoint). |
|
|
|
Subpanel UI |
|
The UI that will be inserted into subpanels so data can be displayed to the user. The class will use an internally managed message queue to communicate to it. The user should only communicate to this UI through class methods. |
|
|
|
Variant to Instrument State Cluster TMP |
|
Converts a variant with attributes into a named cluster representing the instrument state. If a corresponding variant attribute does not exist, the default value for the named element according to the typedef is used. |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
3.9.3. Class Constant VIs
|
Note
|
No Constant VIs Found |
3.10. Temperature Controller.lvclass
Responsibility: No description found (add content in lvclass description)
Version: 1.0.0.0
3.10.2. Methods
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
Check Valid Message |
|
No description found (add content in vi description) |
|
|
|
Control Panel Initialization Message |
|
Generate the initial message to send to the Temperature Controller Control Panel. |
|
|
|
New Parameter Message |
|
Dynamic dispatch for each child controller type to provide it’s proper message for setting a new parameter value (setpoint). |
|
|
|
Read Valid Messages |
|
No description found (add content in vi description) |
|
|
|
Start Message |
|
No description found (add content in vi description) |
|
|
|
Stop Message |
|
No description found (add content in vi description) |
|
|
|
Subpanel UI |
|
Data display subpanel associated with the Temperature Controller class. |
|
|
|
Update Data Plot |
|
No description found (add content in vi description) |
|
|
|
Variant to Instrument State |
|
Converts a variant with attributes into a named cluster representing the instrument state. If a corresponding variant attribute does not exist, the default value for the named element according to the typedef is used. |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
3.10.3. Class Constant VIs
|
Note
|
No Constant VIs Found |
3.11. User Preferences File.lvclass
Responsibility: No description found (add content in lvclass description)
Version: 1.0.0.2
3.11.2. Methods
| Name | Connector pane | Description | S. | R. | I. |
|---|---|---|---|---|---|
Add Recent Project |
|
Adds a new path to the Recent Experiments list. This Recent Experiment list is kept in chronological order, so the newly added Recent Experiment will always be at the top. If the new experiment already exists, the old entry is removed and the new entry is placed at the top of the Recent Experiments list. |
|
|
|
Clear Recent Experiments |
|
Clears all entries in the Recent Experiments list. |
|
|
|
Convert Home Directory Tokens |
|
Checks if a recognized home directory token was given and provides the home directory path using the built-in Get System Directory VI for the User Home directory. This VI will not create the directory if it does not exist and will not modify the given input token path if a valid token is not found. |
|
|
|
Create If File Does Not Exist |
|
Creates the user preferences file with default values if it does not exist. The Init VI or custom values for file name and location must be set before running this VI. |
|
|
|
Default File Name |
|
Gets the default Rxn Rover user preferences file name based on the current operating system. The operating system name is read from OS.Name on a Application property node. |
|
|
|
Default File Path |
|
Gets the default directory to store the user preferences file based on the current operating system. The operating system name is read from OS.Name on a Application property node. |
|
|
|
DefaultUserSettings Full Path |
|
Location of the DefaultUserSettings.ini configuration file. |
|
|
|
Init |
|
Initialize the file manager with default file names and locations for the given operating system. This VI does not create the file or load it. |
|
|
|
Load |
|
Load the preferences file from disk into memory. The loaded file can be accessed through the appropriate accessor members. The initialization member VI should be executed before this VI is run. |
|
|
|
Read File Location |
|
No description found (add content in vi description) |
|
|
|
Read File Name |
|
No description found (add content in vi description) |
|
|
|
Read User Preferences |
|
No description found (add content in vi description) |
|
|
|
Save |
|
Format the User Preferences file as a readable JSON file and write it to disk. |
|
|
|
Write File Location |
|
No description found (add content in vi description) |
|
|
|
Write File Name |
|
No description found (add content in vi description) |
|
|
|
Write User Preferences |
|
No description found (add content in vi description) |
|
|
|
Scope:
→ Protected |
→ Community
Reentrancy:
→ Preallocated reentrancy |
→ Shared reentrancy
Inlining:
→ Inlined
3.11.3. Class Constant VIs
|
Note
|
No Constant VIs Found |
4. Legal Information
4.1. Document creation
This document has been generated using the following tools.
4.1.1. Antidoc
Project website: Antidoc
Maintainer website: Wovalab
BSD 3-Clause License
Copyright © 2019-2025, Wovalab, All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4.1.2. Asciidoc for LabVIEW™
Project website: Asciidoc toolkit
Maintainer website: Wovalab
BSD 3-Clause License
Copyright © 2019-2025, Wovalab, All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4.1.3. classy Diagram Viewer
Project website: classy Diagram Viewer
BSD 3-Clause License
Copyright © 2021, Tatiana Boyé All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4.2. Product used in the project
Antidoc hasn’t been able to detect third party products in the project. This is the author’s responsibility to list any of the missing product used.












































































































.vi.png)
.vi.png)













































.vi.png)











































































.vi.png)
.vi.png)
.vi.png)
.vi.png)
.vi.png)
.vi.png)
.vi.png)
.vi.png)
.vi.png)



















































