17 releases (2 stable)

1.0.1 May 15, 2024
1.0.0 Mar 14, 2023
0.4.4 Jul 30, 2022
0.4.2 Feb 17, 2022
0.2.5 Dec 20, 2019

#143 in Embedded development

Download history 67/week @ 2024-06-20 51/week @ 2024-06-27 36/week @ 2024-07-04 85/week @ 2024-07-11 72/week @ 2024-07-18 71/week @ 2024-07-25 191/week @ 2024-08-01 165/week @ 2024-08-08 127/week @ 2024-08-15 125/week @ 2024-08-22 106/week @ 2024-08-29 65/week @ 2024-09-05 46/week @ 2024-09-12 59/week @ 2024-09-19 111/week @ 2024-09-26 131/week @ 2024-10-03

377 downloads per month
Used in scpi-contrib

MIT/Apache

185KB
3.5K SLoC

scpi-rs

Quickstart Fuzzing codecov

These crates attempts to implement the IEE488.2 / SCPI protocol commonly used by measurement instruments and tools.

Scope

The crate does not support any transport layer, it only reads ascii-strings ([u8]) and writes ascii responses.

It does not implement any higher level functions/error handling other than SCPI parsing and mandated registers/commands(optional).

Project organisation:

  • scpi - SCPI/488.2 parser and command tree library.
  • scpi-contrib - Contribution library, provides default implementations for mandatory commands and abstractions for SCPI subsystems.
  • scpi-derive - Procedural macro support library, creates enums understood by Scpi (See ScpiEnum) and some internal library stuff.

Getting started

Look at the examples in scpi or scpi-contrib.

Contribution

Contributions are welcome in the form of pull request, issues or examples are welcome.

License

This project is licensed under the following licenses:

Dependencies

~2–2.8MB
~52K SLoC