summaryrefslogtreecommitdiff
path: root/src/bin/main.rs
diff options
context:
space:
mode:
authorandromeda <andromeda@lenovo>2026-04-05 21:11:02 +0200
committerandromeda <andromeda@lenovo>2026-04-05 21:11:02 +0200
commit399d59d5e7a01d6d6bd5f8321450f666dc841bef (patch)
tree21f88472b2faa55d127d2fbd4faeb1b4f449de42 /src/bin/main.rs
init
Diffstat (limited to 'src/bin/main.rs')
-rw-r--r--src/bin/main.rs40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/bin/main.rs b/src/bin/main.rs
new file mode 100644
index 0000000..7ead6f2
--- /dev/null
+++ b/src/bin/main.rs
@@ -0,0 +1,40 @@
+#![no_std]
+#![no_main]
+#![deny(
+ clippy::mem_forget,
+ reason = "mem::forget is generally not safe to do with esp_hal types, especially those \
+ holding buffers for the duration of a data transfer."
+)]
+#![deny(clippy::large_stack_frames)]
+
+use esp_backtrace as _;
+use esp_hal::clock::CpuClock;
+use esp_hal::main;
+use esp_hal::time::{Duration, Instant};
+use log::info;
+
+// This creates a default app-descriptor required by the esp-idf bootloader.
+// For more information see: <https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/system/app_image_format.html#application-description>
+esp_bootloader_esp_idf::esp_app_desc!();
+
+#[allow(
+ clippy::large_stack_frames,
+ reason = "it's not unusual to allocate larger buffers etc. in main"
+)]
+#[main]
+fn main() -> ! {
+ // generator version: 1.2.0
+
+ esp_println::logger::init_logger_from_env();
+
+ let config = esp_hal::Config::default().with_cpu_clock(CpuClock::max());
+ let _peripherals = esp_hal::init(config);
+
+ loop {
+ info!("Hello world!");
+ let delay_start = Instant::now();
+ while delay_start.elapsed() < Duration::from_millis(500) {}
+ }
+
+ // for inspiration have a look at the examples at https://github.com/esp-rs/esp-hal/tree/esp-hal-v1.0.0/examples
+}