#template #esp32 #espressif #generation #create #targeting #applications

app esp-generate

Template generation tool to create no_std applications targeting Espressif's chips

3 unstable releases

0.2.1 Nov 26, 2024
0.2.0 Nov 22, 2024
0.1.0 Nov 7, 2024

#20 in Template engine

Download history 124/week @ 2024-11-04 108/week @ 2024-11-11 343/week @ 2024-11-18 376/week @ 2024-11-25 146/week @ 2024-12-02 175/week @ 2024-12-09

1,067 downloads per month

MIT/Apache

51KB
832 lines

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.

Dependencies

~12–22MB
~313K SLoC