scpi 1.0.0

SCPI/IEEE488.2 parser library
Documentation
# scpi-rs
![Quickstart](https://github.com/Atmelfan/scpi-rs/workflows/Quickstart/badge.svg)
![Fuzzing](https://github.com/Atmelfan/scpi-rs/workflows/Fuzzing/badge.svg)
[![codecov](https://codecov.io/gh/Atmelfan/scpi-rs/branch/master/graph/badge.svg)](https://codecov.io/gh/Atmelfan/scpi-rs)
[![](http://meritbadge.herokuapp.com/scpi)](https://crates.io/crates/scpi)
[![](https://img.shields.io/github/license/Atmelfan/scpi-rs)](https://img.shields.io/github/license/Atmelfan/scpi-rs)

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

* [SCPI-1999]http://www.ivifoundation.org/docs/scpi-99.pdf
* [IEEE 488.2]http://dx.doi.org/10.1109/IEEESTD.2004.95390 *Non-free standard, SCPI-1999 above repeats most of the important stuff*

## 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`](https://github.com/Atmelfan/scpi-rs/tree/master/scpi/examples) or [`scpi-contrib`](https://github.com/Atmelfan/scpi-rs/tree/master/scpi-contrib/examples).

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

# License
This project is licensed under the following licenses:
 * Apache version 2 - See [LICENSE-APACHE]./LICENSE-APACHE
 * MIT - See [LICENSE-MIT]./LICENSE-MIT