Trendline
compiles the functionality inside twinleaf-rust
into a graphical interface. It is intended to be a software oscilloscope and companion tool for use with Twinleaf devices. It targets desktop platforms with support on macOS, Linux, and Windows.
- Time series data visualization of device streams
- Periodogram data visualization of device streams
- CSV export of plotted data
- RPC control
npm run tauri dev
will launch the program on the root directory. Make sure to run npm install
first.
cargo test export_bindings
will export the Rust bindings to be used in the front end Typescript when in the src-tauri directory (run to update structures inside shared.rs
)
Trendline
uses Tauri
to create a desktop application by combining a Rust backend with frontend frameworks (in our case, Svelte
). The corresponding src-tauri
and src
contain README.md
detailing their architecture.
- Multi series plots are notably slower than individual plots of the same series
- Typing in the RPC filtering slows down over time
- Changing sample rates from high sample rate to low sample rate truncates front-end buffers
- Stream monitor does not handle Time epoch type correctly and window statistics may fill zeros on non-time aligned data
- Seems to randomly drop sample packets during acquisition.
Could be caused by IPC back pressure?Known issue on macOS with process priority.