/espressif-trainings

Embedded Rust on Espressif training material.

Primary LanguageRustApache License 2.0Apache-2.0

Embedded Rust Trainings for Espressif

This repository contains Training Material for learning to use Embedded Rust with the Espressif ESP32-C3.

We suggest you start by reading the book.

Contents

There is:

  • A book you can work through - (Source) (Published)
  • Some introductory level examples:
  • Some advanced level examples:
    • Low-level GPIO
    • Interrupts in General
    • I2c Driver (Source)
    • I2c Sensor Reading (Source)
    • GPIO/Button Interrupts (Source)
    • Driving an RGB LED
  • Some useful common crates:
  • Some extra bits:

Please note, much of this material remains a work in progress!

Development

Each Rust example crate provided here can be built in the usual fashion. See the Embedded Rust Bookshelf for general details, or each crate's own README.md file for specifics.

The book is written in Markdown, using mdbook. You can render a local copy by running:

~ $ cargo install mdbook
~ $ git clone https://github.com/ferrous-systems/espressif-trainings.git
~ $ cd espressif-trainings/book
~/espressif-trainings/book $ mdbook serve

A local web-server will be started on http://127.0.0.1:3000 where you can view the rendered book. It will update automatically as you modify Markdown pages on disk.

Note that you must not push to the main branch. Instead undertake any changes in a branch, either in this repository (if you have access) or in a fork. Please do then feel free to open a Pull Request in Github to merge the changes to our main branch.

This work is continually updated and as such there are no 'releases'. Every commit to main gets published to https://espressif-trainings.ferrous-systems.com automatically.

Licence

The material in this repository is licensed CC BY-SA 4.0. All material is Copyright 2022 Ferrous Systems GmbH, unless otherwise stated.

You are free to Share and Adapt but you must give Attribution and Share Alike.

In addition, the source code contained within this repository (either in the book, or as separate examples) is made available under either the MIT or Apache-2.0 licenses, at your option.

Contribution

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

Code of Conduct

Contribution to this crate is organized under the terms of the Rust Code of Conduct, and the maintainer of this crate, Ferrous Systems GmbH, promises to intervene to uphold that code of conduct.