diff --git a/outside/Cargo.lock b/outside/Cargo.lock index f584e62..1e4f0e4 100644 --- a/outside/Cargo.lock +++ b/outside/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "aead" @@ -126,6 +126,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + [[package]] name = "base64" version = "0.21.7" @@ -254,6 +260,12 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "const-default" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b396d1f76d455557e1218ec8066ae14bba60b4b36ecd55577ba979f5db7ecaa" + [[package]] name = "const-oid" version = "0.9.6" @@ -801,6 +813,18 @@ dependencies = [ "log", ] +[[package]] +name = "embedded-alloc" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f2de9133f68db0d4627ad69db767726c99ff8585272716708227008d3f1bddd" +dependencies = [ + "const-default", + "critical-section", + "linked_list_allocator", + "rlsf", +] + [[package]] name = "embedded-graphics" version = "0.7.1" @@ -1419,6 +1443,12 @@ dependencies = [ "libc", ] +[[package]] +name = "linked_list_allocator" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" + [[package]] name = "litrs" version = "0.4.1" @@ -1561,6 +1591,7 @@ dependencies = [ "embassy-time", "embassy-usb", "embassy-usb-logger", + "embedded-alloc", "embedded-graphics", "embedded-hal 1.0.0", "embedded-hal-async", @@ -1880,7 +1911,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66584b58c3b0cd8cfea750408a932fe86df79ee05ccc87ee745a8e6be4a1abe0" dependencies = [ - "base64", + "base64 0.21.7", "buffered-io", "defmt", "embedded-io", @@ -1904,6 +1935,18 @@ dependencies = [ "bytemuck", ] +[[package]] +name = "rlsf" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222fb240c3286247ecdee6fa5341e7cdad0ffdf8e7e401d9937f2d58482a20bf" +dependencies = [ + "cfg-if", + "const-default", + "libc", + "svgbobdoc", +] + [[package]] name = "rp-pac" version = "6.0.0" @@ -2155,6 +2198,19 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +[[package]] +name = "svgbobdoc" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2c04b93fc15d79b39c63218f15e3fdffaa4c227830686e3b7c5f41244eb3e50" +dependencies = [ + "base64 0.13.1", + "proc-macro2", + "quote", + "syn 1.0.109", + "unicode-width", +] + [[package]] name = "syn" version = "1.0.109" diff --git a/outside/src/main.rs b/outside/src/main.rs index 76c4426..e52a7e3 100644 --- a/outside/src/main.rs +++ b/outside/src/main.rs @@ -98,7 +98,7 @@ fn panic( info: &PanicInfo) -> ! { #[embassy_executor::main] async fn main(spawner: Spawner) { let p = embassy_rp::init(Default::default()); - let data_0= Input::new(p.PIN_18, embassy_rp::gpio::Pull::None); + let data_0= Input::new(p.PIN_17, embassy_rp::gpio::Pull::None); let data_1= Input::new(p.PIN_16, embassy_rp::gpio::Pull::None); let mut rng = RoscRng; @@ -155,11 +155,11 @@ async fn main(spawner: Spawner) { defmt::unwrap!(spawner.spawn(net_task(runner))); - control.start_ap_wpa2(include_str!("../../ssid"), include_str!("../../password"), 5).await; + control.start_ap_wpa2("🐟", "ilcougars1234", 5).await; let mut uart_buf = [0; 4096]; - //spawner.spawn(data_extractor()).unwrap(); + spawner.spawn(data_extractor()).unwrap(); let mut partial: u64 = 0; let mut bit: u8 = 0; @@ -195,7 +195,7 @@ async fn main(spawner: Spawner) { } }); - //defmt::unwrap!(spawner.spawn(send_badge(CHANNEL.receiver(),stack))); + defmt::unwrap!(spawner.spawn(send_badge(CHANNEL.receiver(),stack))); let mut rx_buffer = [0; 4096]; let mut tx_buffer = [0; 4096]; @@ -209,10 +209,12 @@ async fn main(spawner: Spawner) { } info!("connected"); - control.gpio_set(0, true).await; - info!("connected"); + info!("epick"); + //control.gpio_set(0, true).await; + Timer::after_millis(20).await; + info!("connected 2"); //info!("Received connection from {:?}", socket.remote_endpoint()); - info!("connected"); + info!("connected 3"); loop { if socket.read_ready().unwrap() { @@ -234,29 +236,34 @@ async fn main(spawner: Spawner) { #[embassy_executor::task] async fn send_badge(channel: Receiver<'static,CriticalSectionRawMutex,u64,1>,stack: embassy_net::Stack<'static>) -> ! { - let mut rx_buffer = [0; 512]; - let mut tx_buffer = [0; 512]; + let mut rx_buffer = [0; 4096]; + let mut tx_buffer = [0; 4096]; loop { let card = channel.receive().await; let mut socket = TcpSocket::new(stack, &mut rx_buffer, &mut tx_buffer); socket.set_timeout(Some(Duration::from_secs(10))); info!("attempting conn to inside"); - if let Err(e) = socket.connect(IpEndpoint::new(Ipv4Address::new(169, 254, 1, 1).into_address(), 1234)).await { + if let Err(e) = socket.connect(IpEndpoint::new(Ipv4Address::new(169, 254, 2, 2).into_address(), 4595)).await { warn!("connect error: {:?}", e); continue; } info!("Connected to {:?}", socket.remote_endpoint()); - let mut data: [u8;18] = [b' ';18]; + let mut data: [u8;18] = [b'0';18]; data[0] = b'B'; data[1] = b' '; hex::encode_to_slice(&card.to_ne_bytes(), &mut data[2..]).unwrap(); + info!("data: {:?}", data); + + //socket.write_all(b"O \r\n").await.unwrap(); + socket.write_all(&data).await.unwrap(); info!("wrote to {:?}", socket.remote_endpoint()); socket.close(); + info!("disconnected"); } }