aboutsummaryrefslogtreecommitdiff
path: root/crates/imxrt1170evk/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/imxrt1170evk/src/main.rs')
-rw-r--r--crates/imxrt1170evk/src/main.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/crates/imxrt1170evk/src/main.rs b/crates/imxrt1170evk/src/main.rs
index 737a6cc..c2db594 100644
--- a/crates/imxrt1170evk/src/main.rs
+++ b/crates/imxrt1170evk/src/main.rs
@@ -1,6 +1,19 @@
use rust_threadx_imxrt1170evk as _;
+use std::{net::UdpSocket, thread};
+
fn main() {
+ thread::scope(|scope| {
+ thread::Builder::new()
+ .stack_size(512)
+ .spawn_scoped(scope, count)
+ .unwrap();
+
+ udp_loopback();
+ })
+}
+
+fn count() -> ! {
let mut count = 0_usize;
loop {
println!("Hello world! The count is {count}");
@@ -8,3 +21,18 @@ fn main() {
std::thread::sleep(std::time::Duration::from_millis(500))
}
}
+
+fn udp_loopback() -> ! {
+ let mut buffer = [0_u8; 1024];
+ let socket = UdpSocket::bind("192.168.5.1:5678").unwrap();
+ loop {
+ let (amt, src) = socket.recv_from(&mut buffer).unwrap();
+ let msg = &buffer[..amt];
+ println!(
+ "Received {amt} bytes from {src}: \"{}\"",
+ str::from_utf8(msg).unwrap()
+ );
+
+ socket.send_to(msg, &src).unwrap();
+ }
+}