#sensors #data #quantum #io #port #serial-port #twinleaf

app twinleaf-tools

Tools for the Twinleaf I/O protocol for reading data from Twinleaf quantum sensors

2 stable releases

new 1.1.0 Nov 24, 2024
1.0.0 Nov 20, 2024

#86 in Hardware support

Download history 146/week @ 2024-11-17

146 downloads per month

MIT license

210KB
5K SLoC

Twinleaf I/O Tools in Rust

This repository contains a set of tools that are useful for working with Twinleaf quantum sensors and accessories.

The primary tool is the proxy, which makes the device available via ethernet:

	tio-proxy --auto

When there are more than one serial port available, it is necessary to specify the port

	[linux]> tio-proxy -r /dev/ttyACM0
	[macOS]> tio-proxy -r /dev/cu.usbserialXXXXXX
	[wsl1] > tio-proxy -r COM3

When a sensor is attached to a hub at port 0, it is possible to proxy the data directly to that port using the -s flag:

	tio-proxy --auto -s /0

With the proxy running, a set of tools can be used on the data stream.

Logging data:

	tio-tool log

Issuing commands:

	tio-tool rpc dev.name

List available commands:

	tio-tool rpc-list

Firmware upgrade:

	tio-tool firmware-upgrade <firmware.bin>

Monitoring the data stream:

	tio-tool data-dump

And a variety of additional functions for use with Twinleaf sensors.

Installation

On macOS and linux, there is a dependency on libudev; to install it use:

	sudo apt install libudev-dev  # debian linux
	brew install libudev          # macOS homebrew

Now build:

	cargo build --release

The resulting tools can be found in the target directory:

	cd target/release
	./tio-tool

Cross compilation

The tools can be compiled for other platforms by first adding those platform targets:

	rustup target add x86_64-pc-windows-gnu
	rustup toolchain install stable-x86_64-pc-windows-gnu

And then building for the new target:

	cargo build --target x86_64-pc-windows-gnu

Dependencies

~5–16MB
~151K SLoC