File
Blob: firmware/crates/esp32-radio/src/lib.rs
| 1 | //! ESP32-S3 application. Only `platform` and the C entry point use unsafe code. |
| 2 | mod analysis; |
| 3 | mod app; |
| 4 | mod console; |
| 5 | mod error; |
| 6 | mod metrics; |
| 7 | mod platform; |
| 8 | mod radio; |
| 9 | mod signaling; |
| 10 | mod station; |
| 11 | |
| 12 | // SAFETY: unique symbol called exactly once by platform/entry.c on app_main's |
| 13 | // task. No arguments or Rust-owned values cross C ABI. Panics abort, never unwind. |
| 14 | #[unsafe(no_mangle)] |
| 15 | pub extern "C" fn radio_rust_main() { |
| 16 | if let Err(error) = app::run() { |
| 17 | app::recover(error); |
| 18 | } |
| 19 | } |