16 releases (breaking)
new 0.12.0 | Jan 15, 2025 |
---|---|
0.11.0 | Nov 20, 2024 |
0.10.1 | Oct 10, 2024 |
0.7.1 | Jul 17, 2024 |
0.1.1 | Nov 27, 2023 |
#52 in Embedded development
3,337 downloads per month
Used in martos
3.5MB
74K
SLoC
esp-wifi
A WiFi, BLE and ESP-NOW driver for Espressif microcontrollers.
Note that this crate currently requires you to enable the unstable
feature on esp-hal
.
Current support
If a cell contains an em dash (—) this means that the particular feature is not present for a chip. A check mark (✓) means that some driver implementation exists. A Tilde (˜) means it is implemented but buggy. An empty cell means that the feature is present in the chip but not implemented yet.
Wifi | BLE | Coex | ESP-NOW | |
---|---|---|---|---|
ESP32 | ✓ | ✓ | ✓ | ✓ |
ESP32-C2 | ✓ | ✓ | ✓ | ✓ |
ESP32-C3 | ✓ | ✓ | ✓ | ✓ |
ESP32-C6 | ✓ | ✓ | ✓ | ✓ |
ESP32-H2 | — | ✓ | — | — |
ESP32-S2 | ✓ | — | — | ✓ |
ESP32-S3 | ✓ | ✓ | ✓ | ✓ |
Missing / To be done
- Support for non-open SoftAP
Directory Structure
src/timer/
: systimer code used for timing and task switchingsrc/preemt/
: a bare minimum RISCV and Xtensa round-robin task schedulersrc/compat/
: code needed to emulate enough of an (RT)OS to use the drivercommon.rs
: basics like semaphores and recursive mutexestimer_compat.rs
: code to emulate timer related functionality
examples/*.rs
: examples
Driver version
This uses the WiFi drivers from https://github.com/esp-rs/esp-wireless-drivers-3rdparty
v5.1.2-602-gdb1e54a0c5-dirty commit db1e54a0c537d8b2cc2bd109ee88b50e1ca0ea80
https://github.com/esp-rs/esp-wireless-drivers-3rdparty/ (commit ca2809144cf6d2f89d413f1d415f1c4454ee6249)
Minimum Supported Rust Version (MSRV)
This crate is guaranteed to compile when using the latest stable Rust version at the time of the crate's release. It might compile with older versions, but that may change in any new release, including patches.
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
~94MB
~389K SLoC