flowchem Configuration File: Simple, Flexible, and User-Friendly
Flowchem uses a TOML (Tom’s Obvious, Minimal Language) configuration file to manage device settings. This format was chosen for its simplicity and readability, making it easy for users to edit without requiring extensive technical knowledge.
Key Features of the Configuration File
Human-Readable Format: TOML is designed to be easy to read and write, using simple key-value pairs and sections.
Flexible Device Naming: Users can name devices according to their preference, enhancing clarity and organization.
Easy Updates: Changing device settings or switching devices can be done quickly by editing the relevant sections.
Clear Structure: Each device is represented by its own block, making the file easy to navigate and understand.
Understanding the File Structure
[device.user_chosen_name]
type = "DeviceClass"
communication_parameter = "value"
additional_parameter1 = "value1"
additional_parameter2 = "value2"
Device Block: Starts with
[device.user_chosen_name]. The name (e.g., socl2, hexyldecanoic) can be freely chosen by the user.Type: Specifies the device class (e.g., “Elite11”, “AzuraCompact”).
Communication Parameter: How to connect to the device (e.g., port, IP address, URL).
Additional Parameters: Any extra settings specific to the device type.
Example Breakdown
Let’s look at one device from the example:
[device.socl2]
type = "Elite11" # Class name of the device
port = "COM4" # Communication access
syringe_diameter = "14.567 mm" # Additional configuration
syringe_volume = "10 ml" # Additional configuration
baudrate = 115200 # Additional configuration
The device is named “socl2” (user’s choice).
It’s an “Elite11” type device.
It’s connected via COM4 port.
It has specific syringe and communication settings.
Creating the File
Editing Device Names: Simply edit the
[device.name]line.Updating Settings: Modify the values after the
=sign.Adding/Removing Devices: Add or delete entire
[device.name]blocks as needed.
Important
When editing, ensure that:
The
typeparameter matches an implemented device class in flowchem.The communication parameter (port, IP, URL) is correct for your setup.
Any additional parameters are appropriate for the device type.
For details of supported devices and their specific configuration options, refer to the device configuration guides.
File Usage
Make your changes in the TOML file.
Save the file with a
.tomlextension.Flowchem will use this configuration to connect to and manage the devices.
This user-friendly approach allows for quick adjustments to your flowchem setup, enabling efficient management of various devices without the need for complex programming or system changes.
Practical Impact
This level of abstraction ensures that users can manage and configure devices with minimal effort, focusing on high-level functionality rather than low-level implementation details.