This repository is a work in progress. Most common functionality is supported, but is intended for debugging/testing purposes.
Bindings and user interface for the Spark-Holland Alias Autosampler (SHAlias).
Built with Rust & egui/eframe.
Used in analytical labs to automatically introduce samples into the instrument performing analysis, the SHAlias is a high performance liquid chromatography autosampler.
Communication to the SHAlias is done through an RS-232 serial connection using Spark-Holland's SparkLink protocol. You can find the protocol definition here.
This repository provides 2 crates:
shalias: Rust bindings for SparkLink serial communication with a SHAlias.shalias_ui: User interface to control the SHAlias and write/run your own programs.
You can read more about the design here.
Use one of the vscode tasks, or:
- Native App
cargo run --release(release mode)cargo run(debug mode)RUST_LOG=experiment=debug cargo r(debug mode with logging to cmd prompt)
- Web App
trunk serve- Note that serial connectivity won't work (yet?), but it's great for prototyping the Ui, as
trunkrecompiles & refreshes on save automatically.
- CI Checks
check.sh&check.ps1- These checks run type checking, linting, formatting, tests, and web build.

