-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
86 lines (80 loc) · 3.51 KB
/
Cargo.toml
File metadata and controls
86 lines (80 loc) · 3.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
[package]
name = "rustyfarian-esp-hal-wifi"
version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "Wi-Fi driver for ESP-HAL (bare-metal, no_std)"
keywords = ["wifi", "esp-hal", "embedded", "no-std"]
categories = ["embedded", "no-std", "network-programming"]
[features]
# No default features: bare-metal targets require explicit chip selection.
# Enabling a chip feature pulls in esp-hal, esp-radio, esp-rtos, and esp-alloc.
#
# As of esp-radio 0.18 the bare-metal Wi-Fi controller is async-only and
# direct `smoltcp` integration was removed in favour of `embassy-net`, so the
# `embassy` feature is effectively required to do anything useful on top of
# the chip feature.
esp32c6 = [
"dep:esp-hal", "esp-hal/esp32c6",
"dep:esp-radio", "esp-radio/esp32c6", "esp-radio/wifi", "esp-radio/esp-alloc", "esp-radio/unstable", "esp-radio/log-04",
"dep:esp-rtos", "esp-rtos/esp32c6", "esp-rtos/esp-radio", "esp-rtos/esp-alloc",
"dep:esp-alloc",
"dep:esp-backtrace", "esp-backtrace/esp32c6",
"dep:esp-bootloader-esp-idf", "esp-bootloader-esp-idf/esp32c6",
"dep:esp-println", "esp-println/esp32c6", "esp-println/jtag-serial", "esp-println/log-04",
"rustyfarian-esp-hal-ws2812?/esp32c6",
]
esp32c3 = [
"dep:esp-hal", "esp-hal/esp32c3",
"dep:esp-radio", "esp-radio/esp32c3", "esp-radio/wifi", "esp-radio/esp-alloc", "esp-radio/unstable", "esp-radio/log-04",
"dep:esp-rtos", "esp-rtos/esp32c3", "esp-rtos/esp-radio", "esp-rtos/esp-alloc",
"dep:esp-alloc",
"dep:esp-backtrace", "esp-backtrace/esp32c3",
"dep:esp-bootloader-esp-idf", "esp-bootloader-esp-idf/esp32c3",
"dep:esp-println", "esp-println/esp32c3", "esp-println/uart", "esp-println/log-04",
]
unstable = ["esp-hal/unstable"]
rt = ["esp-hal/rt"]
# Opt-in async support via the embassy ecosystem. As of esp-radio 0.18 this
# feature is required alongside any chip feature for a working Wi-Fi build.
embassy = [
"dep:embassy-executor",
"dep:embassy-net",
"dep:embassy-time",
"dep:static_cell",
"dep:embedded-io-async",
"esp-rtos?/embassy",
]
[dependencies]
wifi-pure.workspace = true
embedded-hal.workspace = true
pennant.workspace = true
rgb.workspace = true
log.workspace = true
esp-hal = { workspace = true, features = ["unstable"], optional = true }
esp-radio = { workspace = true, optional = true }
esp-rtos = { workspace = true, optional = true }
esp-alloc = { workspace = true, optional = true }
esp-backtrace = { workspace = true, optional = true }
esp-bootloader-esp-idf = { workspace = true, optional = true }
esp-println = { workspace = true, optional = true }
rustyfarian-esp-hal-ws2812 = { workspace = true, optional = true }
# Embassy (optional — activated by the `embassy` feature)
embassy-executor = { workspace = true, optional = true }
embassy-net = { workspace = true, optional = true, features = ["dhcpv4", "proto-ipv4", "medium-ethernet"] }
embassy-time = { workspace = true, optional = true }
static_cell = { workspace = true, optional = true }
# Re-exported via the `embassy` feature for downstream socket code that needs
# `AsyncRead` / `AsyncWrite`. Not used inside this crate yet.
embedded-io-async = { workspace = true, optional = true }
[[example]]
name = "hal_c3_connect_async"
required-features = ["esp32c3", "rt", "embassy"]
[[example]]
name = "hal_c3_connect_async_led"
required-features = ["esp32c3", "rt", "embassy"]
[[example]]
name = "hal_c6_connect_async_led"
required-features = ["esp32c6", "rt", "embassy", "rustyfarian-esp-hal-ws2812"]