#![allow(unused_imports)]
use rust_ads_client::client::Client;
use ads_proto::proto::{
ads_transition_mode::AdsTransMode,
ams_address::{AmsAddress, AmsNetId},
};
use std::net::Ipv4Addr;
fn main() {
let ams_address = AmsAddress::new(AmsNetId::new(192, 168, 0, 150, 1, 1), 851);
let mut client = Client::new(ams_address, None);
client.connect().expect("Failed to connect!");
let var = "Main.counter";
let len = 2;
let rx = client
.add_device_notification(var, len, AdsTransMode::OnChange, 1, 1)
.unwrap();
println!("Receive data...\n");
let mut list = Vec::new();
for _ in 1..10 {
let result = rx.recv();
if let Ok(r) = result.unwrap() {
list.push(r.ads_stamp_headers);
}
}
println!("Print revceived data:\n");
for r in list {
println!("{:?}", r);
}
println!("\nDelete the notification");
let response = client.delete_device_notification(var);
println!("{:?}", response);
}