diff --git a/Cargo.lock b/Cargo.lock index 0ff0bbb..a72ceb7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2620,7 +2620,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" dependencies = [ "lock_api 0.3.4", - "parking_lot_core 0.6.2", + "parking_lot_core 0.6.3", "rustc_version", ] @@ -2636,9 +2636,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" +checksum = "bda66b810a62be75176a80873726630147a5ca780cd33921e0b5709033e66b0a" dependencies = [ "cfg-if 0.1.10", "cloudabi", @@ -2701,7 +2701,7 @@ name = "pix_space" version = "0.1.0" dependencies = [ "bevy", - "bytes 1.3.0", + "bytes 0.4.12", "rand 0.8.5", "vrpn", ] @@ -3094,18 +3094,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.149" +version = "1.0.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "256b9932320c590e707b94576e3cc1f7c9024d0ee6612dfbcf1cb106cbe8e055" +checksum = "e326c9ec8042f1b5da33252c8a37e9ffbd2c9bef0155215b6e6c80c790e05f91" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.149" +version = "1.0.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4eae9b04cbffdfd550eb462ed33bc6a1b68c935127d008b27444d08380f94e4" +checksum = "42a3df25b0713732468deadad63ab9da1f1fd75a48a15024b50363f128db627e" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 85f84a9..4815728 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ bevy = { version = "0.9.1", features = ["dynamic"] } rand = "0.8.4" # vrpn = "0.1.0" # not compatible with 2021 vrpn = { git = "https://github.com/seichter/vrpn-rs" } -bytes = "1.3.0" +bytes = "0.4.12" [profile.release] opt-level = 3 \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index 01e26e3..dcb0af0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -48,7 +48,7 @@ fn main() { .add_startup_system(offaxis_camera_setup) .add_startup_system(setup_tracker) - // .add_system(update_tracker) + .add_system(update_tracker) .add_plugin(CameraProjectionPlugin::::default()) .add_system(simulate_viewer) diff --git a/src/tracker.rs b/src/tracker.rs index 1a64fc6..6354d63 100644 --- a/src/tracker.rs +++ b/src/tracker.rs @@ -75,15 +75,22 @@ impl Tracker { pub fn update(&mut self) -> vrpn::Result<()> { + let mut buf = BytesMut::new(); // Read the message header and padding buf.resize(24, 0); self.stream.read_exact(buf.as_mut())?; + // Peek the size field, to compute the MessageSize. + + // let buf = buf.freeze(); + let total_len = peek_u32(&buf.clone().freeze())?.unwrap(); + // let total_len = peek_u32(&buf)?.unwrap(); let size = MessageSize::from_length_field(total_len); + // Read the body of the message let mut body_buf = BytesMut::new(); @@ -96,23 +103,25 @@ impl Tracker { // Unbuffer the message. let unbuffered = SequencedGenericMessage::unbuffer_ref(&mut buf)?; - eprintln!("{:?}", Message::from(unbuffered)); - + + // eprintln!("{:?}", Message::from(unbuffered)); + info!("{:?}", Message::from(unbuffered)); + Ok(()) } } pub fn setup_tracker(mut commands: Commands) { - // commands.spawn(Tracker::from_info("127.0.0.1", 3883)); + commands.spawn(Tracker::from_info("127.0.0.1", 3883)); } -// pub fn update_tracker(mut query:Query<&mut Tracker>) -// { -// for mut tracker in query.iter_mut() { +pub fn update_tracker(mut query:Query<&mut Tracker>) +{ + for mut tracker in query.iter_mut() { -// // tracker.update(); + tracker.update(); -// // tracker.connection.poll_endpoints(); -// // tracker -// } -// } + // tracker.connection.poll_endpoints(); + // tracker + } +}