Cargo Features

[dependencies]
esp-wifi = { version = "0.10.1", default-features = false, features = ["esp-alloc", "esp32c2", "esp32c3", "esp32c6", "esp32h2", "esp32", "esp32s2", "esp32s3", "async", "embassy-net", "coex", "sys-logs", "dump-packets", "smoltcp", "utils", "wifi", "ble", "phy-enable-usb", "ps-min-modem", "ps-max-modem", "esp-now", "ipv6", "ipv4", "tcp", "udp", "icmp", "igmp", "dns", "dhcpv4", "wifi-default", "defmt", "log", "sniffer", "have-strchr"] }
default = esp-alloc

The esp-alloc feature is set by default whenever esp-wifi is added without default-features = false somewhere in the dependency tree.

esp-alloc default

Use esp-alloc for dynamic allocations.

If you opt-out you need to provide implementations for pub extern "C" fn esp_wifi_free_internal_heap() -> usize and pub extern "C" fn esp_wifi_allocate_from_internal_ram(size: usize) -> *mut u8

Enables esp-alloc

Affects malloc::esp_wifi_free_internal_heap, malloc::esp_wifi_allocate_from_internal_ram

esp32c2

Chip Support Feature Flags
Target the ESP32-C2.

Enables esp32c2 of esp-hal and esp-wifi-sys

esp32c3

Target the ESP32-C3.

Enables esp32c3 of esp-hal and esp-wifi-sys

esp32c6

Target the ESP32-C6.

Enables esp32c6 of esp-hal and esp-wifi-sys

Affects common_adapter::floor

esp32h2

Target the ESP32-H2.

Enables esp32h2 of esp-hal and esp-wifi-sys

esp32

Target the ESP32.

Enables float-save-restore of xtensa-lx-rt, esp32 of esp-hal and esp-wifi-sys

esp32s2

Target the ESP32-S2.

Enables float-save-restore of xtensa-lx-rt, esp32s2 of esp-hal and esp-wifi-sys

esp32s3

Target the ESP32-S3.

Enables float-save-restore of xtensa-lx-rt, esp32s3 of esp-hal and esp-wifi-sys

async embassy-net?

Enable Async support

Enables bt-hci, embassy-sync, and embedded-io-async

Affects btdm::have_hci_read_data, controller::asynch, npl::have_hci_read_data

embassy-net = async

Enable embassy-net support

Enables embassy-net-driver

coex

Enable WiFi-BLE coexistence support

sys-logs

Logs the WiFi logs from the driver at log level info (needs a nightly-compiler)

Enables sys-logs of esp-wifi-sys

Affects os_adapter::log_write, os_adapter::log_writev

dump-packets

Dumps packet info at log level info

smoltcp utils?

Provide implementations of smoltcp traits

Enables smoltcp

utils dhcpv4? ipv4? ipv6? = smoltcp

Provide utilities for smoltcp initialization. Adds smoltcp dependency

Affects wifi::utils

wifi dhcpv4? esp-now? ipv4? ipv6? sniffer?

Enable WiFi support

Enables enumset and no-std-net

Affects esp-wifi::wifi, esp-wifi::wifi_interface

ble

Enable BLE support

Enables bluetooth of esp-hal

Affects esp-wifi::ble

phy-enable-usb

See USB-SERIAL-JTAG below

ps-min-modem

Enable minimum modem sleep. Only affects STA mode

ps-max-modem

Enable maximum modem sleep. Only affects STA mode

esp-now = wifi

Enable esp-now support

Affects esp-wifi::esp_now

ipv6 = utils, wifi

IPv6 support. Includes utils feature

Enables proto-ipv6 of optional smoltcp

ipv4 icmp? igmp? tcp? udp? wifi-default? = utils, wifi

IPv4 support. Includes utils feature

Enables proto-ipv4 of optional smoltcp

tcp wifi-default? = ipv4

TCP socket support. Includes ipv4 feature

Enables socket-tcp of optional smoltcp

Affects wifi_interface::Socket, esp-wifi::wifi_interface

udp dns? wifi-default? = ipv4

UDP socket support. Includes ipv4 feature

Enables socket-udp of optional smoltcp

Affects wifi_interface::UdpSocket, esp-wifi::wifi_interface

icmp wifi-default? = ipv4

ICMP socket support. Includes ipv4 feature

Enables socket-icmp of optional smoltcp

igmp wifi-default? = ipv4

IGMP (multicast) support. Includes ipv4 featu

Enables proto-igmp of optional smoltcp

dns wifi-default? = udp

DNS support. Includes udp feature

Enables proto-dns and socket-dns of optional smoltcp

dhcpv4 wifi-default? = utils, wifi

DHCPv4 support, both creating sockets and autoconfiguring network settings. Includes utils feature

Enables proto-dhcpv4 and socket-dhcpv4 of optional smoltcp

wifi-default = dhcpv4, dns, icmp, igmp, ipv4, tcp, udp

Convenience to enable "ipv4", "tcp", "udp", "icmp", "igmp", "dns", "dhcpv4"

defmt

Enable support for defmt

Enables defmt, defmt of optional bt-hci, defmt of esp-hal, esp-wifi-sys, and optional smoltcp

log

Enable support for the log crate

Enables log, log of esp-hal and esp-wifi-sys

sniffer = wifi

Enable sniffer mode support

Affects wifi::PromiscuousPkt, wifi::Sniffer

have-strchr

Don't include strchr - not shown in docs

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

xtensa-lx-rt esp32? esp32s2? esp32s3?