diff --git a/esp/rust/02_esp-idf-no-std/.cargo/config.toml b/esp/rust/02_esp-idf-no-std/.cargo/config.toml deleted file mode 100644 index 8ec54fa..0000000 --- a/esp/rust/02_esp-idf-no-std/.cargo/config.toml +++ /dev/null @@ -1,15 +0,0 @@ -[build] -target = "xtensa-esp32-espidf" - -[target.xtensa-esp32-espidf] -linker = "ldproxy" -runner = "espflash flash --monitor" -rustflags = [ "--cfg", "espidf_time64"] - -[unstable] -build-std = ["std", "panic_abort"] - -[env] -MCU="esp32" -# Note: this variable is not used by the pio builder (`cargo build --features pio`) -ESP_IDF_VERSION = "v5.3.3" diff --git a/esp/rust/02_esp-idf-no-std/.github/workflows/rust_ci.yml b/esp/rust/02_esp-idf-no-std/.github/workflows/rust_ci.yml deleted file mode 100644 index b69d289..0000000 --- a/esp/rust/02_esp-idf-no-std/.github/workflows/rust_ci.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Continuous Integration - -on: - push: - branches: - - main - paths-ignore: - - "**/README.md" - pull_request: - workflow_dispatch: - -env: - CARGO_TERM_COLOR: always - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - -jobs: - rust-checks: - name: Rust Checks - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - action: - - command: build - args: --release - - command: fmt - args: --all -- --check --color always - - command: clippy - args: --all-targets --all-features --workspace -- -D warnings - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - name: Setup Rust - uses: esp-rs/xtensa-toolchain@v1.6 - with: - default: true - buildtargets: esp32 - ldproxy: true - - name: Enable caching - uses: Swatinem/rust-cache@v2 - - name: Run command - run: cargo ${{ matrix.action.command }} ${{ matrix.action.args }} diff --git a/esp/rust/02_esp-idf-no-std/.gitignore b/esp/rust/02_esp-idf-no-std/.gitignore deleted file mode 100644 index 73a638b..0000000 --- a/esp/rust/02_esp-idf-no-std/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/.vscode -/.embuild -/target -/Cargo.lock diff --git a/esp/rust/02_esp-idf-no-std/Cargo.toml b/esp/rust/02_esp-idf-no-std/Cargo.toml deleted file mode 100644 index bdeb34a..0000000 --- a/esp/rust/02_esp-idf-no-std/Cargo.toml +++ /dev/null @@ -1,47 +0,0 @@ -[package] -name = "esp-idf-rust-no-std" -version = "0.1.0" -authors = ["Shaun Reed "] -edition = "2021" -resolver = "2" -rust-version = "1.77" - -[[bin]] -name = "esp-idf-rust-no-std" -harness = false # do not use the built in cargo test harness -> resolve rust-analyzer errors - -[profile.release] -opt-level = "s" - -[profile.dev] -debug = true # Symbols are nice and they don't increase the size on Flash -opt-level = "z" - -[features] -default = [] - -experimental = ["esp-idf-svc/experimental"] - -[dependencies] -log = "0.4" -esp-idf-svc = "0.51" - -# --- Optional Embassy Integration --- -# esp-idf-svc = { version = "0.51", features = ["critical-section", "embassy-time-driver", "embassy-sync"] } - -# If you enable embassy-time-driver, you MUST also add one of: - -# a) Standalone Embassy libs ( embassy-time, embassy-sync etc) with a foreign async runtime: -# embassy-time = { version = "0.4.0", features = ["generic-queue-8"] } # NOTE: any generic-queue variant will work - -# b) With embassy-executor: -# embassy-executor = { version = "0.7", features = ["executor-thread", "arch-std"] } - -# NOTE: if you use embassy-time with embassy-executor you don't need the generic-queue-8 feature - -# --- Temporary workaround for embassy-executor < 0.8 --- -# esp-idf-svc = { version = "0.51", features = ["embassy-time-driver", "embassy-sync"] } -# critical-section = { version = "1.1", features = ["std"], default-features = false } - -[build-dependencies] -embuild = "0.33" diff --git a/esp/rust/02_esp-idf-no-std/README.md b/esp/rust/02_esp-idf-no-std/README.md deleted file mode 100644 index 267051a..0000000 --- a/esp/rust/02_esp-idf-no-std/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# 02_esp-idf-no-std - -This is an example of using ESP-IDF using no std using templates provided by https://github.com/esp-rs/esp-idf-template. -When flashed to a device, the application just adjusts the intensity of the on-board LED for visual verification that flashing works correctly. - -Steps used to generate this project - -```bash -cargo install cargo-generate -cargo generate --git https://github.com/esp-rs/esp-idf-template.git --name esp-idf-rust-no-std -d mcu=esp32 -d std=false -``` - -Steps to build and flash this project - -```bash -# Install espflash if you don't have it already -cargo install espflash - -# Export esp-idf build environment -. ~/export-esp.sh - -# Build and flash to the device -cargo build -cargo run -``` - -For more detailed information on setting up a development environment, see [the esp/rust README](/esp/rust/README.md) diff --git a/esp/rust/02_esp-idf-no-std/build.rs b/esp/rust/02_esp-idf-no-std/build.rs deleted file mode 100644 index 112ec3f..0000000 --- a/esp/rust/02_esp-idf-no-std/build.rs +++ /dev/null @@ -1,3 +0,0 @@ -fn main() { - embuild::espidf::sysenv::output(); -} diff --git a/esp/rust/02_esp-idf-no-std/rust-toolchain.toml b/esp/rust/02_esp-idf-no-std/rust-toolchain.toml deleted file mode 100644 index a2f5ab5..0000000 --- a/esp/rust/02_esp-idf-no-std/rust-toolchain.toml +++ /dev/null @@ -1,2 +0,0 @@ -[toolchain] -channel = "esp" diff --git a/esp/rust/02_esp-idf-no-std/sdkconfig.defaults b/esp/rust/02_esp-idf-no-std/sdkconfig.defaults deleted file mode 100644 index c25b89d..0000000 --- a/esp/rust/02_esp-idf-no-std/sdkconfig.defaults +++ /dev/null @@ -1,10 +0,0 @@ -# Rust often needs a bit of an extra main task stack size compared to C (the default is 3K) -CONFIG_ESP_MAIN_TASK_STACK_SIZE=8000 - -# Use this to set FreeRTOS kernel tick frequency to 1000 Hz (100 Hz by default). -# This allows to use 1 ms granularity for thread sleeps (10 ms by default). -#CONFIG_FREERTOS_HZ=1000 - -# Workaround for https://github.com/espressif/esp-idf/issues/7631 -#CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=n -#CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=n diff --git a/esp/rust/02_esp-idf-no-std/src/main.rs b/esp/rust/02_esp-idf-no-std/src/main.rs deleted file mode 100644 index 078cae9..0000000 --- a/esp/rust/02_esp-idf-no-std/src/main.rs +++ /dev/null @@ -1,22 +0,0 @@ -use esp_idf_svc::hal::{}; - -fn main() { - // It is necessary to call this function once. Otherwise some patches to the runtime - // implemented by esp-idf-sys might not link properly. See https://github.com/esp-rs/esp-idf-template/issues/71 - esp_idf_svc::sys::link_patches(); - - // Bind the log crate to the ESP Logging facilities - esp_idf_svc::log::EspLogger::initialize_default(); - let peripherals = Peripherals::take()?; - - - loop { - led.toggle(); - blocking_delay(Duration::from_millis(500)); - } -} - -fn blocking_delay(duration: Duration) { - let delay_start = Instant::now(); - while delay_start.elapsed() < duration {} -}