aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: f475889e7b90580832b847f20301c0de791ead96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# usb-host

[![Documentation](https://docs.rs/usb-host/badge.svg)](https://docs.rs/usb-host)
[![Testing](https://api.travis-ci.org/repos/bjc/usb-host.svg?branch=master)](https://travis-ci.org/bjc/usb-host)

This is a collection of traits that mediate between drivers for USB
peripherals and USB Host.

# Warning

This is still very early days, yet, and everything should be
considered experimental. However, it has been used to write a [driver
for a boot protocol keyboard](https://github.com/bjc/bootkbd), and can
presumably be used for other drivers as well.

The traits and structures defined in this crate are probably not
sufficient for general use. They are being kept purposefully minimal
to ease maintenance burden for implementors of these traits. If you
think there need to be further definitions, please open an issue (or,
even better, a pull request) on github describing the need.


A (partial) list of things that need to be changed, or at least looked
at, is maintained in `TODO.org`.

# Device driver crates.
  * [bootkbd](https://github.com/bjc/bootkbd) - A very simple
    boot-protocol keyboard driver.

# Host driver crates.
  * [atsamd-usb-host](https://github.com/bjc/atsamd-usb-host) - Host
    driver implementation for Atmel's SAMD* line of microcontrollers.