#analyzer #logic #protocols #decoder

bin+lib logan

Logic Analyzer and Protocol Decoder library

2 releases

Uses old Rust 2015

0.0.1 Apr 28, 2020
0.0.0 Apr 28, 2020

#98 in #analyzer

MIT license

30KB
711 lines

logan - Logic Analyzer in Rust

Install from crates.io

This crate is published on https://crates.io/crates/logan to stick to standard distribution channels, but beware that this is my first create, and that the repository contains some glue code in different languages.

Install from source

Use cargo build to compile the rust code.

Included in the dev directory is a C++ wrapper for the Saleae Logic 8 library. Use make -C dev to download upstream library and build the wrapper.

The logan script can be used to start a live analysis session on the command line.

There is also Erlang code to wrap the logan script in erl/logan.erl. This depends on https://github.com/zwizwa/erl_tools

Status

State is proof-of-concept. There is not yet any documentation but it is quite straightforward to use and extend if you read Rust.

This started out as a project to try out Rust in a performance critical setting. It is a little rough around the edges. APIs will probably change slightly to make them more flexible.

This code relies on heavy inlining to get to reasonably good performance (250-300 M samples/sec on a X201).

Dependencies

~2MB
~49K SLoC