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
trunk
recompiles & refreshes on save automatically.
- CI Checks
check.sh
&check.ps1
- These checks run type checking, linting, formatting, tests, and web build.