Skip to content

diondokter/device-driver

Device driver toolkit #![no_std] crates.io Documentation

A toolkit to write better device drivers, faster.

Read the book to learn about how to use the project to build your own device drivers.

Versions

Architecture

This toolkit consists of these parts:

  • device-driver: The main crate you as the writer of a driver should include in your project. It is the runtime used by the generated code and offers an optional macro to easily compile DDSL code in your Rust project.
  • compiler: The set of crates that form the compiler.
    • device-driver-cli: The source for the ddc binary, the traditional compiler executable for DDSL.
    • device-driver-macros: The compiler in Rust macro form.
    • device-driver-wasm: The compiler in wasm-bindgen form.
  • website: The source of the device-driver.com website.
  • tests: A suite of tests that presents input files and compares the known output with the generated output.

Of these, only the device-driver and device-driver-cli crates are considered public.

Semver

Anything that can reasonably break user code will warrant a breaking semver bump. This only holds if the user is only consuming 'public' device-driver code.

License

Code licensed under either of

at your option.

All non-code work, unless indicated otherwise, is licensed under CC BY 4.0, to be attributed to Dion Dokter & device-driver contributors.

All trademarks are owned by Dion Dokter.

Contribution

Unless you explicitly state otherwise, any code contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Similarly, any non-code contribution shall be licenced under CC BY 4.0 and any trademark ownership shall be transferred to Dion Dokter.

Contributions must be in accordance with the notices in CONTRIBUTING.md.

About

A toolkit to create better Rust device drivers, faster

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Contributing

Stars

Watchers

Forks

Contributors