Skip to content

Latest commit

 

History

History
74 lines (50 loc) · 2.94 KB

README.md

File metadata and controls

74 lines (50 loc) · 2.94 KB

esp-generate

Template generation tool to create no_std applications targeting Espressif's line of SoCs and modules.

At present, this template supports the ESP32, ESP32-C2/C3/C6, ESP32-H2, and ESP32-S2/S3. Support for additional devices will be added as they become available.

Note

This project is still in the early stages of development. If you encounter any problems, or you would like to see any feature added, please open an issue or start a discussion.

Quickstart

To generate a proect using this template:

  1. Install esp-generate:
cargo install esp-generate
  1. Generate a project. There are two options:

    1. Using the Terminal User Interface (TUI):

      esp-generate --chip esp32 your-project
      

      Replace the chip and project name accordingly, and select the desired options using the TUI.

    2. Using the Command Line Interface (CLI), adding the options to the esp-generate command:

      esp-generate --chip esp32 -o alloc -o wifi your-project
      

      Replace the chip and project name accordingly, and select the desired options using the -o/--option flag. For a full list of available options, see Available Options section of this README.

Available Options

  • alloc: Enables allocations via the esp-alloc crate.
  • wifi: Enables Wi-Fi via the esp-wifi crate; requires alloc.
  • ble: Enables BLE via the esp-wifi crate; requires alloc.
  • embassy: Adds embassy framework support.
  • probe-rs: Enables defmt and flashes using probe-rs instead of espflash.
  • optional: Enables the following set of options:
  • editors: Select the editors that will be used with Rust-Analyzer:
    • helix: The Helix Editor
    • vscode: Visual Studio Code

License

Licensed under either of:

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 dual licensed as above, without any additional terms or conditions.