use ddp_rs::connection;
use ddp_rs::protocol;
fn main() {
let args: Vec<String> = std::env::args().collect();
if args.len() < 3 {
eprintln!("Usage: {} <ip_address> <num_leds>", args[0]);
std::process::exit(1);
}
let ip_address = &args[1];
let target_address = format!("{}:4048", ip_address);
let num_leds_str = &args[2];
let num_leds: usize = num_leds_str
.parse()
.expect("Failed to parse num_leds as a number");
let mut conn = connection::DDPConnection::try_new(
&target_address,
protocol::PixelConfig::default(),
protocol::ID::Default,
std::net::UdpSocket::bind("0.0.0.0:4048").unwrap(),
)
.unwrap();
loop {
for i in 0..num_leds {
let mut leds: Vec<u8> = vec![0; num_leds * 3];
leds[i * 3] = 255u8;
conn.write(&leds).unwrap();
std::thread::sleep(std::time::Duration::from_millis(10));
}
}
}