[package]
edition = "2021"
name = "esp-p4-eth"
version = "0.1.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "no_std async Ethernet MAC driver for ESP32-P4 RMII designs (embassy-net compatible)"
homepage = "https://github.com/babasha/esp-p4-eth"
documentation = "https://docs.rs/esp-p4-eth"
readme = "README.md"
keywords = [
"esp32",
"esp32p4",
"ethernet",
"embassy",
"no-std",
]
categories = [
"embedded",
"network-programming",
"no-std",
"hardware-support",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/babasha/esp-p4-eth"
[features]
default = [
"mock-time",
"embassy-net-tcp",
"embassy-net-icmp",
]
dev-examples = []
embassy-net-icmp = ["embassy-net/auto-icmp-echo-reply"]
embassy-net-tcp = ["embassy-net/tcp"]
embassy-net-udp = ["embassy-net/udp"]
fuzzing = []
hal-integration = ["dep:esp-hal"]
hal-smoke = [
"hal-integration",
"esp-hal/esp32c6",
"esp-hal/unstable",
]
ip101 = []
mock-time = ["embassy-time/mock-driver"]
p4-example = []
p4-time-driver = [
"embassy-time/tick-hz-1_000_000",
"dep:embassy-time-driver",
"dep:embassy-time-queue-utils",
]
p4-time-driver-irq = [
"embassy-time/tick-hz-1_000_000",
"dep:embassy-time-driver",
"dep:embassy-time-queue-utils",
]
phy-init-debug = []
[lib]
name = "esp_p4_eth"
path = "src/lib.rs"
[[example]]
name = "clic_irq_smoke"
path = "examples/dev/clic_irq_smoke.rs"
test = false
bench = false
required-features = [
"p4-example",
"dev-examples",
]
[[example]]
name = "clk_dump"
path = "examples/dev/clk_dump.rs"
test = false
bench = false
required-features = [
"p4-example",
"dev-examples",
]
[[example]]
name = "dhcp_echo"
path = "examples/dev/dhcp_echo.rs"
test = false
bench = false
required-features = [
"p4-example",
"dev-examples",
]
[[example]]
name = "emac_dhcp"
path = "examples/dev/emac_dhcp.rs"
test = false
bench = false
required-features = [
"p4-example",
"dev-examples",
]
[[example]]
name = "emac_hello"
path = "examples/dev/emac_hello.rs"
test = false
bench = false
required-features = [
"p4-example",
"dev-examples",
]
[[example]]
name = "emac_init"
path = "examples/dev/emac_init.rs"
test = false
bench = false
required-features = [
"p4-example",
"dev-examples",
]
[[example]]
name = "emac_loopback"
path = "examples/dev/emac_loopback.rs"
test = false
bench = false
required-features = [
"p4-example",
"dev-examples",
]
[[example]]
name = "emac_raw"
path = "examples/dev/emac_raw.rs"
test = false
bench = false
required-features = [
"p4-example",
"dev-examples",
]
[[example]]
name = "embassy_dhcp"
path = "examples/embassy_dhcp.rs"
test = false
bench = false
required-features = [
"p4-example",
"p4-time-driver",
]
[[example]]
name = "embassy_irq_smoke"
path = "examples/dev/embassy_irq_smoke.rs"
test = false
bench = false
required-features = [
"p4-example",
"p4-time-driver-irq",
"dev-examples",
]
[[example]]
name = "embassy_smoke"
path = "examples/dev/embassy_smoke.rs"
test = false
bench = false
required-features = [
"p4-example",
"dev-examples",
]
[[example]]
name = "embassy_static_ping"
path = "examples/embassy_static_ping.rs"
test = false
bench = false
required-features = [
"p4-example",
"p4-time-driver",
"embassy-net-icmp",
]
[[example]]
name = "embassy_tcp_echo"
path = "examples/dev/embassy_tcp_echo.rs"
test = false
bench = false
required-features = [
"p4-example",
"p4-time-driver",
"embassy-net-tcp",
"dev-examples",
]
[[example]]
name = "embassy_tcp_echo_irq"
path = "examples/embassy_tcp_echo_irq.rs"
test = false
bench = false
required-features = [
"p4-example",
"p4-time-driver-irq",
"embassy-net-tcp",
]
[[example]]
name = "embassy_tcp_soak"
path = "examples/embassy_tcp_soak.rs"
test = false
bench = false
required-features = [
"p4-example",
"p4-time-driver-irq",
"embassy-net-tcp",
]
[[example]]
name = "embassy_tcp_stress_irq"
path = "examples/dev/embassy_tcp_stress_irq.rs"
test = false
bench = false
required-features = [
"p4-example",
"p4-time-driver-irq",
"embassy-net-tcp",
"dev-examples",
]
[[example]]
name = "embassy_time_smoke"
path = "examples/dev/embassy_time_smoke.rs"
test = false
bench = false
required-features = [
"p4-example",
"p4-time-driver",
"dev-examples",
]
[[example]]
name = "embassy_udp_echo"
path = "examples/dev/embassy_udp_echo.rs"
test = false
bench = false
required-features = [
"p4-example",
"p4-time-driver",
"embassy-net-udp",
"dev-examples",
]
[[example]]
name = "mdio_test"
path = "examples/dev/mdio_test.rs"
test = false
bench = false
required-features = [
"p4-example",
"dev-examples",
]
[[example]]
name = "phy_init_diag"
path = "examples/dev/phy_init_diag.rs"
test = false
bench = false
required-features = [
"p4-example",
"p4-time-driver-irq",
"phy-init-debug",
"dev-examples",
]
[[example]]
name = "phy_probe"
path = "examples/dev/phy_probe.rs"
test = false
bench = false
required-features = [
"p4-example",
"dev-examples",
]
[[example]]
name = "static_ip"
path = "examples/dev/static_ip.rs"
test = false
bench = false
required-features = [
"p4-example",
"dev-examples",
]
[[example]]
name = "systimer_probe"
path = "examples/dev/systimer_probe.rs"
test = false
bench = false
required-features = [
"p4-example",
"dev-examples",
]
[dependencies.critical-section]
version = "1.2"
default-features = false
[dependencies.embassy-executor]
version = "0.9"
features = [
"arch-riscv32",
"executor-thread",
]
[dependencies.embassy-futures]
version = "0.1"
[dependencies.embassy-net]
version = "0.9"
features = [
"medium-ethernet",
"proto-ipv4",
"dhcpv4",
]
default-features = false
[dependencies.embassy-net-driver-channel]
version = "0.3"
[dependencies.embassy-sync]
version = "0.7"
[dependencies.embassy-time]
version = "0.5"
default-features = false
[dependencies.embassy-time-driver]
version = "0.2"
optional = true
default-features = false
[dependencies.embassy-time-queue-utils]
version = "0.3"
optional = true
default-features = false
[dependencies.esp-hal]
version = "~1.0"
features = ["requires-unstable"]
optional = true
default-features = false
[dependencies.heapless]
version = "0.9"
default-features = false
[dependencies.static_cell]
version = "2"
[dependencies.vcell]
version = "0.1"
[target.riscv32imafc-unknown-none-elf.dev-dependencies.esp32p4]
version = "0.2.0"
features = ["rt"]
[target.riscv32imafc-unknown-none-elf.dev-dependencies.panic-halt]
version = "1.0"
[target.riscv32imafc-unknown-none-elf.dev-dependencies.riscv]
version = "0.15.0"
features = ["critical-section-single-hart"]
[target.riscv32imafc-unknown-none-elf.dev-dependencies.riscv-rt]
version = "0.16.0"
features = [
"memory",
"device",
]
[target.x86_64-pc-windows-msvc.dev-dependencies.critical-section]
version = "1.2"
features = ["std"]
[target.x86_64-unknown-linux-gnu.dev-dependencies.critical-section]
version = "1.2"
features = ["std"]