5 unstable releases
new 0.3.0 | Feb 24, 2025 |
---|---|
0.2.2 | Jan 16, 2025 |
0.2.1 | Nov 26, 2024 |
0.2.0 | Nov 22, 2024 |
0.1.0 | Nov 7, 2024 |
#46 in Template engine
829 downloads per month
93KB
1.5K
SLoC
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 project using this template:
- Install
esp-generate
:
cargo install esp-generate
-
Generate a project. There are two options:
-
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.
-
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
unstable-hal
: Enables esp-hal features that may not be ready for general use yet.alloc
: Enables allocations via theesp-alloc
crate.wifi
: Enables Wi-Fi via theesp-wifi
crate; requiresalloc
.ble
: Enables BLE via theesp-wifi
crate; requiresalloc
.embassy
: Addsembassy
framework support.probe-rs
: Replacesespflash
withprobe-rs
and enables RTT-based options.flashing-probe-rs
: Contains options that requireprobe-rs
:defmt
: Adds support fordefmt
printing. Usesrtt-target
as the RTT implementation.panic-rtt-target
: Usespanic-rtt-target
as the panic handler.
flashing-espflash
: Contains options that requireespflash
:log
: Uses thelog
library to print messages.defmt
: Adds support fordefmt
printing. Usesesp-println
and configuresespflash
to decodedefmt
logs.esp-backtrace
: Usesesp-backtrace
as the panic handler.
optional
: Enables the following set of options:wokwi
: Adds support for Wokwi simulation using VS Code Wokwi extension.dev-container
: Adds support for VS Code Dev Containers and GitHub Codespaces.ci
Adds GitHub Actions support with some basics checks.
editors
: Select the editors that will be used with Rust-Analyzer:helix
: The Helix Editorvscode
: Visual Studio Code
License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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
~22–34MB
~515K SLoC