Skip to content
Snippets Groups Projects
Commit b571b9f7 authored by Robert Hedman's avatar Robert Hedman
Browse files

Updated server and mapper to support real lidar messages.

parent d01622d5
No related branches found
No related tags found
No related merge requests found
......@@ -33,20 +33,48 @@ fn main() {
let server = thread::spawn(|| {
let listener = TcpListener::bind(LIDAR_ADDRESS).unwrap();
let mut stream;
let mut message = [0u8; 2];
match listener.accept() {
Ok((socket, addr)) => {
println!("server: new client: {:?}", addr); stream=socket;
thread::sleep(time::Duration::new(1,0));
loop {
match stream.read_exact(&mut message) {
Ok(_) => {println!("server got: {} {}", message[0], message[1]);
let mut message: [u8; 2048] = [0; 2048];
let mut message_len = 0;
let mut recording = false;
for r in stream.try_clone().expect("stream clone failed").bytes() {
match r {
Ok(b) => {
if b == 2 {
//println!("Server found start of message");
message[message_len] = b;
recording = true;
message_len+=1;
}
else if b == 3 {
message[message_len] = b;
message_len+=1; // since length now is total bytes, not index
//println!("Server found end of message");
println!("Server got: {:?}", String::from_utf8_lossy(&message[0..message_len]));
let written_size = stream.write(&[69 as u8, 96 as u8]);
println!("server wrote {:?} to stream.", written_size);
// reset everything for next message.
recording = false;
message_len = 0;
//break;
}
else if recording {
message[message_len] = b;
message_len+=1;
}
},
Err(e) => {println!("Some error in readToString in swerver: {}", e)},
Err(_) => {},
}
}
},
Err(e) => println!("couldn't get client: {:?}", e),
}
......@@ -131,7 +159,7 @@ fn main() {
// request lidar data
//thread::sleep(time::Duration::new(3,0));
let _ = stream.write_all("\x02sRN LMDscandata\x03");
let _ = stream.write_all(b"\x02sRN LMDscandata\x03");
let stream_write_response = stream.write(&[65 as u8, 66 as u8]);
println!("mapper wrote {:?} to stream.", stream_write_response);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment