32 lines
		
	
	
	
		
			867 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
	
		
			867 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
//! A simple example for how to send pixel data to the display.
 | 
						|
 | 
						|
use clap::Parser;
 | 
						|
use servicepoint::{
 | 
						|
    Bitmap, BitmapCommand, Grid, UdpSocketExt, FRAME_PACING, PIXEL_HEIGHT,
 | 
						|
    PIXEL_WIDTH,
 | 
						|
};
 | 
						|
use std::{net::UdpSocket, thread};
 | 
						|
 | 
						|
#[derive(Parser, Debug)]
 | 
						|
struct Cli {
 | 
						|
    #[arg(short, long, default_value = "localhost:2342")]
 | 
						|
    destination: String,
 | 
						|
}
 | 
						|
 | 
						|
fn main() {
 | 
						|
    let connection = UdpSocket::bind(Cli::parse().destination)
 | 
						|
        .expect("could not connect to display");
 | 
						|
 | 
						|
    let mut bitmap = Bitmap::max_sized();
 | 
						|
    for x_offset in 0..usize::MAX {
 | 
						|
        bitmap.fill(false);
 | 
						|
 | 
						|
        for y in 0..PIXEL_HEIGHT {
 | 
						|
            bitmap.set((y + x_offset) % PIXEL_WIDTH, y, true);
 | 
						|
        }
 | 
						|
 | 
						|
        let command = BitmapCommand::from(bitmap.clone());
 | 
						|
        connection.send_command(command).expect("send failed");
 | 
						|
        thread::sleep(FRAME_PACING);
 | 
						|
    }
 | 
						|
}
 |