4 releases (breaking)

0.5.0 May 13, 2024
0.4.0 Mar 22, 2024
0.3.0 Mar 3, 2024
0.2.0 Jan 16, 2023

#194 in Hardware support

Download history 5/week @ 2024-03-15 108/week @ 2024-03-22 50/week @ 2024-03-29 15/week @ 2024-04-05 122/week @ 2024-05-10 22/week @ 2024-05-17 1/week @ 2024-05-24

300 downloads per month

MPL-2.0 license


ArC TWO™ Low-level library

This is the low-level interface library for ArC TWO. It manages the tool's command buffer, memory and instruction serialisation. It also provides some basic testing-related functionality such as individual pulsing and reading as well as a generic ramp generator. It is meant to be used as a bulding block towards developing more elaborate testing setups.


The recommended way to get started with libarc2 is through its Python bindings. If you do, however, want to hack on libarc2 itself or build Rust-based testing programs then you can do so by adding the following to you Cargo.toml.

libarc2 = "0.4"

The library is still under development and more features are added constantly. An effort is made to maintain a consistent API but there is no API stability guarantee until we hit 1.0.


To actually talk to an ArC TWO board you will need the beastlink FPGA library. Detailed instructions are available on the beastlink-rs repository. The Python wheels of the libarc2 bindings include all necessary libraries but if you are using libarc2 itself you need to make them available for the Rust compiler to link against. For Windows a Python script is included to pull the necessary DLLs into the working directory. For Linux follow the instructions on the beastlink-rs repository to build appropriate packages for your distribution (for Debian, RedHat, Archlinux and their derivatives).


~86K SLoC