1extern crate frcds;
2
3use std::thread;
4
5use frcds::RoboRio;
6use frcds::ds_to_rio::udp::*;
7use frcds::ds_to_rio::udp::tags::*;
8use frcds::rio_to_ds::udp::UdpInPacket;
9
10use std::time::Duration;
11
12fn main() {
13
14 let control = Control::AUTONOMOUS | Control::ENABLED;
15 let request = Request::empty();
16 let alliance = Alliance::Red(1);
17 let tags: Vec<Box<Tag>> = vec!(Box::new(Countdown(35.00001)));let mut buf = [0; 20];
20
21 let mut udp = UdpOutPacket {
22 sequence: 0,
23 comm_version: 0x01,
24 control,
25 request,
26 alliance,
27 tags,
28 };
29
30
31 let rio = RoboRio::new(5119).unwrap();
32 println!("{}", rio.target_ip);
33 loop {
34 rio.send_udp(udp.next()).unwrap();
35 rio.recv_udp(&mut buf).unwrap();
36 println!("{:?}", UdpInPacket::decode(&mut buf));
37 thread::sleep(Duration::from_millis(20));
38 }
39}