|  | @@ -1,18 +1,24 @@
 | 
	
		
			
				|  |  |  mod sensors;
 | 
	
		
			
				|  |  |  mod comm;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -use comm::Channel;
 | 
	
		
			
				|  |  | +use comm::{Channel, Message};
 | 
	
		
			
				|  |  |  use std::io;
 | 
	
		
			
				|  |  |  use std::sync::mpsc;
 | 
	
		
			
				|  |  |  use std::thread;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  fn main() {
 | 
	
		
			
				|  |  | -    let (tx, rx) = mpsc::channel::<String>();
 | 
	
		
			
				|  |  | +    let (tx, rx) = mpsc::channel::<Message>();
 | 
	
		
			
				|  |  |      make_thread(&tx, stdin);
 | 
	
		
			
				|  |  |      make_thread(&tx, sensors::sensors);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    let mut data;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      loop {
 | 
	
		
			
				|  |  | -        println!("%{{r}}{}", rx.recv().ok().unwrap());
 | 
	
		
			
				|  |  | +        let msg = rx.recv().unwrap();
 | 
	
		
			
				|  |  | +        match msg {
 | 
	
		
			
				|  |  | +            Message { text, .. } => data = text,
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        println!("%{{r}}{}", data);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -27,7 +33,6 @@ fn stdin(tx: &Channel) {
 | 
	
		
			
				|  |  |      let mut line = String::new();
 | 
	
		
			
				|  |  |      loop {
 | 
	
		
			
				|  |  |          io::stdin().read_line(&mut line).ok().expect("Failed to read line");
 | 
	
		
			
				|  |  | -        tx.send(line.clone()).ok().expect("Couldn't send data");
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 |