aboutsummaryrefslogtreecommitdiff
path: root/examples/std/src/bin/net.rs
diff options
context:
space:
mode:
authorPaweł Jan Czochański <[email protected]>2023-01-18 10:10:33 +0100
committerDario Nieuwenhuis <[email protected]>2023-01-19 14:44:01 +0100
commit8f4fae9b36f017a8ab65491ef49b72499a9486dc (patch)
treed5bd2b0df691d7602507093426c3ee5a498c8c5f /examples/std/src/bin/net.rs
parent2eae12b7f1cbe38d850ebf30f23a776323815af6 (diff)
Add smoltcp dhcp socket configuration
Diffstat (limited to 'examples/std/src/bin/net.rs')
-rw-r--r--examples/std/src/bin/net.rs15
1 files changed, 6 insertions, 9 deletions
diff --git a/examples/std/src/bin/net.rs b/examples/std/src/bin/net.rs
index 9b1450b72..1ae39cace 100644
--- a/examples/std/src/bin/net.rs
+++ b/examples/std/src/bin/net.rs
@@ -1,9 +1,11 @@
1#![feature(type_alias_impl_trait)] 1#![feature(type_alias_impl_trait)]
2 2
3use std::default::Default;
4
3use clap::Parser; 5use clap::Parser;
4use embassy_executor::{Executor, Spawner}; 6use embassy_executor::{Executor, Spawner};
5use embassy_net::tcp::TcpSocket; 7use embassy_net::tcp::TcpSocket;
6use embassy_net::{ConfigStrategy, Ipv4Address, Ipv4Cidr, Stack, StackResources}; 8use embassy_net::{Config, Ipv4Address, Ipv4Cidr, Stack, StackResources};
7use embedded_io::asynch::Write; 9use embedded_io::asynch::Write;
8use heapless::Vec; 10use heapless::Vec;
9use log::*; 11use log::*;
@@ -48,13 +50,13 @@ async fn main_task(spawner: Spawner) {
48 50
49 // Choose between dhcp or static ip 51 // Choose between dhcp or static ip
50 let config = if opts.static_ip { 52 let config = if opts.static_ip {
51 ConfigStrategy::Static(embassy_net::Config { 53 Config::Static(embassy_net::StaticConfig {
52 address: Ipv4Cidr::new(Ipv4Address::new(192, 168, 69, 2), 24), 54 address: Ipv4Cidr::new(Ipv4Address::new(192, 168, 69, 2), 24),
53 dns_servers: Vec::new(), 55 dns_servers: Vec::new(),
54 gateway: Some(Ipv4Address::new(192, 168, 69, 1)), 56 gateway: Some(Ipv4Address::new(192, 168, 69, 1)),
55 }) 57 })
56 } else { 58 } else {
57 ConfigStrategy::Dhcp 59 Config::Dhcp(Default::default())
58 }; 60 };
59 61
60 // Generate random seed 62 // Generate random seed
@@ -63,12 +65,7 @@ async fn main_task(spawner: Spawner) {
63 let seed = u64::from_le_bytes(seed); 65 let seed = u64::from_le_bytes(seed);
64 66
65 // Init network stack 67 // Init network stack
66 let stack = &*singleton!(Stack::new( 68 let stack = &*singleton!(Stack::new(device, config, singleton!(StackResources::<1>::new()), seed));
67 device,
68 config,
69 singleton!(StackResources::<1, 2, 8>::new()),
70 seed
71 ));
72 69
73 // Launch network task 70 // Launch network task
74 spawner.spawn(net_task(stack)).unwrap(); 71 spawner.spawn(net_task(stack)).unwrap();