1 unstable release
Uses new Rust 2024
| 0.1.1 | Nov 24, 2025 |
|---|---|
| 0.1.0 |
|
#6 in #ieee-802-11
170KB
3.5K
SLoC
Ferris on Air
Ferris on Air (FoA) is an open source 802.11 stack for the ESP32 written in async rust, with the work of the esp32-open-mac project. The stack is intended to be used with embassy and is still in very early stages of development. We do not claim to be Wi-Fi certified, but implement the features specified by IEEE 802.11 to our best knowledge.
Design
The main FoA crate acts as a multiplexer, that divides access to the hardware up
into a number of virtual interfaces (VIF's). These can then be passed to interface
implementations, like foa_sta or
foa_dswifi. These interface
implementations can coexist, enabling things like AP/STA operation in the future.
Structure
The foa crate contains the LMAC, TX buffer management and RX ARC buffer management.
foa_sta contains a rudimentary implementation of a station interface.
examples contain a set of examples showing how to use different parts of the stack.
Usage
For a concrete usage example, see examples. These examples can be run with
./run_example.sh <EXAMPLE_NAME> <CHIP> [SSID] [LOG_LEVEL].
Note
The docs sometimes contain anecdotes I left during coding, since I believe them to be interesting.
License
This project is licensed under Apache 2.0 or MIT at your option.
Dependencies
~99MB
~501K SLoC