jacdac-rs

Crates.iojacdac-rs
lib.rsjacdac-rs
version0.1.0
sourcesrc
created_at2024-10-25 15:23:12.338165
updated_at2024-10-25 15:23:12.338165
descriptionjacdac-rs is a library written entirely in Rust, with the aim of providing jacdac support for embedded development
homepage
repositoryhttps://github.com/jnthbdn/jacdac-rs
max_upload_size
id1422643
size61,562
Jonathan BAUDIN (jnthbdn)

documentation

README

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/

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 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

  • Decode jacdac frame from buffer (&[u8])
  • Decode jacdac packet from buffer (&[u8])

Service

  • 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

General

  • Add examples
Commit count: 35

cargo fmt