jacdac-rs 0.1.0

jacdac-rs is a library written entirely in Rust, with the aim of providing jacdac support for embedded development
Documentation
- [jacdac-rs]#jacdac-rs
  - [Introduction]#introduction
    - [What is jacdac ?]#what-is-jacdac-
    - [What is jacdac-rs]#what-is-jacdac-rs
  - [Requirements]#requirements
  - [Features]#features
    - [Available]#available
      - [Transport]#transport
      - [Service]#service
    - [Planned]#planned
      - [Transport]#transport-1
      - [Service]#service-1
      - [General]#general


# jacdac-rs
## Introduction
### What is jacdac ?
> Jacdac is an integrated hardware and software stack that makes it easier to connect programmable microcontrollers, sensors, actuators, and peripherals together in a client/server architecture. It also provides a bridge from the embedded world to the web browser and beyond. Key features of Jacdac are:
> 
> - a dedicated 3-wire cable and connector
> - a true bus topology
> - service advertisement and dynamic device discovery
> - a standardized service abstraction
> - a full stack that supports platforms from 8-bit MCUs to web development.
> 
> In addition to the functionality provided by common networking stacks, the Jacdac protocol specifies electrical and mechanical requirements that improve interoperability at the hardware level.

_jacdac Specification [https://microsoft.github.io/jacdac-docs/reference/](https://microsoft.github.io/jacdac-docs/reference/)_

### What is jacdac-rs
jacdac-rs is a library written entirely in Rust, with the aim of providing jacdac support for embedded development.

The library will be [embedded-hal](https://crates.io/crates/embedded-hal) dependent where necessary, to ensure maximum interoperability.

jacdac-rs is in the early stages of development, and the api is subject to major changes between versions.

## Requirements
This crate need an allocator, due to `alloc::vec` usage.

## Features

### Available

#### Transport
 - [x] Decode jacdac frame from buffer (`&[u8]`)
 - [x] Decode jacdac packet from buffer (`&[u8]`)

#### Service
 - [x] Decode transport packet to service packet

### Planned

#### Transport
 - [ ] Decode jacdac frame from Reader
 - [ ] Decode jacdac packetg from Reader
 - [ ] Encode jacdac frame to buffer
 - [ ] Encode jacdac frame to Writer

#### Service
 - [ ] Register all the current available service from [jacdac services]https://microsoft.github.io/jacdac-docs/services/

#### General
 - [ ] Add examples