aboutsummaryrefslogtreecommitdiff
path: root/examples/stm32h7/src
diff options
context:
space:
mode:
authorThales Fragoso <[email protected]>2021-06-20 16:46:26 -0300
committerThales Fragoso <[email protected]>2021-06-20 17:15:18 -0300
commitaca0fb10651359b5a3939f7424ac0a78ef20cc27 (patch)
treee47b640f37c9daab65f2577f6a23e4e2b12be290 /examples/stm32h7/src
parent06d69a802856f9064c41dae814070b4e1ad5cf02 (diff)
net: Make the user pass in the StackResources in init
By having the user pass in the resources, we can make them generic, this way the user can choose the size of the individual resources
Diffstat (limited to 'examples/stm32h7/src')
-rw-r--r--examples/stm32h7/src/bin/eth.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/examples/stm32h7/src/bin/eth.rs b/examples/stm32h7/src/bin/eth.rs
index 57997da0a..7d7ff941e 100644
--- a/examples/stm32h7/src/bin/eth.rs
+++ b/examples/stm32h7/src/bin/eth.rs
@@ -16,7 +16,9 @@ use embassy::io::AsyncWriteExt;
16use embassy::time::{Duration, Timer}; 16use embassy::time::{Duration, Timer};
17use embassy::util::Forever; 17use embassy::util::Forever;
18use embassy_macros::interrupt_take; 18use embassy_macros::interrupt_take;
19use embassy_net::{Config as NetConfig, Ipv4Address, Ipv4Cidr, StaticConfigurator, TcpSocket}; 19use embassy_net::{
20 Config as NetConfig, Ipv4Address, Ipv4Cidr, StackResources, StaticConfigurator, TcpSocket,
21};
20use embassy_stm32::clock::{Alarm, Clock}; 22use embassy_stm32::clock::{Alarm, Clock};
21use embassy_stm32::eth::lan8742a::LAN8742A; 23use embassy_stm32::eth::lan8742a::LAN8742A;
22use embassy_stm32::eth::Ethernet; 24use embassy_stm32::eth::Ethernet;
@@ -43,8 +45,10 @@ async fn main_task(
43 config: &'static mut StaticConfigurator, 45 config: &'static mut StaticConfigurator,
44 spawner: Spawner, 46 spawner: Spawner,
45) { 47) {
48 let net_resources = NET_RESOURCES.put(StackResources::new());
49
46 // Init network stack 50 // Init network stack
47 embassy_net::init(device, config); 51 embassy_net::init(device, config, net_resources);
48 52
49 // Launch network task 53 // Launch network task
50 unwrap!(spawner.spawn(net_task())); 54 unwrap!(spawner.spawn(net_task()));
@@ -97,6 +101,7 @@ static ALARM: Forever<Alarm<TIM2>> = Forever::new();
97static ETH: Forever<Ethernet<'static, LAN8742A, 4, 4>> = Forever::new(); 101static ETH: Forever<Ethernet<'static, LAN8742A, 4, 4>> = Forever::new();
98static DEVICE: Forever<Pin<&'static mut Ethernet<'static, LAN8742A, 4, 4>>> = Forever::new(); 102static DEVICE: Forever<Pin<&'static mut Ethernet<'static, LAN8742A, 4, 4>>> = Forever::new();
99static CONFIG: Forever<StaticConfigurator> = Forever::new(); 103static CONFIG: Forever<StaticConfigurator> = Forever::new();
104static NET_RESOURCES: Forever<StackResources<1, 2, 8>> = Forever::new();
100 105
101#[entry] 106#[entry]
102fn main() -> ! { 107fn main() -> ! {