aboutsummaryrefslogtreecommitdiff
path: root/examples/std
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
parent2eae12b7f1cbe38d850ebf30f23a776323815af6 (diff)
Add smoltcp dhcp socket configuration
Diffstat (limited to 'examples/std')
-rw-r--r--examples/std/Cargo.toml2
-rw-r--r--examples/std/src/bin/net.rs15
-rw-r--r--examples/std/src/bin/net_udp.rs13
3 files changed, 11 insertions, 19 deletions
diff --git a/examples/std/Cargo.toml b/examples/std/Cargo.toml
index 45b2a4a4f..af1481e08 100644
--- a/examples/std/Cargo.toml
+++ b/examples/std/Cargo.toml
@@ -17,7 +17,7 @@ async-io = "1.6.0"
17env_logger = "0.9.0" 17env_logger = "0.9.0"
18futures = { version = "0.3.17" } 18futures = { version = "0.3.17" }
19log = "0.4.14" 19log = "0.4.14"
20nix = "0.22.1" 20nix = "0.26.2"
21libc = "0.2.101" 21libc = "0.2.101"
22clap = { version = "3.0.0-beta.5", features = ["derive"] } 22clap = { version = "3.0.0-beta.5", features = ["derive"] }
23rand_core = { version = "0.6.3", features = ["std"] } 23rand_core = { version = "0.6.3", features = ["std"] }
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();
diff --git a/examples/std/src/bin/net_udp.rs b/examples/std/src/bin/net_udp.rs
index 392a97f0d..d1a8fe1e0 100644
--- a/examples/std/src/bin/net_udp.rs
+++ b/examples/std/src/bin/net_udp.rs
@@ -3,7 +3,7 @@
3use clap::Parser; 3use clap::Parser;
4use embassy_executor::{Executor, Spawner}; 4use embassy_executor::{Executor, Spawner};
5use embassy_net::udp::UdpSocket; 5use embassy_net::udp::UdpSocket;
6use embassy_net::{ConfigStrategy, Ipv4Address, Ipv4Cidr, PacketMetadata, Stack, StackResources}; 6use embassy_net::{Config, Ipv4Address, Ipv4Cidr, PacketMetadata, Stack, StackResources};
7use heapless::Vec; 7use heapless::Vec;
8use log::*; 8use log::*;
9use rand_core::{OsRng, RngCore}; 9use rand_core::{OsRng, RngCore};
@@ -47,13 +47,13 @@ async fn main_task(spawner: Spawner) {
47 47
48 // Choose between dhcp or static ip 48 // Choose between dhcp or static ip
49 let config = if opts.static_ip { 49 let config = if opts.static_ip {
50 ConfigStrategy::Static(embassy_net::Config { 50 Config::Static(embassy_net::StaticConfig {
51 address: Ipv4Cidr::new(Ipv4Address::new(192, 168, 69, 2), 24), 51 address: Ipv4Cidr::new(Ipv4Address::new(192, 168, 69, 2), 24),
52 dns_servers: Vec::new(), 52 dns_servers: Vec::new(),
53 gateway: Some(Ipv4Address::new(192, 168, 69, 1)), 53 gateway: Some(Ipv4Address::new(192, 168, 69, 1)),
54 }) 54 })
55 } else { 55 } else {
56 ConfigStrategy::Dhcp 56 Config::Dhcp(Default::default())
57 }; 57 };
58 58
59 // Generate random seed 59 // Generate random seed
@@ -62,12 +62,7 @@ async fn main_task(spawner: Spawner) {
62 let seed = u64::from_le_bytes(seed); 62 let seed = u64::from_le_bytes(seed);
63 63
64 // Init network stack 64 // Init network stack
65 let stack = &*singleton!(Stack::new( 65 let stack = &*singleton!(Stack::new(device, config, singleton!(StackResources::<1>::new()), seed));
66 device,
67 config,
68 singleton!(StackResources::<1, 2, 8>::new()),
69 seed
70 ));
71 66
72 // Launch network task 67 // Launch network task
73 spawner.spawn(net_task(stack)).unwrap(); 68 spawner.spawn(net_task(stack)).unwrap();